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

webrx-react

v0.17.22

Published

ReactJS + WebRx + RxJS + Bootstrap: MVVM for Single Page Web Applications

Downloads

1,314

Readme

webrx-react Framework

This project is mostly stable but is still in development. If you'd like to contribute, please submit a Pull Request.

webrx-react is a reactive web UI framework written in TypeScript that leverages Observables from RxJS 5, properties and commands from an internal lightweight port of WebRx, performant rendering from Facebook's React, and consistent styling from Twitter's Bootstrap (as well as react-boostrap to bridge the gap with React).

This framework can be imported into another TypeScript project (recommended approach), imported into a JavaScript project, or you can alternatively just choose to work directly on a fork of this repository.

webrx-react is designed to be a single page web app framework that uses observables to drive rendering of React components. This framework comes with a number of foundationary components that allow you to compose more complex but consistent looking web apps.

Build Status npm Version npm Downloads npm License Dependency Status tslint

webrx-react Demo

View the Demo

Quick Start

This framework comes with a built-in demo that can be viewed in the browser. Simply run npm install && npm start and browse to http://localhost:3000/ to play around with the components built into this framework.

Using webrx-react

To start building your own components using webrx-react framework, you may want to start by looking at the included foundationary components (and component demos). These components and demos offer the best hands on introduction to how everything works together.

TypeScript

When using typescript to import this framework you can either import the whole API or individual modules.

Import the whole api by adding this line: import * as wxr from 'webrx-react';. Now you can access each namespace via the API surface using the wxr import alias (i.e., new wxr.Components.BaseViewModel()).

Import individual modules directly by supplying a path starting with webrx-react/ (i.e. import { BaseViewModel } from 'webrx-react/Components';).

JavaScript

TBD

Development

If you are developing for webrx-react, the best strategy is to run npm start and use the browser to test out your changes.

You can also run npm run watch:test if you are working on tests, or npm run lint if you want to fix linter errors.

Build Testing

Sometimes it may be useful to test development builds against an existing project. This is possible through the deploy:modules script and providing a custom dest path. You will want to first install webrx-react through npm into the other project, then you can use the command below to perform a test build and custom deploy to your project path.

npm run version:modules && npm run build:modules && npm run deploy:modules -- --env.dest /path/to/project/node_modules/webrx-react

NOTE that not all npm files are deployed using this script, there are a number of files at the root of webrx-react that do not get deployed but are required for various build processes. The reason these files do not get deployed is that their source and destination paths are typically the same. If required, you can manually copy the files at the root into build/modules after running the build:modules script and then re-run the deploy:modules script to deploy all files to a custom path.

Deploying Github Pages

The Github pages bundle can be deployed using the npm run bundle:docs script. Once run, the changes need to be pushed up to the master branch in order for the changes to be visible on Github pages.

Bundle Profiling

Webpack bundles can be profiled to validate optimized bundling, minimizing size, and deduplication of modules. Profiled bundles produce a stats.json file beside the bundler output. To profile a webpack bundle, use the --env.profile flag. i.e.,

npm run bundle -- --env.profile

The following tools are useful at processing profiled bundle stats files:

  • https://webpack.github.io/analyse/
  • https://chrisbateman.github.io/webpack-visualizer/
  • https://alexkuz.github.io/webpack-chart/
  • https://alexkuz.github.io/stellar-webpack/