Skip to content

siimsek/codelly

Repository files navigation

codelly

codelly is a Node.JS module for online compiling. Based on Compilex.

Supported Languages

Language Support
C âś”
C++ âś”
Java âś”
Python âś”
C# âś”
Visual Basic âś”
Rust âś”
GO âś”
PHP âś”
Swift âś”

Setting Up Compilers

C and C++

  1. Windows : MinGw-w64
  2. Linux : GCC

Java

  1. Windows - Linux : JDK

Python

  1. Windows - Linux : Python

C#

  1. Windows : .NET Framework
  2. Linux : Mono

Visual Basics

  1. Windows : .NET Framework

Rust

  1. Windows - Linux : Rust

GO

  1. Windows - Linux : GO

PHP

  1. Windows : PHP for Windows
  2. Linux : PHP for Linux

Swift

  1. Windows - Linux : Swift.org

Documentation

At first - Require
var  compiler  =  require('codelly');
var  options  = {stats : true}; //prints stats to console
compiler.init(options);
C and C++
//if windows
var  envData  = { OS : "windows" , cmd : "g++" ,options: {timeout:100000}}; // (uses g++ command to compile )
//else
var  envData  = { OS : "linux" , cmd : "gcc" }; // ( uses gcc command to compile )

//Without Input:
compiler.compileCPP(envData , code , function (data) {
	res.send(data);
	//data.error = error message
	//data.output = output value
});
//With Input
compiler.compileCPPWithInput(envData , code , input , function (data) {
	res.send(data);
});
Java
//if windows
var  envData  = { OS : "windows"};
//else
var  envData  = { OS : "linux" };

//Without Input:
compiler.compileJava( envData , code , function(data){
    res.send(data);
});
//With Input
compiler.compileJavaWithInput( envData , code , input , function(data){
    res.send(data);
});
Python
//if your server's python command is 'python'
var  envData  = { cmd : "python"};
//else if your server's python command is 'python3'
var  envData  = { OS : "python3" };

//Without Input:
compiler.compilePython( envData , code , function(data){
    res.send(data);
});
//With Input
compiler.compilePythonWithInput( envData , code , input , function(data){
    res.send(data);
});
C#
//if windows
var  envData  = { OS : "windows"};
//else
var  envData  = { OS : "linux" };

//Without Input:
compiler.compileCS( envData , code , function(data){
    res.send(data);
});
//With Input
compiler.compileCSWithInput( envData , code , input , function(data){
    res.send(data);
});
Visual Basic
var  envData  = { OS : "windows"};

//Without Input:
compiler.compileVB( envData , code , function(data){
    res.send(data);
});
//With Input
compiler.compileVBWithInput( envData , code , input , function(data){
    res.send(data);
});
Rust
//if windows
var  envData  = { OS : "windows"};
//else
var  envData  = { OS : "linux" };

//Without Input:
compiler.compileRust( envData , code , function(data){
    res.send(data);
});
//With Input
compiler.compileRustWithInput( envData , code , input , function(data){
    res.send(data);
});
GO
//if windows
var  envData  = { OS : "windows"};
//else
var  envData  = { OS : "linux" };

//Without Input:
compiler.compileGO( envData , code , function(data){
    res.send(data);
});
//With Input
compiler.compileGOWithInput( envData , code , input , function(data){
    res.send(data);
});
PHP
//if windows
var  envData  = { OS : "windows"};
//else
var  envData  = { OS : "linux" };

//Without Input:
compiler.compilePHP( envData , code , function(data){
    res.send(data);
});
//With Input
compiler.compilePHPWithInput( envData , code , input , function(data){
    res.send(data);
});
Swift
//if windows
var  envData  = { OS : "windows"};
//else
var  envData  = { OS : "linux" };

//Without Input:
compiler.compileSwift( envData , code , function(data){
    res.send(data);
});
//With Input
compiler.compileSwiftWithInput( envData , code , input , function(data){
    res.send(data);
});

Additionals:

Memory Management
compiler.flush(function(){
console.log('All temporary files flushed !');
});

Synchronous version of flush

compiler.flushSync();
Statistical Data
compiler.fullStat(function(data){
    res.send(data);
});

Licence

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

About

codelly is a Node.JS module for online compiling.

Resources

License

Stars

Watchers

Forks