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

@heroku/purple

v1.2.0

Published

A UI kit for Heroku's web interfaces. To get started, check out https://purple.herokuapp.com!

Downloads

177

Maintainers

srishtigautamsrishtigautamaklimaiteaklimaitejsullivandigsjsullivandigsjulianduque-sfdcjulianduque-sfdccwallsfcwallsfmsaminenimsaminenijeffrey.estradajeffrey.estradadlira-sfdlira-sfntonollierntonollierdaebumleedaebumleetetsuya_tetsuya_mttrmttrelearyelearysalesforce-releasessalesforce-releasesbhawnaherokubhawnaherokurevativelagadarevativelagadadboston528dboston528anujpandey001anujpandey001sripad.kulkarnisripad.kulkarnibemory-herokubemory-herokuchetankd10chetankd10rafaydinrafaydinkbaird-sfkbaird-sfkscareykscareycbaxtersfcbaxtersfryoneyamaryoneyamaadirasanamadirasanammengxiao.zhaomengxiao.zhaonrisaronrisarocmarcojoscmarcojosadirksmeieradirksmeiermgates-salesforcemgates-salesforceademusoyoademusoyoelzoonaelzoonachristopher.josechristopher.josejondaniel-sfdcjondaniel-sfdcdhagberg-sfdhagberg-sfbencdentonbencdentonlsangalang2023lsangalang2023marcelsfdcmarcelsfdcccaseyccaseyjoeybrown90sfjoeybrown90sfsuppadasuppadadiana.doherty.sfdcdiana.doherty.sfdcryanbrainardryanbrainardrsoerensenrsoerensenjasoncummings-herokujasoncummings-herokusconklinsconklinbrock-salesforcebrock-salesforcetkoh-sfdctkoh-sfdcgnettergnettercoreypurcell_salesforcecoreypurcell_salesforceswapnilghoseswapnilghosestessema-sfcstessema-sfcjmonrealjmonrealbrittany.jonesbrittany.jonesnnaidu9nnaidu9rstiltonsfrstiltonsfnilamuthunilamuthusghaffarsghaffarcdwort-sfdccdwort-sfdcagatpareekagatpareekaaronromeosfdcaaronromeosfdckpremkumarkpremkumarrchandarchanda7ftz7ftzxx-sfdc-npmxx-sfdc-npmcv88cv88ekozilforceekozilforceumarsfdcumarsfdcbeanieboibeanieboindavidson-sfndavidson-sfmingzhi-liu1258mingzhi-liu1258angelcampbellangelcampbellmandeepsfmandeepsfyann_ckyann_ckdasofieidasofieirajashri-gurusamyrajashri-gurusamysudarshanhiraysudarshanhirayalex_herokualex_herokusbosio_sfsbosio_sfsarahoh2468sarahoh2468justinwilaby-sfjustinwilaby-sfcmcclung-npm-salesforce.comcmcclung-npm-salesforce.comtlowrimoretlowrimorejonnymacjonnymacvish_herokuvish_herokuharish.457harish.457paulaprado18paulaprado18ptemporiniptemporinitcareysmith-sfdctcareysmith-sfdcrobinson.mrobinson.mgrundy.ggrundy.gdkabanov1dkabanov1cgfuhcgfuhrdagg-herordagg-herok80bowmank80bowmansheax0rsheax0rdpark.herokudpark.herokuafraidknotafraidknotdaniel.brightdaniel.brightjdowningjdowningabhinavkoulabhinavkouljoshwlewis-sfdcjoshwlewis-sfdcviniljainviniljaineblackeblackk.plentyk.plentyapadalaapadalajhili!16jhili!16lsorstokkelsorstokkercrossrcrosskdreyerorenkdreyerorendhammer25dhammer25tenharmsel_sftenharmsel_sfdougmcinnes-sfdcdougmcinnes-sfdchillzbot2000hillzbot2000chap-herokuchap-herokumichellejhlimmichellejhlimmbuschherokumbuschherokureidmixreidmixbeckychenbeckychensmrutisamantasmrutisamantaapoorvasrivapoorvasrivsfalansfalanp.shreyap.shreyasai_harshitha_neelasai_harshitha_neelanlanattanlanattavammundravammundradreichenbergdreichenbergkamakshinagarkamakshinagarvlazukavlazukamarsmarsheroku-front-endheroku-front-endrichatiwaririchatiwariwchrisjohnsonwchrisjohnsonthe7okathe7okasimonebonettisfitasimonebonettisfitalucaszhoulucaszhoupsalimpsalimnrenkenrenketaylor.jonestaylor.jonesangelayoungangelayoungmble-sfdc-2mble-sfdc-2ktsforcektsforcehkiihkiikerry-bennettkerry-bennettpranamsharmapranamsharmasfjonnpmsfjonnpmcory.steelecory.steelegkomminenigkomminenikmichalskiskmichalskissmukusmukuykatzykatzdgallegossfdcdgallegossfdcdzuelke-sfdcdzuelke-sfdcrishabh.wasonrishabh.wasonsarassassinsarassassinarajaarajav.anandv.anandlmckenzielmckenziejordaneekeyjordaneekeyjmccartiejmccartiedaigo-herokudaigo-herokumimenmimenjheikesjheikesjwadsworthsfjwadsworthsfsaikrishna0202saikrishna0202pfuentepfuentemontes_herokumontes_herokubleongbleongpaguilarpaguilarjoanneyeungjoanneyeungsbaner18sbaner18zli-sfzli-sflalitreddylalitreddypbommapbommamarcusblankenshipmarcusblankenshipsruthichsruthichmgomes-herokumgomes-herokujesse.brown-sfjesse.brown-sftij005tij005tholschuh-salesforcetholschuh-salesforcetholmes-sfdctholmes-sfdcannajohnson-sfannajohnson-sfvjohnevjohne

