Package Exports
- xeer-js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (xeer-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
XEER JS
An experimental javascript framework aiming to be a complete prototyping framework (at least).
XEER framework contains :
- Stream Processing
( lodash ) - DOM Manipulation
( jQuery ) - Async REST Client
( Axios ) - VirtualDOM
- Dynamic ViewModel Components
( React, Vue, Mithril, ... )
Installation
Package Manager
Simply use any package manager (npm, yarn, pnpm, ...) to install from npmjs.org
shell script $ npm i xeer-js
#### From Source
Clone the repository and install dependencies using your prefered package manager
sh $ git clone https://github.com/kasra-sh/xeer-js.git $ cd xeer-js $ npm install
Usage
Node module
Use any package manager (npm, yarn, pnpm, ...) to install from npmjs.org
$ npm i xeer-js
Bundled
Clone the repository and install dependencies using your prefered package manager
$ git clone https://github.com/kasra-sh/xeer-js.git
$ cd xeer-js
$ npm install
$ npm bundle
bundled files are generated in dist
directory. xeer-bundle-es5.js
supports IE9+ and xeer-bundle.js
is for modern browsers supporting async/await syntax.
Extensions
Extensions are helper methods appended to prototypes which help make the code cleaner.
For example X.addClass($('div'), 'container')
will become $('div').$addClass('container')
.
Extension method names all have $
prepended to their names to prevent method overrides or duplication.
How to use
- If using a bundled version, extensions are enabled by default.
<!-- Modern !--> <script src="xeer-bundle.js"></script> <!-- Legacy !--> <script src="xeer-bundle-es5.js"></script> <script> var obj = { ABC: "text1", ACD: "text2", BAR: 1 } console.log(obj.$filter((v,k)=>k.$startsWith('A'))); // Outputs object { ABC: "text1", ACD: "text2" } </script> <!-- ... !-->
- If using as module in a node project:
// All extensions require("xeer-js/ext"); // Stream processing extensions require("xeer-js/stream.ext"); // DOM extensions require("xeer-js/dom.ext");
TODO
- ViewModel Rendering
- Documentation
- Better code generation
- Experiment with other packagers