typescript-transform-paths is a TypeScript transformer plugin that resolves module specifiers using tsconfig path mappings and custom transformation rules. It operates during TypeScript compilation to rewrite import/export paths in emitted JavaScript and declaration files, supporting features like virtual directories (rootDirs), exclusion patterns, and type-only import elision. The architecture centers around a visitor pattern that traverses the AST, resolving module names via TypeScript's resolver and adjusting paths based on compiler options. Key entry points include the main transformer (src/transformer.ts) and an Nx adapter (src/plugins/nx.ts). The tool integrates with ts-patch, ts-node, or build systems to enable path transformation without requiring changes to source code.
This repository is a polyglot web converter application built with Next.js. It provides a large collection of code transformations (e.g., JSON to TypeScript, SVG to JSX, GraphQL to Resolvers, HTML to Pug, etc.) in a user-friendly two-pane editor interface. The architecture is a monolith with each transformation implemented as a separate page under `pages/`, all sharing a common `ConversionPanel` component that manages the input/output editors, web workers for heavy processing, and server-side API routes for a few transforms that require Node.js native modules. External dependencies include numerous npm libraries for the actual conversion logic (e.g., `json_typegen_wasm`, `@svgr/core`, `graphql-codegen`), the Monaco editor for code editing, and the evergreen-ui component library for the UI. The application uses web workers extensively (via a custom `workerWrapper` utility) to offload CPU-intensive conversions off the main thread, ensuring a responsive UI. Data flows from the user's input editor, through a transformer function (which may call a web worker or an API endpoint), and into the output editor, with results automatically formatted by Prettier. The codebase is well-structured with a consistent pattern for each converter, making it straightforward to add new transformations.
Rerun is a command-line utility that automatically restarts a program when relevant files in a watched directory change. It wraps the Listen gem to efficiently monitor the filesystem and supports graceful process termination via configurable signal sequences (default TERM, INT, KILL). The tool provides real-time keypress commands (restart, force restart, clear, pause, quit) and optional desktop notifications via growlnotify, terminal-notifier, or notify-send. The codebase is a single Ruby gem with a CLI entry point (bin/rerun) and a clear separation of concerns: Runner for process management, Watcher for filesystem listening, Options for CLI parsing, and Notification for cross-platform alerts. It was last actively developed around 2014-2018, with a documented version 0.14.0 in 2023, but open issues and pull requests from 2014 suggest it is no longer maintained.