manishekhawat / plumejs

A typescript framework which offers the flavour of angular and react by using web components to build SPA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub contributors PRs Welcome

npm npm

Demo here. Check console logs for further details.

Example repo

Intro for dual packages here

PlumeJs is a very light weight typescript framework to build spa's. It is build on more accessable web components, typescript. It comes with features like change detection during async operations, data-sharing via services and props, dependency injection.

PlumeJs is a conceptual combination of angularjs and react. Just like angular one can register Services, Components and life-cycle hooks. It has setProps and onbindprops for passing data from one component to another and like react update function to update the view after modal updations and a render function to render the component.

PlumeJs has very few syntaxes enabling faster learning curve.

To start with PlumeJs

Yo Plumejs

Plumejs has yeoman generator which provides the entire scaffolding for your project. To start with:

  1. Require Nodejs version 11.0.0 or above
  2. Run npm install -g yo generator-plumejs
  3. After completing installation run yo plumejs in your destination folder. This will ask you about your project name, description and type of bundler for your project. After that it will install all the required dependencies.
  4. After all the dependencies were installed, you can run application using command npm start.

Starter templates

If you don't want to start with yo plumejs and need to use either with webpack or vite specifically then please check

  1. PlumeJS webpack template
  2. PlumeJS vite template

Documentation

For documentation please visit wiki

Credits:

  1. dom-diffing: https://gomakethings.com/dom-diffing-with-vanilla-js/
  2. template literals: https://medium.com/@trukrs/tagged-template-literal-for-html-templates-4820cf5538f9
  3. dom traversal: https://www.programmersought.com/article/9331587598/
  4. uhtml: https://github.com/WebReflection/uhtml
  5. template.js: https://github.com/Mevrael/html-template/blob/master/template.js
  6. proposals for tag: whatwg/html#2254
  7. styling shadow dom using parts: https://css-tricks.com/styling-in-the-shadow-dom-with-css-shadow-parts/
  8. setting jest with esm: https://gist.github.com/rstacruz/511f43265de4939f6ca729a3df7b001c

About

A typescript framework which offers the flavour of angular and react by using web components to build SPA

License:MIT License


Languages

Language:TypeScript 99.7%Language:Shell 0.3%