A state container for javascipt applications.

Downloads in past


1.0.15 years ago5 years agoMinified + gzip package size for baggage in KB


alt textBaggage
GitHub license npm (scoped) build status Github file size
Baggage is a fun, lightweight state container for JavaScript applications.
It helps you create consistency across your web applications and reduce the number of repetitive calls to the back-end. Just create a class and check it in at with the baggage handler. Baggage provides a selective level of data caching that can persist through page refresh and even the browser closing.
You can use Baggage together with React, Ember, Aurelia, Vue.js, or with any other view library.
It is a tiny package and has no dependencies.
Table of Contents
- [Handler](#handler)
    - [.Check(class)](#handlercheckclass)
    - [.Check(class, level)](#handlercheckclass-level)
    - [.Claim()](#handlerclaim)
- [Store Levels](#store-levels)
    - [CarryOn](#carryon)
    - [Checked](#checked)
    - [Excessive](#excessive)


npm install baggage --save 

Basic Usage

  1. Create a class

export default class ApplicationStore {
    constuctor() {
        this.username = null;

  1. Check the class with the Baggage Handler on the entry file (example: app.js)

import { Handler } from 'baggage';
import ApplicationStore from './ApplicationStore';


  1. Access the class from Baggage for future Read/Write operations

import { ApplicationStore } from 'baggage';

ApplicationStore.username = 'gregg2';

API Reference


The Handler is used to manage the data that is being stored with Baggage.
import { Handler } from 'baggage';
// - OR - //
const { Handler } = require('baggage');
// - OR - //
var baggageHandler = require('baggage').Handler;



Adds class to the store at the lowest level store cache (aka CarryOn).

Handler.Check(class, level)

Adds class to the store at the store level passed into the function.


Removes all registed classes. This function is good to use on logout or if all data needs to be reset in an application.

Store Levels


  • Level 1 Store.
  • Data persists until tab/window is refreshed, closed, or Handler.Claim() is executed.

import { CarryOn } from 'baggage';
// - OR - //
const { CarryOn } = require('baggage');
// - OR - //
var level = require('baggage').CarryOn;


  • Level 2 Store.
  • Data persists until tab/window is closed or Handler.Claim() is executed.

import { Checked } from 'baggage';
// - OR - //
const { Checked } = require('baggage');
// - OR - //
var level = require('baggage').Checked;


  • Level 3 Store.
  • Data persists until Handler.Claim() is executed.

import { Excessive } from 'baggage';
// - OR - //
const { Excessive } = require('baggage');
// - OR - //
var level = require('baggage').Excessive;

Future Development

  • Baggage for React-Native Apps.
  • Baggage package that has security in mind.

Todo List

  • Create extensive API documentation.
  • Add a CONTRIBUTING guide.