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

spallinsonjs

v1.4.3

Published

A Web App Framework

Downloads

38

Readme

SPAllinsonJS

v1.4.3

Description

MVC JS framework for building SPAs

Features

Routing

Easily manage the loading of content into divs

History

SPAllinsonJS tracks history allowing for functional prev/next browser buttons, and page reloading

Deeplinking

Deeplink into any part of your application (e.g. from an email to your download page)

Bookmarking

Allow users to bookmark the page (route) they are on

Services & Singletons

Create reusable Services and Singletons

Note

Pass messages (w/ optional data) around between Controllers within your application

Data Binding (One-Way)

Bind data from your Components' models to their Views

Data Rebinding

Manually rebind bound data (whenever you know the model has changed)

Repaint

Manually update a Component's View (whenever you know the model has changed)

Component

Inject an entire Component into a View

Repeat

Repeat a Component over an array of data

Eval

Perform eval() within your View

AJAX

Easily perform, handle and cancel HTTP Requests (with optional caching)

Locale

Specify language specific content using key/values

Testing

Unit test your app using SPAllinsonJS-v1.4.3--test.min.js

Splash Screen

Initial loading page presented to the user upon launch

Preloading

While the Splash Screen is being displayed, have SPAllinsonJS preload specific Components (i.e. their associated html, css, images and js)

Offline

Your app can work offline forever after just one initial Splash Screen load

Debug Console

Debugging made a lot easier

Garbage Collection

SPAllinsonJS is very memory oriented, keeping only what it needs in at any one time!

Browser Support

Vast!

Bundling

Support for HTML and JS bundles to help reduce server calls, and segment your app as you choose

Plugins

Alert

Display page level messages to the user

Lightbox

Load any content into this full page fading div with transparent background

Storage

Temporarily and Permanently store and retrieve data (key/values)

Revision History

v1.4.3

  • Added view bundling support

v1.4.2

  • Major improvements to routing sequencing

  • Fade in/out speed now customizable via A.Settings.fadeSpeedMills

v1.4.1

  • Apps now testable using SPAllinsonJS-v1.4.1--test.min.js

v1.4.0

  • BREAKING: RouteRules condition now takes a function that return a bool

  • BREAKING: A.Ajax now has methods: request, get, post, put, delete and patch

  • BREAKING: A.Repaint, A.Repeat, A.Append, A.Rebind and A.Component all now take a component instance (i.e. self instead of self.me)

  • BREAKING: A.Note now takes a component instance and a function (i.e. self instead of self.me, and self.methodName instead of 'methodName')

  • BREAKING: A.MemoryManagement interface change

  • BREAKING: Components are automatically init'd with me and model properties

  • BREAKING: Component lifecycle methods are now init, viewDidAppear and dealloc

  • Major performance enhancements

  • Component lifecycle methods are now optional

  • A.Settings.components['ComponentName'].view can now take a function that returns a string

  • Many A.Settings keys are now optional

  • Debug Console Ui and performance enhancements

v1.3.4

  • A.Ajax now errors out upon a 500

  • Repeat over empty array now clears container

  • Complex Go/Repaint cycles (MVVM) bugfixes

  • _A_Content reverted back to position: absolute which fixes 'fade' for 'app'

v1.3.3

  • Repaint bugfixes

v1.3.2

  • Preload bugfix

v1.3.1

v1.3.0

  • BREAKING: A.loadScript() removed, use A.MemoryManagement.loadScript()

  • BREAKING: A.currentRoute removed, use A.Routing.currentRoute

  • Support for Query String

  • A.Router.currentQueryString

  • Revised core CSS to be less restrictive

  • Bugfix for displaying 0 using [B: ]

v1.2.5

  • Added A.Repaint allowing full view updating

  • Added A.Settings.fallbackRoute to handle "route not found"

  • [L: ] no longer wraps value in tag

  • A.Append bugfix (child Components are no longer destroyed)

  • A.loadScript() deprecated (use A.MemoryManagement.loadScript() instead)

  • A.currentRoute deprecated (to be replaced with A.Routing.currentRoute in v1.3.0)

  • Performance enhancements

v1.2.4

  • Memory Management and Script Management updated to allow for JS Bundles!

  • A.Settings.splash now optional

v1.2.3

  • A.Settings.routeRules added

  • Debug Console added to --debug release

  • Logging removed

  • Enhanced error handling

v1.2.2

  • Added back [E: ] which was removed just before v1.0.0

v1.2.1

  • Bugfixes around null/dne data being passed into [B: ], [R: ] & [C: ]

  • Callbacks of Repeat, Append & Component fixed to be optional

v1.2.0

  • BREAKING: Moved and changed A.Settings.appDoesFadeIn to A.Settings.splash.doesFadeOut

  • Completion handling added to A.Go(), A.Repeat() & A.Append()

  • Debug build "SPAllinsonJS-v1.2.0--debug.min.js" (which enables logging) included in release

  • A.AJAX caching bugfixes

  • Added A.unloadScript(url) util

  • Enhanced error handling

  • Enhanced performance

  • Enhanced logging

v1.1.0

  • [C:] "Component" ... allows injecting of an entire Component into a container in a view

  • Locale now a SPAllinsonJS core feature

  • Enhancement to A.Ajax ... it now returns the requestObject allowing cancelling of requests

  • Enhancement to A.Ajax ... revisions to what success and error returns

  • Enhancement to A.Ajax ... revisions to what error codes return success and error

  • Fixed memory leak during dealloc'ing [C: ] & [R: ] created components

  • Fixed history issue related to [C: ] & [R: ] created components

SPAllinsonJS Documentation

Example Apps

Docs

All documentation can be found on the official site: www.spallinsonjs.com

Copyright

All content © Chris J. Allinson 1996 - Present. All rights reserved.