Skip to content

Livshitz/BundularJS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BundularJS

MIT license npm CircleCI npm

bundularjs is a framework, bundler and a static-site generator, all combined. Based on libx.js.

Features:

bundularjs Can allow you build webapps which are:

  • Serverless - Zero maintenance of servers
  • Static - All resources are compiled, built and bundled ahead of time
  • Progressive - Crucial resources loaded immediately while other components are loaded when needed
  • Slick - Jade/Pug engine is used to precompile neat declarative markdown into HTML
  • Continuously Deployed - Changes are automatically deployed and served, based on the git branch
  • Edge technology - Using Firebase to store and propagate changes to all viewer in real time, manage user authentication and serverless+microservices using Cloud Functions

Tools:

  • libx.js (npm) - Swiss army knife full of useful modules and helpers
  • bundularjs (npm) - A prebuilt framework of script bundles, styles and configurations. Also serves as bundler (like Webpack), and dev env server.
  • Firebase - Database, auth, Cloud Functions
  • Netlify - CI/CD, hosting, pre-rendering, routing, DNS management, SSL

Description:

This project grabs statuses and information from LeasePilot's github repo and PivotalTracker.
The infrastructure used here is bundularjs & libx.js which provide a framework of predefined bundles, configs and heavily modified version of AngularJS (1.7) to make it progressive and modern. Also provides a handy workspace by using a specifically designed bundler and local server to generate static (pre-compiled) & bundled webapp.
The tools used, mainly Firebase & Netlify, allows the maintenance seamless and effortless by continue deployment, hosting, dns, and enhanced database & synchronization.

Usage

npm install --save bundularjs

Grab latest fuser.js:

curl -O -L https://raw.githubusercontent.com/Livshitz/bundularjs/master/tools/fuser.js

Initial Setup:

  1. Clone the repo and cd into the project folder
  2. npm install to install dependencies for the webapp
  3. npm install -g firebase-tools
  4. Firebase:
    1. Create account in Firebase and grab your personal token by running firebase login:ci
    2. Create new project and realtime-database
    3. cp src/project-secrets-empty.json src/project-secrets.json
    4. Get your service account ('private key'), copy it's content to the file src/project-secrets.json
    5. Create a private passphrase to secure your secrets file export FUSER_SECRET_KEY=<your-secret>
    6. Lock your secrets file node node_modules/bundularjs --secrets-lock
    7. Edit src/project.json file with relevant paths to your new Firebase project
  5. Netlify (optional):
    1. Create new project and point to your cloned repo

Running Locally:

Run local server: node fuser-client.js --secret=<?>.

With api (local Firebase Cloud Functions): node fuser-client.js --secret=<?> --api.

Useful Commands:

  • node fuser-client.js - Build & run local frontend server with watch and hot-reload
  • node fuser-client.js --build - Build only
  • node fuser-client.js --api - Build & run local frontend server with local backend (cloud functions)
  • node node_modules/bundularjs --api-run - Run local backend only
  • node fuser-client.js --env=prod - Run local frontend server with production configuration (bundling & compression enabled)
  • node fuser-client.js --api-deploy - Deploy whole api backend
  • node node_modules/bundularjs --secrets-lock - Encrypt your secrets file
  • node node_modules/bundularjs --secrets-unlock - Decrypt your secrets file
  • firebase deploy -P <project> --only functions:'<functionsGroupName>.<functionName>' --token <token> - Deploy only one specific Cloud function from your api

Contributing

Fork into your own repo, run locally, make changes and submit PullRequests to the main repository.

License

All projects and packages in this repository are MIT licensed.

About

💫 BundularJS - Make AngularJS great again!

Resources

License

Stars

Watchers

Forks

Packages

No packages published