• Used Babel Parser to build an Abstract Syntax Tree that efficiently uses AST tokens and text nodes to parse the user’s files in the extension’s Node.js run-time.
• Incorporated TypeScript for both the front-end and back-end to avoid type errors, discover errors at compile-time rather than run-time, and improve codebase documentation.
• Instituted the container pattern and used Hooks to create reusable React elements that allow for coherent component hierarchy and simple prop inheritance.
• Utilized the resource abundant VS Code API to add multiple features and tools, including the ability to persist state, communicate with the front-end, and interact with the user’s active workspace.
• Converted the VS Code sidebar into a fully customizable view using VS Code Webview, which granted unlimited creative freedom to use any front-end frameworks, libraries, and tools with minimal performance downsides.
• Created tree visualization using CSS; heavily relied on ‘before’ and ‘after’ pseudo-elements to allow for effective functionality of checkbox features, which permit more flexibility than a third-party visualization framework.
• Applied TDD by creating Mocha/Chai test suites for both the parser functionality and the extension itself; in addition, incorporated the tests into a CI/CD workflow using GitHub Actions.