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

solv

v1.1.5

Published

Library for building object-oriented APIs

Downloads

133

Readme

Solv

Build Status Code Climate Sauce Test Status Coverage Status Built with Grunt

NPM version Dependency Status devDependency Status

API Documentation

Object-Oriented Modular JavaScript Library

Solv is a collection of AMD JavaScript modules built for object-oriented application development. Solv is very API focused. Solv reduces boilerplate code by handling lots of the plumbing involved in building class APIs (methods, events and properties). Solv is for the browser and for Node.js. It contains tools for:

  • Creating class hierarchies
  • Class mixins
  • Method overloading
  • Declaring default arguments and properties
  • Type checking arguments and return values
  • Custom events
  • and more...

Install

The two easiest ways to install solv are npm and bower. Solv can also be installed by downloading or cloning from github. Solv is a modular library and doesn't offer a concatenated file for distribution. Once Solv is installed each of it's modules can be pulled in when and where needed.

  • To install into a node project - run npm install solv
  • To install into a browser project - run bower install solv
  • To get a copy of the source - run git clone https://github.com/bob-gray/solv.git

Supported Browsers

The browsers and platforms represented below are those that are tested as part of Solv's build.

Selenium Test Status

Design Goals

Solv strives to be as simple and robust in its implementation as possible. Code quality is important. Clean, obvious code is valued over clever, obfuscated code accompanied by verbose comments. Comments are only present in Solv when all attempts to refactor for clarity have failed. Developer productivity is valued over premature optimization. Solv's API is designed to be easy and fun to use.

Prototypes

Solv augments native prototypes to provide the best possible API. There are risks when altering native prototypes. Native prototypes are global and collision with other code or future native APIs is possible. On the other hand, member functions enhance the clarity of many operations. This makes augmenting native prototypes very attractive.

Tests

Solv has a fairly extensive test suite that is continuing to grow. To run tests Node.js and npm must be installed and a couple sets of commands need to be run.

Test from Command Line

  1. Run npm install -g grunt-cli to install grunt command line interface
  2. Run npm install to install test dependencies
  3. Run grunt test to execute test

See Gruntfile for more test and analysis options.

Test in Browser

  1. Run npm install -g bower to install bower
  2. Run bower install to install test dependencies
  3. Open tests/index.html in the browser of your choice

Meta

Solv is being developed in conjunction with meta-json and api-meta, projects advocating the use of meta data declared as JSON. This meta data can then drive runtime behavior and be parsed statically for documentation generation. Solv includes a meta runtime implementation that is meta-json compliant and many of the methods contained in Solv accept options objects comforming to api-meta. Building application with Solv and declaring options with meta means documenations is tied directly to implementation. meta-json and api-meta are still works in progress as is Solv. Stay tuned...