GNU General Public License v3.0

项目介绍

gnh1201/welsonjs 是一个托管在 GitHub 上的开源项目,主要使用 JavaScript 编写,采用 GNU General Public License v3.0 许可证,目前获得 513 个 Star、34 次 Fork。

仓库全名
gnh1201/welsonjs
开源许可证
GNU General Public License v3.0
Star 数
513
Fork 数
34
未关闭 Issue
62

README 摘要

welsonjs Now, you can build, automate, and orchestrate Windows applications and industrial systems using JavaScript, transpiled languages such as TypeScript, CoffeeScript, and ReScript, and HTML/CSS, all powered by the built-in ECMAScript engine. WelsonJS = Windows + Electron-like + Javascript(JS) + :heart:Contributions :rocket: Deploy on Microsoft Azure Marketplace (Available again soon) :kissingcat: Download the…

完整内容见 GitHub 原始 README 或本页 。

常见问题

welsonjs 用什么语言开发?

主要使用 JavaScript 编写,采用 GNU General Public License v3.0 许可证,目前有 513 个 Star。

welsonjs 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 welsonjs 的源码?

可以直接克隆仓库:git clone https://github.com/gnh1201/welsonjs.git,默认分支为 master;安装与运行步骤见仓库 README。

welsonjs 最近还在维护吗?

仓库最近一次更新为 5 天前,当前有 62 个未关闭 Issue;Star 数为 513,可作为社区活跃度的参考。

关于

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

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
587
价值分
315
活跃状态
活跃

语言占比

Batchfile
C#
C++
CMake
CSS
CoffeeScript
HTML
Inno Setup
JavaScript
LiveScript
PEG.js
PowerShell
Python
Reason
TypeScript
Visual Basic .NET
YARA

Release

README

welsonjs

FOSSA Status AppVeyor Status DOI 10.5281/zenodo.11382384 ChatGPT available Google Gemini available slideshare.net presentation YouTube promotion video Discord chat G2 Product Hunt Trustpilot Open to work Ask DeepWiki MCP Powered by OrcaRouter

WelsonJS logo with four diagonal stripes in red, green, blue, and yellow, overlaid with the letters JS. WelsonJS - Built-in JavaScript for Industrial Automation on Windows.

Cover Art: Windows in 1999, Art by @_bag0@x.com

Now, you can build, automate, and orchestrate Windows applications and industrial systems using JavaScript, transpiled languages such as TypeScript, CoffeeScript, and ReScript, and HTML/CSS, all powered by the built-in ECMAScript engine.

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

  • :rocket: Deploy on Microsoft Azure Marketplace (Available again soon)
  • :kissing_cat: Download the WelsonJS Launcher
  • :shell: In PowerShell: irm https://catswords.blob.core.windows.net/welsonjs/bootstrap.ps1 | iex

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.

Collaborations

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 (Excel, PowerPoint, Word, Outlook) and various LLM AI (ChatGPT, Claude).

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

Console environment

flowchart LR User([Console User]) CMD[Command Prompt] App[app.js] Require{"require()"} subgraph Modules Module[name.js] end User --> CMD CMD -->|"cscript app.js name"| App App --> Require Require -->|"name"| Module Module -.->|"exports"| App

GUI environment (using HTA)

flowchart LR User([Window User]) HTA[app.hta] App[app.js] Require1{"require()"} Loader[Webloader.js] Require2{"require()"} subgraph Webpage JS[index.js] HTML[index.html] CSS[style.css] end User --> HTA HTA --> App App --> Require1 Require1 -->|"webloader"| Loader Loader --> Require2 Require2 -->|"index"| JS Loader --> HTML Loader --> CSS JS -.->|"exports"| Loader Loader -.->|"Present webpage"| HTA

Specifications

Quick start

1. Write a file lib/sayhello.js

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

exports.say = say;

exports.VERSIONINFO = "SayHello (sayhello.js) version 0.1";
exports.AUTHOR = "[email protected]";
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 script on the console

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.
  • Use PowerShell: For example, irm https://catswords.blob.core.windows.net/welsonjs/bootstrap.ps1 | iex
  • 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 Service 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

(Screenshot 8) You can run a .js file just like an executable by simply double-clicking it.

Thanks to

Report abuse

Join the community

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

Support Contact

For offline copy requests, consulting, mentoring, and technical support inquiries, please check this link.

Open-source software license

For detailed information on the open-source license status of this project, please refer to FOSSA Status.

FOSSA Status

Subprojects

Product Hunt

WelsonJS was featured on Product Hunt on September 9th, 2026, at 12:01 AM PDT.

WelsonJS on Product Hunt

Dev Tools Dir

WelsonJS was featured on Dev Tools Dir on Sunday, November 1, 2026 at 08:00 AM UTC

WelsonJS on Dev Tools Dir

Disclaimer

To the maximum extent permitted by applicable law, Namhyeon Go and Catswords Research shall not be held liable for any direct, indirect, incidental, special, or consequential damages arising out of or in connection with the use of this software outside its intended purpose or scope.

评论

暂无评论