
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Xone is an open source lightweight Javascript framework for building modern web applications.
Notice: Actually this is a alpha state of this repository. We de not recommended using this repo until this message has been removed.
Xone basically is available in 3 different versions:
xone create
Features by default | Xone Project (Environment) | Xone Bundle (Standalone) | Xone Library (Standalone) |
---|---|---|---|
Final project filesize | smallest | small | normal |
Core Library | ![]() | ![]() | ![]() |
MVC Framework | ![]() | ![]() | ![]() |
Render Engine | ![]() | ![]() | ![]() |
Unit Tests | ![]() | - | - |
Debugging Tools | ![]() | ![]() | - |
Environments | ![]() | - | - |
Global App Configuration | ![]() | ![]() | - |
Build/Compile Project | ![]() | - | - |
Manage Platforms | ![]() | - | - |
Dynamic Templates (HTML > JSON) | ![]() | - | - |
Dependency Management | ![]() | - | - |
Initial Codebase | ![]() | - | - |
CLI Tools | ![]() | - | - |
Support Closure Compiler Advanced Mode | ![]() | ![]() | - |
Dead Code Removal | ![]() | ![]() | - |
Not strictly bound by Conventions | - | ![]() | ![]() |
Use as a Standalone Library (like jQuery/Underscore) | - | ![]() | ![]() |
Use as a Framework (like Bootstrap/Angular) | ![]() | ![]() | - |
Use as a Dev Environment (like Sencha/Meteor) | ![]() | - | - |
> npm install -g xone
Note: To make the Xone CLI globally available, you have to install Xone as a global npm module (also in addition to any local installation if you want to keep simple as most as possible). You can also manage multiple/custom versions of Xone as well as using the CLI without any global installations (read further).
Note: Xone binaries typically has to be installed via "xone create" or "xone install" to make full advantage of the build system and also comes with its own pre-defined folder structure (followed by some conventions). We will provide a stand-alone version optionally to skip as many conventions as possible (e.g. Xone acts like an extern Javascript Plugin). We recommended to use the full Xone build capabilities (read further).
In the root of your project you can use the shortcut app instead for xone, e.g.:
my_project> app build
Note: The options create and install are not available over the shortcut app.
On a linux machine you may use:
sudo npm install -g xone
If the global "xone" identifier is not registered properly try one of these lines:
hash xone
hash -r
If you also like to make the shortcut app in your terminal available:
export PATH=$PATH:/path/to/node_modules/xone/bin/
Create a new project inside the directory workspace/my_project:
workspace> xone create "my_project"
Fetch update:
> npm install -g xone
Install update to an existing project (fetches from global npm_modules installation)
workspace/my_project> xone install
Note: This will not overwrite any of your project files! Only projects xone library files located in app/lib/xone/ are updated.
Un-compiled sources located in: workspace/my_project/app/*
my_project> xone build
Production build located in: workspace/my_project/bin/www/*
Note: We recommended to use production builds for any external/public release and use the sources only for developing, testing and may some other internal purposes. To skip the build integration of Xone, you have to use the standalone version instead.
Open app/index.html from sources or bin/www/index.html from production build in your preferred browser.
Use production builds located in workspace/my_project/bin/* to move forward into your Cordova-based projects or upload to a webserver.
Xone provides custom platform injections to perform platform specific production builds. Therefore all those builds only includes necessary code and dependencies for their related platform.
Show currently defined platforms:
my_project> xone platform
Perform platform specific compilation:
my_project> xone compile android
Compiled files remains in: workspace/my_project/app/*
Perform platform specific builds:
my_project> xone build android
Build destination: workspace/my_project/bin/android/*
You can add unlimited custom platforms, e.g. create a platform 'webapp':
my_project> xone platform add webapp
my_project> xone build webapp
Build destination: workspace/my_project/bin/webapp/*
my_project> xone build bundle
Build destination: workspace/my_project/app/lib/xone/dist/xone.bundle.js
my_project> xone build lib
Build destination: workspace/my_project/app/lib/xone/dist/xone.lib.js
my_project> xone build lib min ./app/js/
Build destination: workspace/my_project/app/js/xone.lib.min.js
Note: The order of passed parameters cannot be changed actually.
Xone build uses the Google Closure Compiler. All Xone libraries also supports compilation in "Advanced Mode". The build properties can be configured in xone.json
. The Closure Compiler also provides a simple dependency management system (provide/require) you should make use of to improve dead code removal.
Note: Actually Xone supports 2 different versions of closure compiler: 1. requires Java, 2. requires Javascript (Node). It is recommended to have a Java (JRE) properly installed on your machine to unlock some benefits of the Closure Compiler Java version. To change the type of the compiler you need to change the value of the field
closure_compiler_lib_type
from"js"
into"jar"
inxone.json
accordingly.
Note: If you have less experience with the Closure Compiler you can optionally set the compilation level to "simple" on the field
closure_compiler_level
within the xone config file.
Features by default | Closure Compiler (Java) | Closure Compiler (Javascript) |
---|---|---|
Dependency Management | ![]() | ![]() |
Auto Sort Dependencies | ![]() | - |
"Strict" Dependencies (Entry Point) | ![]() | - |
"Pretty Print" Compilation | ![]() | - |
Build Performance | Normal | Slow |
Compression Ratio | Best | Good |
Memory Consumption | Normal | Extreme |
The render engine provides an optional "fast mode" to get the most out of performance. All internal processes of Xone takes advantage when "fast mode" is enabled (e.g. render templates, animate elements, toggle views). When it runs in "fast mode" the render engine has a very closed infrastructure you should keep notice:
Note: When "fast mode" is enabled it should not be mixed by any other external manipulations of the same category listed above. We recommended to disable the "fast mode" when style issues occurs by any direct style manipulations (e.g. when using an extern library).
Note: The "fast mode" is enabled by default in a Xone Project (may change in future) and is disabled by default in the Xone Extern Library.
FAQs
Open source Javascript framework for building modern web applications.
The npm package xone receives a total of 10 weekly downloads. As such, xone popularity was classified as not popular.
We found that xone 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.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.