tree-sitter-typescript VS tree-sitter-module

Compare tree-sitter-typescript vs tree-sitter-module and see what are their differences.

tree-sitter-module

Building script for tree-sitter language definitions (by casouri)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
tree-sitter-typescript tree-sitter-module
10 10
312 157
3.2% -
6.7 7.2
19 days ago 23 days ago
JavaScript Shell
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

tree-sitter-typescript

Posts with mentions or reviews of tree-sitter-typescript. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-14.
  • Let's write an Emacs treesitter major mode
    7 projects | news.ycombinator.com | 14 Sep 2023
  • How to make `goto_next_test` and `goto_prev_test` work?
    2 projects | /r/HelixEditor | 20 May 2023
    I believe goto_next_test requires support from the tree-sitter parser, specifically tree-sitter-javascript in the case of JS and tree-sitter-typescript in the case of TS.
  • Emacs and Java Development: Corfu + Cape + LSP-Mode + Treesit
    21 projects | /r/emacs | 19 May 2023
    (use-package treesit :ensure nil :custom ;; Some stuff taken from here: https://robbmann.io/posts/emacs-treesit-auto/ (treesit-extra-load-path '("/usr/lib64/")) (treesit-language-source-alist '((bash . ("https://github.com/tree-sitter/tree-sitter-bash")) (c . ("https://github.com/tree-sitter/tree-sitter-c")) (c++ . ("https://github.com/tree-sitter/tree-sitter-cpp")) (csharp . ("https://github.com/tree-sitter/tree-sitter-c-sharp")) (css . ("https://github.com/tree-sitter/tree-sitter-css")) (elixir ("https://github.com/elixir-lang/tree-sitter-elixir")) (html . ("https://github.com/tree-sitter/tree-sitter-html")) (java . ("https://github.com/tree-sitter/tree-sitter-java")) (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript")) (json . ("https://github.com/tree-sitter/tree-sitter-json")) (lua . ("https://github.com/Azganoth/tree-sitter-lua")) (makefile . ("https://github.com/alemuller/tree-sitter-make")) (org . ("https://github.com/milisims/tree-sitter-org")) (python . ("https://github.com/tree-sitter/tree-sitter-python")) (tsx . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")) (typescript . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src")) (ruby . ("https://github.com/tree-sitter/tree-sitter-ruby")) (rust . ("https://github.com/tree-sitter/tree-sitter-rust")) (sql . ("https://github.com/m-novikov/tree-sitter-sql")) (toml . ("https://github.com/tree-sitter/tree-sitter-toml")) (yaml . ("https://github.com/ikatyang/tree-sitter-yaml")))) (major-mode-remap-alist '((c-mode . c-ts-mode) (c++-mode . c++-ts-mode) (csharp-mode . csharp-ts-mode) (css-mode . css-ts-mode) (html-mode . html-ts-mode) (java-mode . java-ts-mode) (js-mode . js-ts-mode) (json-mode . json-ts-mode) (makefile-mode . makefile-ts-mode) ;; (org-mode . org-ts-mode) ;; not mature yet (python-mode . python-ts-mode) (typescript-mode . typescript-ts-mode) (ruby-mode . ruby-ts-mode) (rust-mode . rust-ts-mode) (toml-mode . toml-ts-mode) (yaml-mode . yaml-ts-mode))) (treesit-auto-fallback-alist '((toml-ts-mode . conf-toml-mode) (typescript-ts-mode . nil) (tsx-ts-mode . nil))) (treesit-font-lock-settings t) (treesit-simple-indent t) (treesit-defun-type-regexp t)) (use-package treesit-auto :demand t :config (setq treesit-auto-install t) (global-treesit-auto-mode))
  • Building tree-sitter languages for Emacs
    20 projects | /r/emacs | 30 Dec 2022
  • Is there an official language spec and/or lexical grammar for TS?
    6 projects | /r/typescript | 4 Apr 2022
    If you need to do efficient AST operations, have you considered treesitter? There is a typescript grammar available https://github.com/tree-sitter/tree-sitter-typescript
  • tree-sitter-typescript: TypeScript grammar for tree-sitter
    1 project | /r/planetemacs | 30 Jan 2022
  • Really sick of the shoddy jsx/tsx handling....would anyone be willing to help me write a major-mode for it?
    2 projects | /r/emacs | 24 Jan 2022
    I am curious though, why did you write your own indentation tool? (It works super well btw, amazing work) I thought tree-sitter supported tsx (and found repos like this) so just wondering if you tried those and they didn't work so you wrote your own.
  • Treesitter : Proposal for more precise syntax highlighting
    1 project | /r/neovim | 11 Aug 2021
    Please have a look at it - https://github.com/tree-sitter/tree-sitter-typescript/issues/177
  • Plugins to help writing a new tree-sitter parser?
    3 projects | /r/neovim | 27 Jul 2021
    You can see a much more in-depth version at https://github.com/tree-sitter/tree-sitter-typescript or https://github.com/tree-sitter/tree-sitter-rust
  • Help Fixing Plugin ( Syntax Plugin ) + RegEx
    4 projects | /r/vim | 16 Jul 2021
    https://github.com/nvim-treesitter/nvim-treesitter https://github.com/tree-sitter/tree-sitter-typescript

tree-sitter-module

Posts with mentions or reviews of tree-sitter-module. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-14.
  • Let's write an Emacs treesitter major mode
    7 projects | news.ycombinator.com | 14 Sep 2023
    BTW:

    While Emacs 29.1 comes with "treesitter" built-in, you still need to manually build and install any treesitter language plugin implementing the actual language specific parser. This can be fiddly and frustrating doing it yourself.

    I had a quick success with using this convenience script: https://github.com/casouri/tree-sitter-module/. It provides fully-automated builds for the most popular languages (including typescript, c and c++).

    This is how it works for "typescript":

    1. Clone the repository: https://github.com/casouri/tree-sitter-module/

    2. Install "build-essentials" (providing a c/c++ compiler if you're on Linux).

    3. run "./build typescript" from within the repo

    4. Copy the resulting shared library from "dist/libtree-sitter-typescript.so" into your "~/.emacs.d/tree-sitter/".

    5. Open a random typescript file and try "M-x typescript-ts-mode" which should not give you any error but instead nice syntax highlighting.

    You might find there is a treesitter plugin for your language available and it is even supported by "tree-sitter-module" but there is still no major mode, yet. Happened to me for Perl 5.

  • Mastering Emacs: What's new in Emacs 29.1
    6 projects | news.ycombinator.com | 7 Sep 2023
    I will look into building my own tree sitter grammars using https://github.com/casouri/tree-sitter-module as you suggest.

    Some time ago I followed this guide https://vxlabs.com/2022/06/12/typescript-development-with-em...

  • Getting Emacs 29 to Automatically Use Tree-sitter Modes ยท robbmann
    2 projects | /r/emacs | 22 Jan 2023
    ;; FIRST: git clone https://github.com/casouri/tree-sitter-module ;; bash batch.sh ;; THEN : sudo cp dist/* /usr/local/lib ;; FINALLY: (setq treesit-extra-load-path '("/usr/local/lib")) ;; Treesit ;; Eglot (setq treesit-eglot-modes '((:ts (bash-mode . bash-ts-mode) :pacman "bash-language-server") (:ts (c++-mode . c++-ts-mode) :pacman "ccls") (:ts (c-mode . c-ts-mode) :pacman "ccls") (:ts (cpp-mode . cpp-ts-mode) :pacman "ccls") (:ts (c-sharp-mode . sharp-ts-mode)) (:ts (cmake-mode . cmake-ts-mode)) (:ts (css-mode . css-ts-mode) :pacman "vscode-css-languageserver") (:ts (dockerfile-mode . dockerfile-ts-mode)) (:ts (elixir-mode . elixir-ts-mode)) (:ts (glsl-mode . glsl-ts-mode)) (:ts (go-mode . go-ts-mode) :pacman "gopls") (:ts (heex-mode . heex-ts-mode)) (:ts (html-mode . html-ts-mode) :pacman "vscode-html-languageserver") (:ts (java-mode . java-ts-mode)) (:ts (javascript-mode . js-ts-mode) :pacman "typescript-language-server") (:ts (js-json-mode . json-ts-mode) :pacman "vscode-json-languageserver") (:ts (julia-mode . julia-ts-mode)) (:ts (make-mode . make-ts-mode)) (:ts (markdown-mode . markdown-ts-mode)) (:ts (python-mode . python-ts-mode) :pacman "jedi-language-server") (:ts (typescript-mode . typescript-ts-mode) :pacman "typescript-language-server") (:ts (proto-mode . proto-ts-mode)) (:ts (ruby-mode . ruby-ts-mode)) (:ts (rust-mode . rust-ts-mode) :pacman "rust-analyzer") (:ts (sql-mode . sql-ts-mode)) (:ts (toml-mode . toml-ts-mode)) (:ts (tsx-mode . tsx-ts-mode)) (:ts (verilog-mode . verilog-ts-mode)) (:ts (vhdl-mode . vhdl-ts-mode)) (:ts (wgsl-mode . wgsl-ts-mode)) (:ts (yaml-mode . yaml-ts-mode) :pacman "yaml-language-server"))) ;; Not mature yet: ;; (push '(org-mode . org-ts-mode) major-mode-remap-alist) ;; (push '(perl-mode . perl-ts-mode) major-mode-remap-alist) ;; cpan Perl::LanguageServer (require 'treesit) ;; Function to parse the above and make an install command (if (treesit-available-p) (let ((pacman-install-list (list ))) (dolist (ts-pm treesit-eglot-modes) (let ((majmode-remap (plist-get ts-pm :ts)) (pacman-cmd (plist-get ts-pm :pacman))) ;; bind default major-mode to ts-mode (push majmode-remap major-mode-remap-alist) ;; populate install cmd (if pacman-cmd (unless (member pacman-cmd pacman-install-list) (push pacman-cmd pacman-install-list))))) (let ((install-cmd (concat "pacman -S --needed " (--reduce (concat acc " " it) pacman-install-list)))) (message install-cmd))) (user-error "Treesitter not available"))
  • tree-sitter-module: Building script for tree-sitter language definitions
    1 project | /r/planetemacs | 28 Dec 2022
  • Emacs 29: Install Tree-Sitter parser modules with a minor mode
    3 projects | /r/emacs | 26 Dec 2022
    Also this https://github.com/casouri/tree-sitter-module/issues/13
  • Do I still need to install tree-sitter manually, for native tree-sitter in emacs29 to work?
    2 projects | /r/emacs | 20 Dec 2022
    I've downloaded and generated the libraries for the various languages from: https://github.com/casouri/tree-sitter-module
  • Setup Eglot in Emacs29 to recognize Python virtualenv
    1 project | /r/emacs | 18 Dec 2022
    Third, I'm using tsitter in emacs29. I have https://github.com/casouri/tree-sitter-module installed as a sub-module in ~/.config/emacs, and have a symlink called tree-sitter to ./tree-sitter-module/dist (built by ./tree-sitter-module/batch.sh) . I'm mentioning the tsitter config here since I'm using python-ts-mode which is tree-sitter aware.
  • Is anyone working on a ruby tree sitter mode?
    1 project | /r/emacs | 6 Dec 2022
    I'd recommend checking out https://github.com/casouri/tree-sitter-module for building the native treesit libraries that are required to enable the various languages.
  • How to use Emacs 29 Tree-sitter?
    12 projects | /r/emacs | 3 Dec 2022
    The author of the built-in tree-sitter implementation has published this repo with a build script to help you build various grammars: https://github.com/casouri/tree-sitter-module

What are some alternatives?

When comparing tree-sitter-typescript and tree-sitter-module you can also consider the following projects:

tree-sitter-haskell - Haskell grammar for tree-sitter.

treesit-auto - Automatic installation, usage, and fallback for tree-sitter major modes in Emacs 29

nvim-treesitter - Nvim Treesitter configurations and abstraction layer

tree-sitter-langs - Language bundle for Emacs's tree-sitter package

swc - Rust-based platform for the Web

tree-sitter-c-sharp - C# Grammar for tree-sitter

tsi.el - treesitter-based indendentation for emacs 28 and 27

nvim-treesitter-textobjects

vim-jsx-typescript - React JSX syntax highlighting for vim and Typescript

git-sim - Visually simulate Git operations in your own repos with a single terminal command.

typescript-lan