welsonjs.toolkit

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

https://github.com/gnh1201/welsonjs

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.8%) to scientific vocabulary

Keywords

agi automation chatgpt chrome copilot desktop grok html5 javascript lolbins microsoft mshta mshtml msoffice rescript rpa typescript uri windows wsh

Keywords from Contributors

interactive optimism embedded medical-imaging sequencers multi-agents diffusion agents hacking cryptocurrencies
Last synced: 6 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 390
  • Watchers: 9
  • Forks: 23
  • Open Issues: 76
  • Releases: 69
Topics
agi automation chatgpt chrome copilot desktop grok html5 javascript lolbins microsoft mshta mshtml msoffice rescript rpa typescript uri windows wsh
Created over 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation Security

README.md

welsonjs

FOSSA Status AppVeyor Status DOI 10.5281/zenodo.11382384 ChatGPT available Anthropic available Grok available Google Gemini available slideshare.net presentation YouTube promotion video Discord chat Trustpilot Open to work

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

A Cover Image: Windows in 1999

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

WelsonJS = Windows + Electron-like + Javascript(JS) + :heart:Contributions

Note: 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.

Sponsors

System Requirements

  • Operating Systems: Windows XP SP3 or later (Currently, Windows 11 24H2)
  • For systems running Windows 2000 or earlier versions (e.g., 95, 98, Me), please contact us separately.

Why Choose WelsonJS?

WelsonJS is an advanced JavaScript framework designed to operate in extreme conditions where conventional solutions may fail. Unlike traditional JavaScript frameworks, WelsonJS focuses on executing scripts in constrained environments, ensuring reliable performance even with minimal system resources.

Key Features

  • Lightweight and Efficient: Optimized for environments with limited computing power, WelsonJS delivers efficient script execution without unnecessary overhead.
  • Windows ECMAScript Compatibility: Designed to run seamlessly on Windows-based systems, adhering to the ECMAScript standard while maintaining lightweight execution.
  • Standalone Execution: Unlike well-known JavaScript runtimes, which require external dependencies, a WelsonJS application can operate as a self-contained app, making it suitable for embedded systems and isolated environments.
  • Security-Oriented: Built with security in mind, ensuring controlled execution of scripts without compromising system integrity.
  • Minimalist Design: WelsonJS strips away unnecessary complexities, focusing on core functionalities that maximize performance and reliability.

Use Cases

  • Legacy System Integration: WelsonJS provides a practical solution for running JavaScript on older Windows environments where modern frameworks are not feasible.
  • Automation and Scripting: Ideal for executing scripts in constrained environments, enabling automated workflows and system-level scripting.
  • Embedded Applications: Suitable for devices and systems with strict resource constraints, such as industrial controllers and embedded platforms.
  • Security-Focused Environments: Useful in security-sensitive applications where dependencies on external network connections are limited.
  • Office Automation: Suitable for office automation tasks using Microsoft Office and various LLM-based AI (such as ChatGPT).

WelsonJS is tailored for developers who need a reliable, lightweight JavaScript framework in environments where traditional solutions are impractical. Whether working with legacy systems, embedded devices, or security-critical applications, WelsonJS ensures that JavaScript remains a viable and efficient option.

Structure

The structure of the WelsonJS framework can be extended based on whether it operates in a console (command prompt) environment, a GUI (with HTML/CSS) environment, or a service environment, with the `app.js` file at its core.

Specifications

Quick start

1. Write a file lib/sayhello.js

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

exports.say = say;

exports.VERSIONINFO = "SayHello (sayhello.js) version 0.1"; exports.AUTHOR = "gnh1201@catswords.re.kr"; exports.global = global; exports.require = global.require; ```

2. Write a file sayhello.js

```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 script on the console

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

How to release my application?

The WelsonJS framework suggests the following application release methods:

  • Compress to Zip, and use the launcher: Compress the files and directories necessary for running the project into a Zip file, and distribute it along with the WelsonJS Launcher.
  • Build a setup file: Use Inno Setup. The setup profile (the setup.iss file) is already included.
  • Copy all directories and files: This is the simplest and most straightforward method.

Screenshots

