UNPKG

ve-compiler-2.0

Version:

Upgraded version of this package - https://www.npmjs.com/package/ve-compiler

93 lines (63 loc) โ€ข 2.16 kB
# ve-compiler-2.0 > An upgraded and actively maintained version of the original [ve-compiler](https://www.npmjs.com/package/ve-compiler). `ve-compiler-2.0` is a versatile JavaScript package that allows you to compile and execute code snippets in multiple programming languages using a simple, unified API. It supports runtime inputs, error handling, and cleanup of temporary files for efficient execution. --- ## โœ… Features - **Multi-language support**: C, C++, Java, JavaScript, Python, Rust, Go, and Lua - **Runtime input support**: Pass custom input to your program during execution - **Error handling**: Detailed stderr feedback on compilation or runtime errors - **Temp file cleanup**: Enable or disable file cleanup after execution - **Cross-platform**: Works on Windows, macOS, and Linux --- ## ๐Ÿ“ฆ Installation ```bash npm install ve-compiler-2.0 ```` --- ## ๐Ÿš€ Usage ```js const { CompileFile } = require('ve-compiler-2.0'); (async () => { try { const result = await CompileFile("cpp", ` #include <iostream> using namespace std; int main() { string input; getline(cin, input); cout << "Received: " << input << endl; return 0; } `, "Hello World"); console.log(result.stdout); // Received: Hello World } catch (err) { console.error(err.message); } })(); ``` --- ## ๐ŸŒ Supported Language Codes | Language | Code | | ---------- | ------ | | C | `c` | | C++ | `cpp` | | Java | `java` | | JavaScript | `js` | | Python | `py` | | Rust | `rs` | | Go | `go` | | Lua | `lua` | --- ## ๐Ÿงน Cleanup Option To keep the `codebase` directory empty after execution: ```js await CompileFile("py", `print("Hello")`, "", true); // cleanup = true ``` To retain generated files for debugging, pass `false` as the fourth argument. --- ## ๐Ÿ› ๏ธ Contributing Issues and pull requests are welcome! Help us improve and extend this compiler. --- ## ๐Ÿ”” Note The **Input handling bug** has been resolved in version `2.0`. The compiler now supports standard input for all supported languages. ---