gnh1201 / welsonjs

WelsonJS - Build a Windows app on the Windows built-in JavaScript engine

Home Page:https://catswords.social/@catswords_oss

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

welsonjs

WelsonJS - Build a Windows app on the Windows built-in JavaScript engine.

(Image) A man programming against a power plant facility, the screen that the man is watching shows the Windows logo

Now, You can build an Windows desktop app with JavaScript, TypeScript, ReScript, and HTML/CSS on Windows built-in ECMAScript engine.

WelsonJS = Windows + Electron-like + Javascript(JS) + Your contribution

Dual license notice: The default license for this project is GPL 3.0. However, if the GPL 3.0 license is not compatible with Microsoft products, it is subject to the MS-RL license.

I presented this project in the open-source contest in the Republic of Korea in November 2023.

Structure

Structure

Specifications

Included libraries

  • lib/std (Standard library)
  • lib/system (System interface)
  • lib/base64 (BASE64 encode and decode)
  • lib/file (File I/O interface)
  • lib/http (HTTP interface with MSXML and cURL)
  • lib/json (JSON library)
  • lib/registry (Windows Registry interface)
  • lib/security (Windows Security Policy interface)
  • lib/shell (Windows Shell (Command Prompt) interface)
  • lib/powershell (Windows Powershell interface)
  • lib/service (Windows Service interface)
  • lib/browser (HTML5 and CSS3 compatibility layer)
  • lib/uri (URI scheme interface)
  • lib/winlibs (Windows DLL(Dynamic-link library) interface)
  • lib/autohotkey (AutoHotkey interface)
  • lib/autoit (AutoIt3/AutoItX interface)
  • lib/msoffice (Microsoft Office (e.g. Excel, PowerPoint, Word) interface)
  • lib/gtk (GTK-server and GladeXML supported GUI interface)
  • lib/chrome (Chrome and Chromium-based web browser testing interface)
  • lib/toolkit (WelsonJS.Toolkit native component. e.g. Virtualized Human Interface, Cryptography, ...)
  • lib/pipe-ipc (PIPE-based IPC(Inter-Process Communication) implementation)
  • lib/chatgpt (ChatGPT integration)
  • Everything you can imagine.

Make your own sayhello example

1. Write a file lib/sayhello.js

// lib/sayhello.js
function say() {
    console.log("hello");
}

exports.say = say;

exports.VERSIONINFO = "SayHello Library (sayhello.js) version 0.1";
exports.AUTHOR = "abuse@catswords.net";   // e.g. YOUR EMAIL ADDRESS
exports.global = global;
exports.require = global.require;

2. Write a file sayhello.js

// sayhello.js
var SayHello = require("lib/sayhello");

function main() {
    console.log("calling say()");
    SayHello.say();
    console.log("ended say()");
}

exports.main = main;

3. Execute file on the command prompt

C:\Users\oss\Documents\GitHub\welsonjs> cscript app.js sayhello
calling say()
hello
ended say()

How to make your own setup file

  • Please check setup.iss file it could be compile with Inno Setup

Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Thanks!

Thanks 1

Related projects

Image stocks

Contact me

About

WelsonJS - Build a Windows app on the Windows built-in JavaScript engine

https://catswords.social/@catswords_oss

License:GNU General Public License v3.0


Languages

Language:JavaScript 97.4%Language:CSS 2.0%Language:C# 0.3%Language:HTML 0.1%Language:LiveScript 0.1%Language:Python 0.0%Language:Inno Setup 0.0%Language:Batchfile 0.0%Language:PowerShell 0.0%Language:CoffeeScript 0.0%Language:Reason 0.0%Language:TypeScript 0.0%