Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@dollarshaveclub/js-utils

Package Overview
Dependencies
Maintainers
11
Versions
280
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dollarshaveclub/js-utils

DSC JS Utils JS utilities to be used across JS repositories.

  • 73.13.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
285
increased by3462.5%
Maintainers
11
Weekly downloads
 
Created
Source

DSC JS Utils

JS utilities to be used across JS repositories.

CircleCI Greenkeeper badge


Folders   Usage   Analytics   Publishing   Browser Docs   Isomorphic Docs


⚠️⚠️ NOTE: this package is published publicly, so do not put any sensitive information in this repository. ⚠️⚠️

Folders

There are 2 key folders which contain utility scripts—browser and isomorphic. Browser utility scripts are meant to be used within a browser. Isomorphic utility scripts are scripts that can be run within any environment.

Browser

Browser-specific utilities scripts.

  • Uses ES6 Modules import/export syntax. Read more about ES6 Modules. Read more.

Isomorphic

Utility scripts that work in any JavaScript environment. Read more.

  • Use CommonJS node module syntax. Read more about CommonJS.

Using JS Utils

Installing NPM:

npm i --save @dollarshaveclub/js-utils

Import the built versions of files from the build folder:

const {
  SHOP_CODES,
  ENVIRONMENTS,
} = require('@dollarshaveclub/js-utils/build/isomorphic/config')

You may be able to use the non-built versions in server environments, but always use the built versions in browser environments.


Analytics Integration

If interfacing with Tracksuit, initialize analytics in the following way.

Initialize once:

// src/bootstrap.js

import bootstrap from '@dollarshaveclub/js-utils/build/browser/bootstrap-data'
import { initializeAnalytics } from '@dollarshaveclub/js-utils/build/browser/analytics'

const faceAssetsFixtures = window.FaceAssetsFixtures
const { study, features } = bootstrap(faceAssetsFixtures)

// Be sure to provide Fixtures, AB Tests, and your specified vendors. Also be
// sure to export this constant if you wish to interface with your analytics
export const analytics = initializeAnalytics(
  faceAssetsFixtures,
  study.assignments(),
  {
    DTM: true,
    GTM: true,
  }
)

Access the export in other files

// app/home/index.js

import { analytics } from '../../bootstrap'

analytics.call('page') // Track page information
analytics.call('trackEvent', {
  event: 'butt',
  category: 'Link Click',
  action: 'movies',
  label: 'The Room',
  value: '',
})

The analytics API uses Tracksuit under the hood. You may pass any Tracksuit function name to the analytics.call function to execute it. All parameters are retained.


Publishing

Automatically updated and published when a release is cut. Also after a successful deploy, please be sure to update the version number and update face-web as well.


FAQs

Package last updated on 25 May 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc