
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
An extensive hardware-accelerated and cross-platform windowing (GUI) framework for NodeJS
Work in progress.
Stunning is based on StunningRenderer, a Java-based OpenGL renderer (https://github.com/anuraagvaidya/StunningRenderer).
This library is meant to help you create desktop, consumer-grade application using NodeJS. Although it currently only has GUI features to offer, we are working on including other essential desktop functions in the library such as networking, bluetooh This library has a lot to offer. Please hang on to your hats.
To achieve the ability to run on multiple platforms, the renderer is written in Java. In future, when building on node-gyp becomes smoother, we can rewrite the renderer in C++.
npm install stunning
var StunningLib=require('stunning');
var Stunning=StunningLib.Stunning; //Import Stunning
var Container=StunningLib.Container; //Import the Container tool
Stunning.on('ready',function(){
var window=Stunning.createWindow();
window.set({title:"My Window",width:800,height:600});
window.on('create',function(){
var textContainer=new Container(window,{width:500,height:200,text:'Type Something',foregroundColor: '#ffff00'});
textContainer.event('keydown',function(data){
textContainer.set({text:(textContainer.config.text || '')+String.fromCharCode(data.keyCode)});
});
var offset={left:0,top:0};
var container0=new Container(window,{width:300,height:200,foregroundColor: '#ffff00'});
container0.on('create',function(){
setInterval(function(){
container0.set({left:offset.left++,top:offset.top++});
},100);
});
var container1=new Container(window,{width:300,height:200,foregroundColor: '#ffff'});
container1.on('create',function(){
setInterval(function(){
container1.set({left:500-offset.left++,top:300-offset.top++});
},100);
});
});
});
You can pass the below properties in the component.set() call.
Events must be called with .event('<eventName>',function(data){ });
There is an ongoing effort to allow developers to design GUI using Stunning by using drag and drop. For more info, check (https://github.com/anuraagvaidya/StunningDesigner). (Not yet ready)
var components=stunning.importFromFile("filename.stn");
var window=stunning.createWindow();
window.set("size",{height:700, width:1000}); //size in px
window.set("icon",{filename:"myicon.ico"});
window.add(components);
Stunning currently supports the following features:
We're considering the following things to be added in the rendering engine
If you need support, or want to discuss a feature, or want to request a new feature, feel free to contact me using Gitter at https://gitter.im/anuraagvaidya/stunning?utm_source=share-link&utm_medium=link&utm_campaign=share-link
FAQs
An extensive hardware-accelerated and cross-platform windowing (GUI) framework for NodeJS
We found that stunning demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.