2020-06-28 14:19:26 +00:00
# welsonjs
2021-12-09 03:03:33 +00:00
WelsonJS - Build a Windows desktop apps with JavaScript, HTML, and CSS based on WSH/HTA or GTK.
2020-07-05 02:49:10 +00:00
2022-05-30 06:23:41 +00:00
[![Buy me a coffee ](https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png )](https://www.buymeacoffee.com/catswords/thanks-welsonjs-users)
2022-05-27 02:05:06 +00:00
2020-07-05 02:49:10 +00:00
## Structure
2020-11-04 09:35:57 +00:00
![Structure ](app/assets/img/structure.png )
2020-07-07 22:47:31 +00:00
2020-07-21 02:56:37 +00:00
## Specifications
2022-02-08 02:48:58 +00:00
- ES5(ECMAScript 5), XML, JSON, YAML compatibility
2021-08-10 16:49:06 +00:00
- [github:zloirock/core-js ](https://github.com/zloirock/core-js )
2022-02-08 02:50:03 +00:00
- [github:douglascrockford/JSON-js ](https://github.com/douglascrockford/JSON-js ) (aka. JSON2.js)
2022-02-08 02:48:58 +00:00
- [github:nodeca/js-yaml ](https://github.com/nodeca/js-yaml )
2020-11-14 16:11:51 +00:00
- HTML5, CSS3 compatibility
- [github:aFarkas/html5shiv ](https://github.com/aFarkas/html5shiv )
- [github:parndt/jquery-html5-placeholder-shim ](https://github.com/parndt/jquery-html5-placeholder-shim )
- [github:scottjehl/Respond ](https://github.com/scottjehl/Respond )
- [github:keithclark/selectivizr ](https://github.com/keithclark/selectivizr )
- [github:arv/ExplorerCanvas ](https://github.com/arv/ExplorerCanvas )
- [github:etianen/html5media ](https://github.com/etianen/html5media )
- [github:Modernizr/Modernizr ](https://github.com/Modernizr/Modernizr )
2020-11-21 13:33:07 +00:00
- Default CSS Framework
- [github:jslegers/cascadeframework ](https://github.com/jslegers/cascadeframework )
2020-11-25 06:10:02 +00:00
- Included libraries
- [jQuery ](https://jquery.com/ )
- [jQuery UI ](https://jqueryui.com/ )
2021-04-24 17:27:16 +00:00
- [github:kamranahmedse/jquery-toast-plugin ](https://github.com/kamranahmedse/jquery-toast-plugin )
2021-04-29 11:41:59 +00:00
- [github:hiddentao/squel ](https://github.com/hiddentao/squel )
2020-11-25 06:10:02 +00:00
- [github:BorisMoore/jsrender ](https://github.com/BorisMoore/jsrender )
2022-02-24 01:42:46 +00:00
- [Includes binaries ](https://github.com/gnh1201/welsonjs/blob/master/bin/README.MD )
2021-04-25 12:47:05 +00:00
- [module.exports ](https://nodejs.org/en/knowledge/getting-started/what-is-require/ ), CommonJS, UMD compatibility
2021-08-10 16:49:06 +00:00
- [NPM ](https://www.npmjs.com/ ) compatibility
2020-07-21 04:50:54 +00:00
- Ready to use on Windows machine immediately. No require additional softwares installation.
2020-07-21 02:56:37 +00:00
2020-07-07 22:47:31 +00:00
## Included libraries
2020-07-19 06:36:24 +00:00
- 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)
2020-07-21 10:58:07 +00:00
- lib/sendmail (Sendmail interface with 3rdparty)
2020-07-19 06:36:24 +00:00
- lib/shell (Command Prompt interface)
2021-04-24 17:24:13 +00:00
- lib/timer (`setTimeout` polyfills)
2020-07-19 06:36:24 +00:00
- lib/powershell (Windows Powershell interface)
2020-07-23 06:08:38 +00:00
- lib/service (Windows Service interface)
2020-11-04 08:52:00 +00:00
- lib/oldbrowser (ES5/ES6, HTML/JS/CSS compatibility)
2020-07-27 02:31:52 +00:00
- lib/uri (URI scheme interface)
2020-07-27 05:56:43 +00:00
- lib/winlibs (Windows DLL(Dynamic-link library) interface)
2022-02-24 01:41:18 +00:00
- lib/autohotkey ([AutoHotkey](https://www.autohotkey.com/) interface)
- lib/autoit ([AutoIt3/AutoItX](https://www.autoitscript.com/) interface)
- lib/shadowsocks ([Shadowsocks](https://shadowsocks.org/) interface)
2020-07-27 08:14:39 +00:00
- lib/excel (Microsoft Excel interface)
2020-07-29 07:21:39 +00:00
- lib/vbscript (VBScript interface)
- lib/wintap (Windows-TAP interface)
- lib/tun2socks (TUN2SOCKS interface)
- lib/hosts (Hosts file interface)
2021-07-28 04:14:05 +00:00
- lib/gtk (GTK/GladeXML server GUI interface)
2021-07-28 04:13:15 +00:00
- lib/chrome (Chrome Web Browser Debugging interface)
2021-08-10 16:49:06 +00:00
- lib/toolkit (`WelsonJS.Toolkit` native component)
2022-09-28 01:33:39 +00:00
- lib/pipe-ipc (PIPE-based IPC(Inter-Process Communication) implementation)
2020-07-05 02:49:32 +00:00
2020-07-21 04:10:36 +00:00
## Make your own `sayhello` example
2020-07-21 04:10:15 +00:00
2022-01-12 12:48:29 +00:00
### 1. Write a file `lib/sayhello.js`
2020-07-21 04:10:15 +00:00
```
2022-01-12 12:48:29 +00:00
exports.VERSIONINFO = "SayHello Library (sayhello.js) version 0.1
2020-07-21 04:10:15 +00:00
exports.global = global;
exports.require = global.require;
exports.say = function() {
console.log("hello");
}
```
2020-07-21 04:13:41 +00:00
### 2. Write a file `sayhello.js`
2020-07-21 04:10:15 +00:00
```
2022-01-12 12:48:29 +00:00
var SayHello = require("lib/sayhello");
function main() {
console.log("calling say()");
SayHello.say();
console.log("ended say()");
}
exports.main = main;
2020-07-21 04:10:15 +00:00
```
2020-07-21 04:13:41 +00:00
### 3. Execute file on the command prompt
2020-07-21 04:10:15 +00:00
```
2020-07-21 04:13:41 +00:00
C:\Users\John\Documents\GitHub\welsonjs> cscript app.js sayhello
2022-01-12 12:48:29 +00:00
calling say()
2020-07-21 04:10:15 +00:00
hello
2022-01-12 12:48:29 +00:00
ended say()
2020-07-21 04:10:15 +00:00
```
2022-01-12 12:48:29 +00:00
## How to make your own setup file
- Please check `setup.iss` file it could be compile with [Inno Setup ](https://jrsoftware.org/isinfo.php )
2020-11-09 08:40:58 +00:00
2022-01-12 12:48:29 +00:00
## Screenshots
2020-11-06 01:21:09 +00:00
![Screenshot 1 ](app/assets/img/screenshot.png )
## Thanks!
![Thanks 1 ](app/assets/img/thanks.png )
2020-11-06 01:24:34 +00:00
- https://www.facebook.com/javascript4u/posts/1484014618472735
- https://python5.com/q/xtbsqjxb
2020-11-04 09:35:57 +00:00
2020-07-08 08:36:14 +00:00
## Related projects
2020-11-04 08:46:41 +00:00
- [gnh1201/wsh-js-gtk ](https://github.com/gnh1201/wsh-js-gtk ) - GTK GUI ported to Windows Scripting Host - Javascript (Microsoft JScript) (wsh-js)
- [gnh1201/wsh-json ](https://github.com/gnh1201/wsh-json ) - JSON stringify/parse (encode/decode) for Windows Scripting Host
- [redskyit/wsh-appjs ](https://github.com/redskyit/wsh-appjs ) - require-js and app framework for Windows Scripting Host JavaScript
- [JohnLaTwC's gist ](https://gist.github.com/JohnLaTwC/4315bbbd89da0996f5c08c032b391799 ) - JavaScript RAT
- [JSMan-/JS-Framework ](https://github.com/JSMan-/JS-Framework ) - No description
- [iconjack/setTimeout-for-windows-script-host ](https://github.com/iconjack/setTimeout-for-windows-script-host ) - Replacement for the missing setTimeout and clearTimeout function in Windows Script Host
- [johnjohnsp1/WindowsScriptHostExtension ](https://github.com/johnjohnsp1/WindowsScriptHostExtension ) - Inject DLL Prototype using Microsoft.Windows.ACTCTX COM Object
- [kuntashov/jsunit ](https://github.com/kuntashov/jsunit ) - JSUnit port for Windows Scripting Host
- [nickdoth/WSHHttpServer ](https://github.com/nickdoth/WSHHttpServer ) - HTTP server based on Windows Script Host
2020-07-08 08:36:14 +00:00
2021-12-09 03:03:33 +00:00
## Image stocks
- [7418_blocks_color_modules_rgb_square_icon ](https://www.iconfinder.com/icons/7418/blocks_color_modules_rgb_square_icon ) (Icon File) - Sergio Sanchesz Lopez, Futurosoft
2020-07-05 02:49:32 +00:00
## Contact me
2022-02-24 01:41:18 +00:00
- catswords@protonmail.com