WelsonJS - Build a Windows app on the Windows built-in JavaScript engine
Go to file
2021-08-10 20:48:38 +09:00
app Update corejs-build-20210810.js 2021-08-10 20:11:19 +09:00
lib Update chrome.js 2021-08-10 20:48:38 +09:00
test fix indentation 2020-07-27 18:07:33 +09:00
WelsonJS.Toolkit Removed unnecessary configurations 2021-08-09 17:11:39 +09:00
.gitignore Update .gitignore 2020-11-06 10:16:27 +09:00
app.hta Update main.js 2021-08-10 15:27:47 +09:00
app.js Update app.js 2021-08-10 17:48:47 +09:00
bgloader.js Update bgloader.js 2020-12-10 11:27:05 +09:00
bootstrap.js 20210428 2021-04-28 16:28:43 +09:00
build.bat fix 2020-08-09 18:14:05 +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
gtk.demo.js Update gtk.demo.js 2021-08-10 11:06:56 +09:00
LICENSE Change the license to Ms-PL 2020-12-10 10:28:56 +09:00
package-lock.json 20210428 2021-04-28 16:28:43 +09:00
package.json Update test-driven components 2020-07-27 15:41:55 +09:00
README.md Update README.md 2021-07-28 13:14:05 +09:00
setup.iss Update setup.iss 2020-11-04 17:42:25 +09:00
shadow.js fix 2020-12-10 11:19:07 +09:00
shoutcut.js fix 2020-11-20 17:44:50 +09:00
squel.demo.js Add native component: WelsonJS.Toolkit 2021-08-09 17:00:56 +09:00
start.bat fix 2020-11-18 15:46:34 +09:00
testloader.js Update test-driven components 2020-07-27 15:41:55 +09:00
token.txt fix 2020-11-12 15:39:50 +09:00
toolkit.demo.js Add native component: WelsonJS.Toolkit 2021-08-09 17:00:56 +09:00
uriloader.js Update uriloader.js 2020-11-04 17:38:04 +09:00
userid.txt fix 2020-11-12 15:39:50 +09:00
versionid.txt fix 2020-12-28 19:43:47 +09:00
webloader.js fix 2020-11-25 12:32:04 +09:00
WelsonJS.Toolkit.dll Add native component: WelsonJS.Toolkit 2021-08-09 17:00:56 +09:00

welsonjs

WelsonJS - Build a Windows desktop apps with JavaScript, HTML, and CSS based on WSH/HTA (wsh.js), GTK/GladeXML supported.

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/autoit3 (AutoIt3 interface)
  • lib/cloudflare (Cloudflare Argo Tunnel 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)

Make your own sayhello example

1. Write a file lib/sayhello-lib.js

exports.VERSIONINFO = "sayhello library (sayhello-lib.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-lib");
exports.main = function() {
    sayhello.say();
};

3. Execute file on the command prompt

C:\Users\John\Documents\GitHub\welsonjs> cscript app.js sayhello
hello

Make own setup file

[NEW] Advanced XML Parser

var XML = require("lib/xml");
var nodes = XML.load("config.xml").select("/Config/ApiUrl").toArray();
var node = XML.load("config.xml").select("/Config/ApiUrl").first();
var nodeText = XML.load("config.xml").select("/Config/ApiUrl").first().getText();
var nodeAttribute = XML.load("config.xml").select("/Config/ApiUrl").first().getAttribute("name");

Screenshot

Screenshot 1

Thanks!

Thanks 1

Contact me