Readme

Purple

A UI kit for Heroku's web interfaces. To get started, check out https://purple.herokuapp.com!

Quickstart

Developing

Dependencies

  1. nodejs + npm

New Releases

Please follow the instructions in the HIT repo when making a new release.

https://github.com/heroku/hit/blob/master/purple-deployment-instructions.md

Spinning it up locally

npm install
npm start

Now open localhost:5000 in your browser.

See the Private Repo Resolution section below.

Live development in npm package consumer

With this package installed locally, you can make changes to the source and have them reflected on the fly in a bower-based consumer. There is no need to manage and push to remote branches to test.

  1. in your purple directory run bower link
  2. then run gulp watch to automatically compile changes
  3. cd into your other bower-based project
  4. run bower link purple
  5. ensure that any task runner you have (grunt, gulp, etc.) is watching for changes to your node_modules directory and recompiling that projects own assets. In grunt this would look like:
watch: {
    purpleScripts: {
        files: ['node_modules/purple/dist/js/*.js'],
        tasks: ['concat:bower']
    },
    styles: {
        files: ['assets/styles/**/*.scss', 'node_modules/purple/dist/css/*.css'],
        tasks: ['sass']
    }
}
  1. To revert back to that project's bower.json specified version of purple, run bower uninstall purple and then bower install

Now you should be all set.


Private Repo Resolution

As long as this is a private repo, we must take a few steps in order to be able to smoothly deploy this on the Heroku platform

Local setup

Make sure you have GitHub password caching setup.

If you have enabled 2-Factor Auth on GitHub (and you should!) your GitHub password will not authenticate https remotes. You must get an OAuth token to do so. Follow these steps:

  • On GitHub, open your Account settings.
  • Go to the Applications tab.
  • Generate a new Personal Access Token. Name it appropriately.
  • Copy the generated token and paste it into some secure password manager like 1Password or LastPass.
  • When you try to clone a https repo, paste in your token rather than typing your GitHub password.
  • The git credential.manager configured above will store your OAuth token for all future HTTPS interaction with GitHub.

Production Setup

In order to access this repo via bower in production, do the following (assuming you already have a buildpack set):

  1. heroku buildpacks:add https://github.com/timshadel/heroku-buildpack-github-netrc
  2. ask Jack to generate a new read-only token for you from the heroku github read-only team Alternatively, create a new github user, add them to the read-only github team and then generate a personal access token for them.
  3. run heroku config:set GITHUB_AUTH_TOKEN=<my-read-only-token> for the production app

Rails setup

Using Sprockets

Ruby projects can include purple from our internal gem server. Be sure to specify the correct source.

gem 'purple'

Run bundle install and add the following line to your application.scss or equivalent file:

@import 'purple/rails';

Also add the following line to your application.js or equivalent file:

//= require purple/rails

That's all!

Notice: you'll still need to configure Github password caching.

Deploying

  1. run heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git to setup multi buildpacks
  2. create a .buildpacks file and add:
https://github.com/timshadel/heroku-buildpack-github-netrc.git
https://github.com/heroku/heroku-buildpack-ruby.git
  1. Follow the directions here to allow bower to download from the private purple repo.

CDN

The fastest way to get started is to use our CDN:

<link rel="stylesheet" href="//www.herokucdn.com/purple/1.0.0/purple.min.css">
<script src="//www.herokucdn.com/purple/1.0.0/purple.min.js"></script>

For a list of available purple versions, see herokucdn.com/purple/.