(Screenshot 1) GUI environment

(Screenshot 2) Command-line environment

(Screenshot 3) WelsonJS with Microsoft Excel

(Screenshot 4) Write a Windows Services with JavaScript

(Screenshot 5) Template Matching on the computer screen

(Screenshot 6) The Launcher for WelsonJS Application Packages

(Screenshot 7) Microsoft Monaco Editor on WelsonJS Launcher

Thanks to

  • :heart: Artwork (Logo image): @druidesse
  • :heart: Artwork (Cover image): @_bag0@x.com
  • :heart: Special Contributors: @hcho3, :octocat: GitHub Sponsors
  • :sunglasses: Heavy-industry specialized CSP(Cloud Service Provider) in Republic of Korea - Use case development
  • :sunglasses: Live-commerce specialized online advertisement companies in Republic of Korea - Use case development
  • :sunglasses: Information security companies in Republic of Korea - Use case development
  • :sunglasses: Travel planning(e.g., Airlines, Hotels, Ticketing) related companies - Use case development
  • :sunglasses: Probability-based game prediction in a data analytics company - Use case development
  • :eyes: Facebook Group "Javascript Programming"(javascript4u)
  • :eyes: morioh.com
  • :eyes: CSDN
  • :eyes: Qiita - Knowledge-base about WSH environment
  • :sunglasses: Redsky Software - PoC(Proof of Concept) of the CommonJS on WSH environment
  • :sunglasses: Inspired by a small-sized JavaScript payload demonstrated by a cybersecurity related group.
  • :sunglasses: Inspired by the use of Named Shared Memory in a cross-runtime IPC implementation written by the unidentified developer.
  • :eyes: Fediverse
  • :eyes: Hacker News
  • :eyes: WebToolsWeekly
  • :eyes: GeekNews in GeekNews Weekly (2024-09-30 ~ 2024-10-06)
  • :eyes: daily.dev
  • :eyes: PitchHut
  • :eyes: Disquiet
  • :eyes: Node Weekly
  • :eyes: Zhouexin (周e信)

Report abuse

Join the community

I am always open. Collaboration, opportunities, and community activities are all welcome.

Offline Distribution

You may request offline distribution if you are in a restricted environment, such as one without internet access or with specific security requirements.

Special channels

License

FOSSA Status

Owner

  • Name: Namhyeon, Go
  • Login: gnh1201
  • Kind: user
  • Location: Republic of Korea
  • Company: Catswords Research

Your watermelon OPEN UP!

GitHub Events

Total
  • Create event: 17
  • Issues event: 81
  • Release event: 11
  • Watch event: 136
  • Member event: 2
  • Issue comment event: 499
  • Push event: 536
  • Pull request event: 150
  • Pull request review comment event: 309
  • Pull request review event: 243
  • Gollum event: 33
  • Fork event: 7
Last Year
  • Create event: 17
  • Issues event: 81
  • Release event: 11
  • Watch event: 136
  • Member event: 2
  • Issue comment event: 499
  • Push event: 536
  • Pull request event: 150
  • Pull request review comment event: 309
  • Pull request review event: 243
  • Gollum event: 33
  • Fork event: 7

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 2,293
  • Total Committers: 8
  • Avg Commits per committer: 286.625
  • Development Distribution Score (DDS): 0.011
Past Year
  • Commits: 914
  • Committers: 7
  • Avg Commits per committer: 130.571
  • Development Distribution Score (DDS): 0.023
Top Committers
Name Email Commits
Namhyeon, Go g****1@g****m 2,267
Jihoon Yi 4****e 8
dependabot[bot] 4****] 6
Scarlet a****n@n****m 5
Theodore Tsirpanis t****o@t****r 4
fossabot b****s@f****o 1
Soumt r****5@n****m 1
Ikko Eltociear Ashimine e****r@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 185
  • Total pull requests: 167
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 12 hours
  • Total issue authors: 5
  • Total pull request authors: 8
  • Average comments per issue: 0.91
  • Average comments per pull request: 3.48
  • Merged pull requests: 145
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 69
  • Pull requests: 155
  • Average time to close issues: 19 days
  • Average time to close pull requests: about 4 hours
  • Issue authors: 4
  • Pull request authors: 6
  • Average comments per issue: 0.93
  • Average comments per pull request: 3.66
  • Merged pull requests: 133
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • gnh1201 (159)
  • md-technosoft (20)
  • baramofme (3)
  • AddictArts (1)
  • eogloblin (1)
