Brute forcing conversion(generating) from C# to Javascript. This is a personal project with the goal of learning and understanding c# and js at the same time. Many stuff is not supported and some won't. Updates will be happening when I'm using this library.(irregular)
Nuget package | Website | Try it online! | CLI | VS Code Extension | VS Extension
namespace ConsoleAppTest.CSharp;
public class Test
{
public Test()
{
Console.WriteLine("HelloWorld!");
}
}
class Test
{
constructor()
{
console.log("HelloWorld!");
}
}
- 1 Create c# project or use existed one.
- 2 Install nuget package or Download a specific version(visit releases) or Download a master(Code-Local-Download ZIP).
- 3 Skip this if using Nuget package. Follow this to add reference to the project.
- 4 In the Main method add:
CSTOJS cstojs = new();
await cstojs.GenerateOneAsync("FULL PATH TO CSHARP FILE/FOLDER YOU WHAT TO CONVERT");
- 5 Run program and file will be generated in output path(default is "Directory.GetCurrentDirectory()") with name "|CS FILE NAME|.js"(default)
- 6 See below for simple example "HelloWorld"
Program.cs
using CSharpToJavaScript;
namespace ConsoleAppTest;
public class Program
{
public static async Task Main()
{
CSTOJS cstojs = new();
await cstojs.GenerateOneAsync("C:\\GitReps\\ConsoleAppTest\\CSharp\\Test.cs");
Console.ReadKey();
}
}
CSharp/Test.cs
using static CSharpToJavaScript.APIs.JS.GlobalObject;
namespace ConsoleAppTest.CSharp;
public class Test
{
public Test()
{
GlobalThis.Console.Log("HelloWorld!");
}
}
Above code will generate "Test.js" file that contains:
class Test
{
constructor()
{
globalThis.console.log("HelloWorld!");
}
}
More examples here. WIP!
-
More comments in code, especially in CSTOJSOptions - Wiki???????
-
Better and more examplesHere. WIP! -
Figure out how to do docs for apiDocs WIP! -
CLI?Here -
Visual Studio extension?Here -
Visual Studio Code extension??? Can I?Here
- Library for generating docs: https://github.com/TiLied/GenDocsLib
- Library for generating csharp: https://github.com/TiLied/GenCSharpLib
CLI for library: https://github.com/TiLied/CSTOJS_CLI
VS Code Extension using CLI: https://github.com/TiLied/CSTOJS_VSCode_Ext
VS Extension using CLI: https://github.com/TiLied/CSTOJS_VS_Ext
Website/documentation: https://github.com/TiLied/CSTOJS_Pages
- Blazor WebAssembly: https://github.com/TiLied/CSTOJS_BWA
Microsoft CodeAnalysis CSharp nuget package
MDN-content for js docs