WelsonJS - Build a Windows app on the Windows built-in JavaScript engine
Go to file
2023-11-22 18:02:03 +09:00
.github/workflows Create codeql-analysis.yml 2022-03-04 15:19:29 +09:00
app Add WYSIWYG HTML Editor #92 2023-11-22 18:02:03 +09:00
bin Update README.MD 2023-09-05 10:40:18 +09:00
data fix typo 2023-11-07 11:37:05 +09:00
examples Update testloader.js and more 2023-10-31 05:41:52 +09:00
lib Add WYSIWYG HTML Editor #92 2023-11-22 18:02:03 +09:00
tmp Create README.md 2022-04-15 14:44:06 +09:00
WelsonJS.Toolkit Update Toolkit.cs 2022-11-26 02:23:22 +09:00
.gitignore Update .gitignore 2020-11-06 10:16:27 +09:00
app.hta Update app.hta, app/index.js, app/signin.html, app/test.html 2023-10-30 16:58:29 +09:00
app.js Update app.js 2023-09-05 03:27:00 +09:00
bgloader.js Update bgloader.js 2020-12-10 11:27:05 +09:00
bootstrap.bat Clean unnecessary code 2021-09-21 20:59:57 +09:00
bootstrap.js Update bootstrap.js 2023-01-03 16:35:53 +09:00
build.bat Clean unnecessary code 2021-09-21 20:59:57 +09:00
config.example.xml add config.example.xml 2020-11-05 11:24:01 +09:00
config.template.json fix 2020-11-05 17:51:09 +09:00
Default_HTA.reg fix 2020-11-18 13:13:38 +09:00
FUNDING.yml Update FUNDING.yml 2023-11-14 17:38:28 +09:00
grpcloader_test.bat Add files via upload 2023-09-07 20:33:45 +09:00
grpcloader.bat Add files via upload 2023-09-07 20:14:22 +09:00
grpcloader.js Add files via upload 2023-09-07 20:14:22 +09:00
helloworld.coffee Add support LiveScript 2022-11-29 14:42:34 +09:00
helloworld.js Add CryptoJS libraries 2023-07-27 18:09:20 +09:00
helloworld.ls Add support LiveScript 2022-11-29 14:42:34 +09:00
helloworld.re [app] Add support ReasonML/Rescript #77 2023-08-02 16:06:08 +09:00
helloworld.ts Add support TypeScript 2022-12-22 16:17:10 +09:00
IEMaxScriptStatements.bat Create IEMaxScriptStatements.bat 2022-05-03 13:27:09 +09:00
LICENSE Change GPLv2 to GPLv3 2023-09-09 01:33:02 +09:00
LICENSE_MSRL Rename LICENSE to LICENSE_MSRL 2023-07-18 16:03:23 +09:00
package-lock.json Bump jquery-ui from 1.13.1 to 1.13.2 2022-07-18 17:21:07 +00:00
package.json Update package.json 2023-09-26 11:56:59 +09:00
README.md Add WYSIWYG HTML Editor #92 2023-11-22 18:02:03 +09:00
REGASM.MD Update REGASM.MD 2021-11-01 18:18:37 +09:00
registerDLLs.bat Update lib/autoit.js, Create registerDLLs.bat 2022-02-10 12:42:11 +09:00
scriptcontrol.js Add files via upload 2023-09-05 03:27:16 +09:00
SECURITY.MD Update SECURITY.MD 2023-09-05 03:44:28 +09:00
setup.iss Update setup.iss 2023-09-26 11:57:13 +09:00
shoutcut.js Update shoutcut.js 2022-11-06 19:00:42 +09:00
shoutcut.legacy.js Add files via upload 2021-08-11 03:04:11 +09:00
start.bat fix 2020-11-18 15:46:34 +09:00
testloader.js Remove gtk.demo.js, toolkit.demo.js, squel.demo.js, and merge to testloader.js 2023-11-07 11:24:36 +09:00
uriloader.js Update uriloader.js 2022-08-22 01:43:15 +09:00
userid.txt fix 2020-11-12 15:39:50 +09:00
webloader.js Change "utf-8" to FILE.CdoCharset.CdoUTF_8 2023-10-30 13:56:43 +09:00
WelsonJS.Toolkit.dll Update toolkit files 2022-10-21 04:03:06 +09:00

welsonjs

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

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 library)
  • lib/base64 (BASE64 Encode and Decode)
  • lib/db (Database interface)
  • lib/file (File I/O interface)
  • lib/http (HTTP interface)
  • lib/json (JSON Encode and Decode)
  • lib/registry (Windows Registry interface)
  • lib/security (Security Policy interface)
  • lib/sendmail (Sendmail interface with 3rdparty)
  • lib/shell (Command Prompt interface)
  • lib/timer (setTimeout polyfills)
  • lib/powershell (Windows Powershell interface)
  • lib/service (Windows Service interface)
  • lib/oldbrowser (ES5/ES6, HTML/JS/CSS compatibility)
  • lib/uri (URI scheme interface)
  • lib/winlibs (Windows DLL(Dynamic-link library) interface)
  • lib/autohotkey (AutoHotkey interface)
  • lib/autoit (AutoIt3/AutoItX interface)
  • lib/shadowsocks (Shadowsocks interface)
  • lib/excel (Microsoft Excel interface)
  • lib/vbscript (VBScript interface)
  • lib/wintap (Windows-TAP interface)
  • lib/tun2socks (TUN2SOCKS interface)
  • lib/hosts (Hosts file interface)
  • lib/gtk (GTK/GladeXML server GUI interface)
  • lib/chrome (Chrome Web Browser Debugging interface)
  • lib/toolkit (WelsonJS.Toolkit native component)
  • lib/pipe-ipc (PIPE-based IPC(Inter-Process Communication) implementation)

Make your own sayhello example

1. Write a file lib/sayhello.js

exports.VERSIONINFO = "SayHello Library (sayhello.js) version 0.1
exports.global = global;
exports.require = global.require;

exports.say = function() {
    console.log("hello");
}

2. Write a file 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\John\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

Thanks!

Thanks 1

Image stocks

Contact me

If you have any inquiries regarding this project or if you are interested in becoming a partner, please don't hesitate to contact us. Particularly, for those using this project for website quality improvement automation, technical support will be exclusively available to partners.