Pull Request Authors
  • gnh1201 (150)
  • dependabot[bot] (8)
  • chasca8 (4)
  • baramofme (2)
  • eltociear (2)
  • soumt-r (2)
  • fossabot (2)
  • teo-tsirpanis (2)
Top Labels
Issue Labels
enhancement (101) priority:low (31) commercial (29) research (27) bug (23) priority:high (19) roadmap (15) native (12) code review (11) investigating (10) cross-env (7) collaboration (5) wontfix (4) invalid (2) dependencies (2) documentation (1) good first issue (1) topic:disaster_recovery (1) Review effort 2/5 (1) powershell (1) question (1) compliance (1) scientific (1) certificate (1)
Pull Request Labels
Review effort 2/5 (18) Review effort 1/5 (14) dependencies (8) Review effort 3/5 (4) urgent (4) Review effort 4/5 (3) .NET (2)

Packages

  • Total packages: 1
  • Total downloads:
    • nuget 241 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
nuget.org: welsonjs.toolkit

Native toolkit for WelsonJS framework-based RPA applications.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 241 Total
Rankings
Dependent repos count: 7.4%
Dependent packages count: 20.0%
Average: 28.3%
Downloads: 57.5%
Maintainers (1)
Last synced: 6 months ago

Dependencies

package-lock.json npm
  • ansi-regex 5.0.1
  • ansi-styles 4.3.0
  • argparse 2.0.1
  • camelcase 5.3.1
  • cliui 6.0.0
  • color-convert 2.0.1
  • color-name 1.1.4
  • core-js 3.21.1
  • decamelize 1.2.0
  • doctrine 3.0.0
  • emoji-regex 8.0.0
  • entities 2.1.0
  • esutils 2.0.3
  • excanvas 2.0.0
  • file 0.2.2
  • find-up 4.1.0
  • get-caller-file 2.0.5
  • html5media 1.2.1
  • html5shiv 3.7.3
  • inherits 2.0.4
  • is-fullwidth-code-point 3.0.0
  • jquery 3.6.0
  • jquery-form 4.3.0
  • jquery-toast-plugin 1.3.2
  • jquery-ui 1.13.2
  • js-yaml 4.1.0
  • jsrender 1.0.11
  • linkify-it 3.0.3
  • locate-path 5.0.0
  • lodash 4.17.21
  • markdown-it 12.3.2
  • mdurl 1.0.1
  • minimist 1.2.6
  • mkdirp 0.5.5
  • modernizr 3.12.0
  • p-limit 2.3.0
  • p-locate 4.1.0
  • p-try 2.2.0
  • path-exists 4.0.0
  • readable-stream 3.6.0
  • require-directory 2.1.1
  • require-main-filename 2.0.0
  • requirejs 2.3.6
  • safe-buffer 5.2.1
  • set-blocking 2.0.0
  • squel 5.13.0
  • string-width 4.2.3
  • string_decoder 1.3.0
  • strip-ansi 6.0.1
  • through2 3.0.2
  • uc.micro 1.0.6
  • util-deprecate 1.0.2
  • which-module 2.0.0
  • wrap-ansi 6.2.0
  • y18n 4.0.3
  • yargs 15.4.1
  • yargs-parser 18.1.3
package.json npm
  • core-js ^3.21.1
  • excanvas ^2.0.0
  • html5media ^1.2.1
  • html5shiv ^3.7.3
  • jquery ^3.6.0
  • jquery-form ^4.3.0
  • jquery-toast-plugin ^1.3.2
  • jquery-ui ^1.13.2
  • js-yaml ^4.1.0
  • jsrender ^1.0.11
  • modernizr ^3.12.0
  • squel ^5.13.0
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
WelsonJS.Toolkit/WelsonJS.Toolkit/WelsonJS.Toolkit.csproj nuget