All Projects → krakenjs → Grumbler

krakenjs / Grumbler

Licence: apache-2.0
A template for writing distributable front-end javascript modules.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Grumbler

Commerceql
UNMAINTAINED
Stars: ✭ 217 (-22.5%)
Mutual labels:  boilerplate, template
React Firebase Admin
React ⚛️ starter kit with Firebase 🔥 and Bulma for setting up an admin dashboard - Highly scalable, PWA, Serverless
Stars: ✭ 232 (-17.14%)
Mutual labels:  boilerplate, template
Frontend Boilerplate
An ES20XX starter with common frontend tasks using Webpack 4 as module bundler and npm scripts as task runner.
Stars: ✭ 224 (-20%)
Mutual labels:  boilerplate, template
Js Library Boilerplate
Javascript Starter Boilerplate - Webpack 4, Babel 7, UMD, Hot Reloading, and more
Stars: ✭ 202 (-27.86%)
Mutual labels:  boilerplate, javascript-library
Jsuites
jSuites is a collection of lightweight common required javascript web components. It is composed of fully responsive vanilla plugins to help you bring the best user experience to your projects, independent of the platform. Same JS codebase across different platforms.
Stars: ✭ 365 (+30.36%)
Mutual labels:  javascript-tools, javascript-library
Vue Element Starter
Vue starter with Element-UI [READY, unmaintained now]
Stars: ✭ 216 (-22.86%)
Mutual labels:  boilerplate, template
React Landing Page Template
A simple react one page landing page templates for startups/companies
Stars: ✭ 224 (-20%)
Mutual labels:  boilerplate, template
React Hooks Mobx State Tree
React Hooks + MobX State Tree + TypeScript = 💛
Stars: ✭ 169 (-39.64%)
Mutual labels:  boilerplate, template
Typescript Starter
Quickly create and configure a new library or Node.js project
Stars: ✭ 2,953 (+954.64%)
Mutual labels:  boilerplate, template
Extension Create
Create modern cross-browser extensions with no build configuration.
Stars: ✭ 167 (-40.36%)
Mutual labels:  boilerplate, template
Koa Vue Notes Web
🤓 This is a simple SPA built using Koa as the backend, Vue as the first frontend, and React as the second frontend. Features MySQL integration, user authentication, CRUD note actions, and Vuex store modules.
Stars: ✭ 200 (-28.57%)
Mutual labels:  boilerplate, template
Awesome-Javascript
A Curated list of Awesome JavaScript Resources
Stars: ✭ 116 (-58.57%)
Mutual labels:  javascript-library, javascript-tools
Expo Native Firebase
🔥 Native Firebase Expo App (iOS, Android) Demo for Firestore, Notifications, Analytics, Storage, Messaging, Database 🚨
Stars: ✭ 197 (-29.64%)
Mutual labels:  boilerplate, template
Stator
Stator, your go-to template for the perfect stack. 😍🙏
Stars: ✭ 217 (-22.5%)
Mutual labels:  boilerplate, template
Gas Clasp Starter
A starter template for Google Apps Script by clasp
Stars: ✭ 184 (-34.29%)
Mutual labels:  boilerplate, template
Aspnetcore.template
ASP.NET core mvc project template for real world applications
Stars: ✭ 226 (-19.29%)
Mutual labels:  boilerplate, template
Electron Next Skeleton
An example Electron app built with Next.js
Stars: ✭ 168 (-40%)
Mutual labels:  boilerplate, template
React Core Boilerplate
Powerful ASP.NET Core 3 templates with React, true server-side rendering and Docker support
Stars: ✭ 169 (-39.64%)
Mutual labels:  boilerplate, template
Generate
A new command line tool and developer framework for scaffolding out GitHub projects. Generate offers the robustness and configurability of Yeoman, the expressiveness and simplicity of Slush, and more powerful flow control and composability than either.
Stars: ✭ 238 (-15%)
Mutual labels:  boilerplate, template
Javascript Avanzado En Espanol
Esta es una traducción de la serie de libros de You Don't Know JS (book series), la cual es una serie de 6 libros que navegan profundamente en los mecanismos básicos y avanzados del lenguaje JavaScript. La primera edición de la serie está ahora completa.
Stars: ✭ 118 (-57.86%)
Mutual labels:  javascript-tools, javascript-library

Grumbler

https://medium.com/@bluepnume/introducing-grumbler-an-opinionated-javascript-module-template-612245e06d00

A template for writing distributable javascript libraries.

Javascript libraries are fun to write. Setting up all of the boilerplate to get your build up and running is not so fun.

This module provides a forkable module template, which you can use to kick-start a new javascript library. Once you've done that, feel free to come back and switch out the tooling for whatever you prefer.

Features

  • Build minified and unminified versions of your code, with source maps
  • Use ES2015 out of the box
  • Write headless Karma / Mocha tests, which run in Chrome Headless and other browsers, with code coverage reports
  • Integrate with Travis CI out of the box
  • Write error free, type-safe code with ESLint, Flow-Type, and Flow-Runtime

Technologies

  • babel
  • eslint
  • flowtype
  • flow-runtime
  • karma
  • phantomjs
  • chrome headless
  • mocha
  • istanbul
  • webpack
  • npm
  • travis

Quick Start

Getting Started

  • Fork the module
  • Run setup: npm run setup
  • Start editing code in ./src and writing tests in ./tests
  • npm run build

Building

npm run build

Tests

  • Edit tests in ./test/tests

  • Run the tests:

    npm run test
    

Testing with different/multiple browsers

npm run karma -- --browser=PhantomJS
npm run karma -- --browser=Chrome
npm run karma -- --browser=Safari
npm run karma -- --browser=Firefox
npm run karma -- --browser=PhantomJS,Chrome,Safari,Firefox

Keeping the browser open after tests

npm run karma -- --browser=Chrome --keep-open

Publishing

Before you publish for the first time:
  • Delete the example code in ./src, ./test/tests and ./demo
  • Edit the module name in package.json
  • Edit README.md and CONTRIBUTING.md
Then:
  • Publish your code: npm run release to add a patch
    • Or npm run release:path, npm run release:minor, npm run release:major

FAQ

  • Who is this for?

    • Anyone who wants to get started quickly on a javascript library without setting up a lot of boilerplate
    • Anyone who wants a fairly healthy opinionated set of defaults to get started with
    • Anyone new to writing front-end modules, who doesn't want to immediately research which modules to use to build their code
  • Who this is not for?

    • Anyone who needs/wants tight control over their project, and which specific build tools they want to use
  • Why use technology X/Y/Z?

    Probably because it's been a good fit for us in the past. We wanted our focus to be around (fairly) standardized javascript as much as possible, rather than compiled-to-javascript languages, hence the use of babel, flow, etc.

  • So you just took a bunch of build-tools and daisy-chained them together?

    Yep, pretty much. This is not anything remotely technically impressive, or new, or innovative. It's just a healthy set of defaults to get started with if you're building a front-end distributable library.

  • Can I improve this template?

    By all means, please feel to raise a PR, but if it's a big change, try to open an issue first so we can chat!

  • What about support for React, Ember, framework X or Y?

    Wanted to keep this module as framework-agnostic as possible. Not to mention there are already pretty good boilerplates out there for whatever framework you're using, I'll bet. Otherwise please feel free to be my guest and fork grumbler-superawesomeframework if it's helpful.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].