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

vulnerability-ui

v0.0.3

Published

[![Build Status](https://travis-ci.org/RedHatInsights/vulnerability-ui.svg?branch=master)](https://travis-ci.org/RedHatInsights/vulnerability-ui) [![GitHub release](https://img.shields.io/github/release/RedHatInsights/vulnerability-ui.svg)](https://github

Downloads

4

Readme

Build Status GitHub release codecov

Vulnerability UI

Getting Started

There is a comprehensive quick start guide in the Storybook Documentation to setting up an Insights environment complete with:

Run developer setup

  1. Use https://github.com/RedHatInsights/insights-proxy/blob/master/scripts/patch-etc-hosts.sh to patch your /etc/hosts

  2. Run proxy

SPANDX_CONFIG="./config/spandx.config.js" bash $PROXY_PATH/scripts/run.sh
  1. npm run start

Running locally

Have insights-proxy installed under PROXY_PATH

SPANDX_CONFIG="./config/spandx.config.js" bash $PROXY_PATH/scripts/run.sh

Testing

  • Travis is used to test the build for this code.
    • npm run test will run linters and tests

Deploying

  • any push to the master branch will deploy to the vulnerability-ui-build ci-beta branch
  • any push to the ci-stable branch will deploy to the vulnerability-ui-build ci-stable branch
  • any push to the qa-beta branch will deploy to the vulnerability-ui-build qa-beta branch
  • any push to the qa-stable branch will deploy to the vulnerability-ui-build qa-stable branch
  • any push to the prod-beta branch will deploy to the vulnerability-ui-build prod-beta branch
  • any push to the prod-stable branch will deploy to the vulnerability-ui-build prod-stable branch
  • Pull requests (based on master) will not be pushed to the vulnerability-ui-build master branch
    • If the PR is accepted and merged, master will be rebuilt and will deploy to the vulnerability-ui-build ci-beta branch

Patternfly

Insights Components

Insights Platform will deliver components and static assets through npm. ESI tags are used to import the chroming which takes care of the header, sidebar, and footer.

Technologies

Webpack

Webpack.config.js

This file exports an object with the configuration for webpack and webpack dev server.

{
    mode: https://webpack.js.org/concepts/mode/,
    devtool: https://webpack.js.org/configuration/devtool/,

    // different bundle options.
    // allows you to completely separate vendor code from app code and much more.
    // https://webpack.js.org/plugins/split-chunks-plugin/
    optimization: {
        chunks: https://webpack.js.org/plugins/split-chunks-plugin/#optimization-splitchunks-chunks-all,
        runtimeChunk: https://webpack.js.org/plugins/split-chunks-plugin/#optimization-runtimechunk,

        // https://webpack.js.org/plugins/split-chunks-plugin/#configuring-cache-groups
        cacheGroups: {

            // bundles all vendor code needed to run the entry file
            common_initial: {
                test: // file regex: /[\\/]node_modules[\\/]/,
                name: // filename: 'common.initial',
                chunks: // chunk type initial, async, all
            }
        }
    },

    // each property of entry maps to the name of an entry file
    // https://webpack.js.org/concepts/entry-points/
    entry: {

        // example bunde names
        bundle1: 'src/entry1.js',
        bundle2: 'src/entry2.js'
    },

    // bundle output options.
    output: {
            filename: https://webpack.js.org/configuration/output/#output-filename,
            path: https://webpack.js.org/configuration/output/#output-path,
            publicPath: https://webpack.js.org/configuration/output/#output-publicpath,
            chunkFilename: https://webpack.js.org/configuration/output/#output-chunkfilename
    },
     module: {
         rules: https://webpack.js.org/configuration/module/#module-rules
     },

     // An array of webpack plugins look at webpack.plugins.js
     // https://webpack.js.org/plugins/
     plugins: [],

     // webpack dev serve options
     // https://github.com/webpack/webpack-dev-server
     devServer: {}
}

React

  • High-Order Component

  • Smart/Presentational Components

    • Smart components have access to the redux state
    • Presentational components do not have access to the redux state
    • Smart Components === insights-frontend/app/js/states
    • Presentational Components === insights-frontend/app/js/components
  • State and lifecycle within class components

    • article contains:
      • Adding Lifecycle Methods to a Class
      • Adding Local State to a Class
      • State Updates May Be Asynchronous
      • State Updates are Merged

Redux

Store

A store holds the whole state tree of your application. Redux doesn't have a Dispatcher or support many stores. Instead, there is just a single store with a single root reducing function.

Create Store: createStore(reducer, preloadedState, enhancer)

Actions

Actions are payloads of information that send data from your application to your store. They are the only source of information for the store. You send them to the store using store.dispatch(). Redux actions should only have two properties, type and payload, as a best practice.

Reducers

Reducers specify how the application's state changes in response to actions sent to the store.

Ex) /src/api/System/getSystems.js

React-redux

React-router-dom

When setting up the routes, the page content is wrapped with a .page__{pageName} class, applied to the #root ID that is determined by the rootClass in the Routes.js which lets you easily reference the page in the styling.

  • BrowserRouter
    • A <Router> that uses the HTML5 history API (pushState, replaceState and the popstate event) to keep your UI in sync with the URL
  • Route
  • Switch
    • Renders the first child <Route> or <Redirect> that matches the location.
  • Redirect
    • navigate to a new location
  • withRouter
    • passes updated match, location, and history props to the wrapped component whenever it renders

9eb7991... Update Travis release scripts and alter publicPath for "production" build when branch is beta. (#50)