Civet is a full-featured compiler and language server for a CoffeeScript-like language that transpiles to TypeScript/JavaScript. It provides a CLI, bundler plugins (Vite, Webpack, esbuild, Rollup, etc.), Babel plugin, ESLint plugin, ESM loader, and browser script runner. The core compiler implements advanced features like pattern matching, pipe operators, JSX enhancements, and compile-time evaluation. The language server (LSP) delivers IDE features including diagnostics, completions, go-to-definition, hover, and rename across VS Code, Sublime Text, Zed, and Monaco. The repository is structured as a monorepo with the compiler in `source/`, a standalone LSP server in `lsp/server/`, editor extensions, tree-sitter grammars, and a documentation site at civet.dev. Notable architecture includes a PEG grammar parser (Hera), source map composition utilities, an in-memory TypeScript service host, and a worker pool for parallel compilation. The test suite enforces 100% coverage gates, ensuring high reliability. Civet demonstrates strong engineering practices: self-hosting compiler, comprehensive golden tests, CI/CD pipelines, and a modular plugin system for bundlers. While complexity arises from supporting many editor integrations and bundler adapters, the core compiler and LSP are cleanly separated. The project is actively maintained with frequent releases and community contributions.
This repository implements a Language Server Protocol (LSP) server for PureScript. It provides editing assistance features like code completion, go-to-definition, diagnostics, code actions, formatting, and refactoring by wrapping the PureScript IDE server (purs ide server). The architecture is modular with clear separation between core LSP logic, PureScript-specific integrations, and protocol implementations. Key entry points include main.js and src/LanguageServer/IdePurescript/Main.purs. The server communicates with editors/IDEs via JSON-RPC and manages its own purs ide server process for language services. It supports build integration, dependency tracking, and provides rich language features through sophisticated completion ranking and export management systems.
prettierd is a daemonized wrapper around Prettier that avoids Node.js startup overhead by running Prettier as a persistent background process (using core_d.js). It provides a CLI interface that pipes file content to the daemon, which resolves the appropriate Prettier version (local or bundled), loads configuration (with support for .prettierrc, editorconfig, and environment-driven defaults), and returns formatted output. The architecture is a single daemon per working directory, managed through core_d. Key entry points are the shell script `bin/prettierd` and TypeScript modules `src/prettierd.ts` (CLI orchestration) and `src/service.ts` (formatting logic). The service module handles Prettier resolution, config precedence, argument parsing, and formatting/checking tasks. It supports TypeScript config files via Node.js experimental strip-types. The codebase is clean, well-structured TypeScript with strict compiler settings, and though it has no test suite, CI verifies build and daemon startup across multiple platforms and Node versions.