CompilerJs
CompilerJs is Node JS library use to compile code for programming languages like C/C++, Java, Python.
Setting Up Compilers
In order to compile any programming language , you need to first have the compiler for that programming language in the server machine.
Documentation
1) Require compilerJs
const compilerJs = require('@00sukhjeet00/compilerjs');
compilerJs.init();
init() creates a folder named code in your project directory which is used for storage purpose.
Before using other methods , make sure to call init() method.
2) C and C++
const envData = { ext : "g++",options:{timeout:5000}}
const envData = { ext : "gcc", options:{timeout:5000} }
compilerJs.compileCPP(envData , code ,(data)=> {
console.log(data)
})
3) C and C++ with inputs
const envData = { ext : "g++",options:{timeout:5000}}
const envData = { ext : "gcc" ,options:{timeout:5000}};
compilerJs.compileCPPWithInput(envData , code , input , (data)=> {
console.log(data);
});
4) Java
var envData = { ext:"java" ,options:{timeout:5000} };
compilerJs.compileJava( envData , code ,(data)=>{
console.log(data);
});
5) Java with inputs
const envData = { ext:"java" ,options:{timeout:5000} };
compilerJs.compileJavaWithInput( envData , code , input ,(data)=>{
console.log(data);
});
6) Python
const envData = { ext:"py" ,options:{timeout:5000} };
compilerJs.compilePython( envData , code ,(data)=>{
console.log(data);
});
7) Python with inputs
const envData = { ext:"py" options: {timeout:5000} };
compilerJs.compilePythonWithInput( envData , code , input ,(data)=>{
console.log(data);
});
Timeout functionality
Timeout help to run program for particular time (in ms). It support window and linux system. Timeout can be used similarly in C/C++, Java, Python as showen below.
const envData={ ext: "py", options: {timeout:5000} }
Demo Code
Python:
const compilerJS = require('@00sukhjeet00/compilerjs')
compilerJs.init()
const envData = { ext: 'py', options: { timeout: 1000 } }
const code=`print('hello')`
compilerJs.compilePy(envData, code, (data) => {
if (data.error)
console.log(data.error)
else
{
if (data.timeout)
console.log('TLE')
else
console.log(data.out)
}
})
Similar code structure for other languages