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

dealstarter

v2.1237.1

Published

The Deal Starter Application

Downloads

37

Readme

Team Node Version NPM Version Docker Version

DealStarter

DealStarter(DS) is Digital Retailing's off the shelf deal penciling widget.

Collaboration & List of Core Contributors

Domain Owning Team: GearShift

How to use DS

To use DS you simply have to sign up for an irrational amount of accounts across cox, drop a script tag on your site, call an exposed start method, and sell your first born to Digital Retailing.

Step 1 Sign up for Digital Retailing

Step 2 Drop script on a page your want the widget to show.

Step 3 Call start method with setup config when target div has loaded.

Paramter Store Setup

In order to make acquiring the ALKS keys transparent, you need to do initial setup using alks cli. In order to do that, follow these steps:

  • npm install -g alks if you haven't already
  • alks developer configure and answer with the following answers (1 time operation):
    • ALKS server - https://alks.coxautoinc.com/rest
    • Network Username - Your Network username
    • Network Password - Your Network password
    • Save password - Y
    • Please select your default ALKS account/role - Select your favorite account, recommended to be the one you use for debugging from awsdrstnp AWS Account
    • Please select your default output format - export

Once this is done, npm start will acquire keys for you so you can test.

NOTE: ALKS keys will last 12 hours, so automatic refresh of parameters after that period will stop working, but the service should continue to work with the current parameters.

How to run locally

(for instructions on using widget test with DealStarter read this)

  1. Log into the MakeMyDeal NPM account, someone on your team should be able to provide credentials

  2. Add routes to your local system using one of the following:

    a. Clone Dr-System project and follow instructions in https://ghe.coxautoinc.com/DigitalRetailing/dr-system/blob/master/local-dev-proxy/local-proxy-docs.md.

  3. We have an unified package.json (client & server) that expose this commands, if you wish to run only client or only server, these commands are available:
    npm run client-serve - runs client only
    npm run server-serve - runs server only npm start - runs both server and client Add THEME=default before the client to test with only one theme (no && needed)

    3(a). If you wish to run both client and server locally, you can do so with this command:
    `npm run serve` - runs both client and server
  4. If you want to connect the server to a locally run DR Services API, run this command: SERVICES_GATEWAY_PROTOCOL=http SERVICES_GATEWAY_HOST=127.0.0.1 SERVICES_GATEWAY_PORT=3000 npm run server-serve

  5. To see your running code, you can go to a demo dealer like Aperture Demo Dealer. Navigate to a vehicle page. Once there, add a query parameter to the end of the url dsEnv=local-ssl.

If you use VSCode, you can run client on a terminal with npm run client-serve and from VSCode go to the debugging tab and start server from the debugging dropdown, you will be able to setup breakpoints on server code if you debug from VSCode.

How to run automated tests

In terminal, run npm test which will run server and client tests.

How to run locally-linked dependencies

  1. Navigate to dependency (e.g. dr-platform-shared) and run npm link. Repeat this step for all dependencies you need linked.
  2. In DealStarter, for each dependency you want to link, run npm link ${dependencyName} such as npm link @makemydeal/dr-platform-shared. NOTE: In DealStarter, if you need to run an npm install for any reason and want to avoid having to relink your dependencies, run npm run deeplink. This will act as npm install while preserving local links. It does not create links for you, so you will have to run step 1 first to see a specific dependency linked on DealStarter.

To revert a locally linked dependency back to the latest published version, run the cutlink command with the dependency. Example: npm run cutlink dr-payment-redux will revert @makemydeal/dr-payment-redux to it's published version in package.json

More on running dependencies locally here

How to test using a locally running instance of ShopperPlatform

npm run start-all

Runs both DealStarter and ShopperPlatform concurrently. This script makes the assumption that your DealStarter and ShopperPlatform repos are in the same directory.

How to test all themes locally

There is a dev helper which allows you to see all themes and easily switch between them. You can access it one of three ways:

  • In the console, type: showDevHelper()
  • In the console, type: devHelperUtils.open()
  • Click inside the widget so that it is active. On your keyboard, press these keys: up up down down left right left right

Testing Local Code against Production

Note: Requires a resource override plugin for your browser

  1. Set NODE_ENV to production NODE_ENV=production

  2. Run both client and server

  3. Set your plugin to route https://{shop|accelerate}.dealer.com/static/ds/{liveVersion}/js/* to https://dealstarter-client.makemydeal.dev/static/ds/{localVersion}/js/*
    You can go one level up and remove the js on both if you want to test css or fonts

How to contribute

We thank you! We believe in our cause, but... we don't mind a little sleep either so if you follow the direction below we will owe you a beer (unless its a crap PR.. then you need to buy us one so we can get through reviewing it!).

  • Submit an issue discussing the problem/iteration you would like to see.
  • Branch off master, complete your work, submit PR.
  • Please reference the submitted issue number in any PR with work against said issue.
  • Merges should be squashed using conventional commits, so that we get our versioning working.

Please see CONTRIBUTING.md for more details.

How to test theme changes

THEME=sponsor1,sponsor2 npm run client-serve it will compile only the themes listed (comma separated format), i.e THEME=default,lexus,toyota npm run client-serve if you dont specify a sponsor or THEME it will compile all themes.

Requirements

Getting started

  • npm install
  • npm run dev

Logging

Server Logging

Digital Retailing Logger

Client Logging

Digital Retailing Client logger

Remote Logging

We do our remote logging using splunk. Our splunk data can be found at the following url: https://coxauto.splunkcloud.com/en-US/app/Agera/search

Common Search Terms

  • index="cai_mmd_preprod" eb_env="dr-dealstarter-dev" | search error
  • index="cai_mmd_prod" eb_env="dr-dealstarter-production-blue"

Troubleshooting

  • If you see "https://undefined/js/validateInitState.chunk.js net::ERR_NAME_NOT_RESOLVED" the problem may be caused by having NODE_ENV defined (this is a known issue that will be resolved in future) - use unset NODE_ENV before npm run serve to resolve issue.