nobearsjs
v1.0.10
Published
NoBears component library
Readme
noBearsJS
Project setup
Check het project lokaal uit en run npm install
en npm start
om een nieuwe development build te maken en een watch te starten.
Demo
Demo builds worden via npm start automatisch gemaakt, maar om een losse demo build te maken run npm run build.
Production build
Om een productie build te maken, run npm run prod. Dit bumpt de versie van de package.json automatisch eentje omhoog en maakt een productie build van alle javascript files in de src/js folder.
Project opzet
Alleen de files in de src/js folder worden meegenomen in de productie build (samen met de src/package.json file). Alle andere files worden gebruikt voor de demo pagina.
/ src
| assets // Various files used by the various demos
| framework // The actual framework javascript files
| js // The javascript files that control the demo
| lib // Collection of demo libraries
| styles // Collection of demo styling files
| templates // Collection of demo nunjucks files
index.js // The example javascript file for the demo
index.njk // The main nunjucks file for the demo
index.scss // The main scss file for the demo
package.json // The npm module package.jsonFramework opzet
User interactie
De gebruiker maakt een ES6 class aan die de NoBearsFramework class extend. Dit is het hoofd aanspreekpunt voor de gebruiker om de functionaliteiten van het framework aan te spreken. De meeste functionaliteiten zijn zelfvoorzienend, dus het contact tussen de gebruiker en het framework zal beperkt blijven.
In de super van de custom class van de gebruiker kan de url naar de config.json meegegeven worden. Deze configuratie zal dan gebruikt worden door het framework.
Framework intern
Intern binnen het framework is de NoBearsFramework class ook de centrale controller. De andere classes in het framework zijn zo veel mogelijk zelf voorzienend, maar wanneer verschillende instances elkaar aan moeten spreken, verloopt dit via deNoBearsFramework class.
Alle components hebben ook standaard een interne referentie naar de controller zodat er naar de events van de componenten geluisterd kan worden. Het afhandelen van deze event listening wordt in de NB_Component class gedaan. Dit is de algemene component controller class die door alle componenten geextend worden.
Extensions en helper classes extenden geen generieke sub-class, maar worden opgebouwd aan de hand van de benodigde functionaliteiten. Er moet wel geprobeerd worden de functionaliteiten van deze classes goed af te schermen voor de eind gebruiker, zodat er niet zo maar intern variabelen aangepast kunnen worden.
Publishing
Om een update naar npm te pushen, run eerst npm run prod om een productie build te maken van het framework. CD naar je /dist folder en run vervolgens npm publish. Als het goed is krijg je onderaan de callstack de volgende regel staan: + @nobears/[email protected] met je recent geupdate productie versie nummer.
