JSPM

  • Created
  • Published
  • Downloads 106
  • Score
    100M100P100Q78443F
  • License MIT

Javascript Framework

Package Exports

  • xeer-js
  • xeer-js/core/functions
  • xeer-js/core/stream
  • xeer-js/dom/classes
  • xeer-js/dom/event
  • xeer-js/dom/query
  • xeer-js/dom/styles

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


npm License: MIT Gzipped Size Compatibility ES5 Node Version >= 8

XEER Framework

An experimental javascript framework aiming to be a complete prototyping framework .

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 To regenerate extensions and bundles, make sure you have Parcel installed globaly: sh $ pnpm bundle

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