{"library":"oniguruma-parser","title":"Oniguruma Regular Expression Parser","description":"The `oniguruma-parser` library provides a robust TypeScript solution for working with Oniguruma regular expressions, offering functionalities such as parsing, validation, AST traversal, transformation, and optimization. The current stable version is 0.12.2, with minor releases frequently introducing new features like optimizer improvements (v0.12.1), support for new flags (v0.12.0), and quality-of-life enhancements for AST manipulation (v0.10.0). Its primary distinction lies in its deep understanding and accurate representation of the Oniguruma regex engine's specific syntax and semantics, which differs from standard ECMAScript regexes. It is widely utilized and battle-tested in critical projects like `Oniguruma-To-ES` and `tm-grammars`, which process tens of thousands of real-world Oniguruma regexes for tools such as VS Code and Shiki, ensuring high fidelity and reliability for TextMate grammars, Ruby, and PHP environments.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install oniguruma-parser"],"cli":null},"imports":["import { toOnigurumaAst } from 'oniguruma-parser';","import { parse } from 'oniguruma-parser/parser';","import { traverse } from 'oniguruma-parser/traverser';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { toOnigurumaAst } from 'oniguruma-parser';\n\nconst pattern = '^(?:foo|bar)a?([A-Z]+)*\\\\d';\nconst ast = toOnigurumaAst(pattern, {\n  flags: 'im',\n  rules: {\n    captureGroup: true,\n    singleline: false\n  }\n});\n\nconsole.log(`Parsed AST for pattern '${pattern}':`);\nconsole.log(JSON.stringify(ast, null, 2));\n/* Example of a simplified output structure:\n{\n  \"type\": \"Regex\",\n  \"body\": [\n    {\n      \"type\": \"Alternative\",\n      \"body\": [\n        {\n          \"type\": \"Assertion\",\n          \"kind\": \"line_start\"\n        },\n        // ... more nodes\n      ]\n    }\n  ],\n  \"flags\": {\n    \"type\": \"Flags\",\n    \"ignoreCase\": true,\n    \"dotAll\": false,\n    // ... more flags\n  }\n}\n*/","lang":"typescript","description":"Parses an Oniguruma regular expression pattern into its Abstract Syntax Tree (AST) representation, demonstrating basic usage with flags and compile-time rules.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}