npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

brisket

v1.14.0

Published

Framework for building single page web apps using isomorphic Javascript

Downloads

177

Readme

Brisket

Build Status Code Climate

For changes see the Changelog. You can also find older versions at 0.x

About Brisket

Brisket is a framework for building single page web apps using isomorphic JavaScript. A Brisket app is both a traditional web site AND a single page web application at the same time. Brisket provides the tools that you need to spend your time focusing on your application's logic rather than on "what environment is my code running in?".

Getting Started

Using generator-brisket is the fastest way to get started.

Install Yeoman:

npm install -g yo

To install generator-brisket from npm, run:

npm install -g generator-brisket

Create a directory for your app:

mkdir projectname
cd projectname

Finally, initiate the generator and run your app:

yo brisket && npm start

Your first brisket app will be available at http://localhost:8080

Getting More Started

Now that you have a working app, check out our Recipes for common use cases.

Documentation

Brisket Concepts And High Level Systems

Brisket's Parts

  • Brisket.App: Initialize your application with Brisket.App.
  • Brisket.createServer: A function that returns an express engine that you can use in your application to run the server.
  • Brisket.Router: An implementation of Backbone.Router that routes on client and server.
  • Brisket.Events: A proxy to Backbone.Events that exposes a noop on the server to avoid server-side memory leaks.
  • Brisket.View: Our version of a Backbone.View that allows support for some of the core features - reattaching views, child view management, memory management, etc.
  • Brisket.Layout: A specialized View that handles meta tags, page title, etc.
  • Brisket.Templating.TemplateAdapter: Inherit from this to tell Brisket how to render templates.
  • Brisket.Templating.StringTemplateAdapter: The default template adapter. Set a View's template key to be a string template to get started.
  • Brisket.version: The version of Brisket. On the client, the version can be accessed by window.Brisket.version.
  • Brisket.onError: Registers error callback.

Using Brisket in your project

Install the Brisket into your project:

npm install brisket --save

Bundling your Brisket application

Check the Bundling With Browserify Recipe!

Compatibility and Requirements

Please refer to package.json for Brisket's dependencies

Node.js Support

Brisket officially supports Node.js >=4.0.0 i.e. it is tested in the latest versions of Node. However Brisket likely works with Node 0.10.0, 0.11.0, 0.12.0, and io.js >=3.0.0.

Browser Support

Chrome, Firefox, Safari, iOS 6+, Android 4+, Internet Explorer 9+

For support in older versions of IE you can include your favorite shim libraries in the head of your layout. For example to support IE8 include the following in your head tag:

<!--[if lt IE 9]>
    <script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/es5-shim/2.3.0/es5-shim.min.js'></script>
    <script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/es5-shim/2.3.0/es5-sham.min.js'></script>
<![endif]-->

To support IE7, include the snippet above AND the following:

<!--[if lt IE 8]>
    <script type='text/javascript' src='http://cdnjs.cloudflare.com/ajax/libs/json3/3.3.1/json3.min.js'></script>
<![endif]-->

Note: In IEs < 10, the single page app functionality that Brisket provides will not work since pushState is not available. Brisket does not support hash tag SPA's. When the SPA functionality is disabled, Brisket will operate like a standard website i.e. clicking application links will cause a page reload.

Development

Install dependencies:

$ npm install

To run the test suite:

$ npm test

To run benchmarks:

$ npm run benchmarks

Troubleshoot

jsdom error with Legacy Node.js and io.js

For Node.js 0.10.x, 0.11.x and 0.12.x, specify the version of jsdom to be v3.x,

rm -rf ./node_modules/brisket/node_modules/jsdom
npm install jsdom@3 --save

For io.js, specify the version of jsdom to be v6.x,

rm -rf ./node_modules/brisket/node_modules/jsdom
npm install jsdom@6 --save

License

Apache License (Version 2). See license text in LICENSE.

Copyrights and Names

Brisket originated at Bloomberg Finance LP. The name 'Brisket' is a service mark of Bloomberg LP.