New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

shopify-polyfills-beta

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

shopify-polyfills-beta

Blessed polyfills for web platform features.

  • 0.0.4-beta.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-93.75%
Maintainers
1
Weekly downloads
 
Created
Source

@shopify/polyfills

Build Status License: MIT npm version npm bundle size (minified + gzip)

Blessed polyfills for web platform features. Exports browser and node polyfills where appropriate.

The following polyfills are currently exported:

  • baseline - The minimum required polyfills for a Shopify app to work in a legacy browser. This includes:
    • @babel/polyfill
    • unhandled-rejection
    • fetch
  • baseline.node - The minimum required polyfills for a Shopify app to work in node. This includes:
    • @babel/polyfill
    • fetch
  • fetch (fetch.node): Polyfills whatwg-fetch in the browser and isomorphic-fetch in node
  • url (url.node): Polyfills URLSearchParams
  • intl: Browser only, polyfills Intl.PluralRules

Installation

$ yarn add @shopify/polyfills

Usage

No index file is exported. You must specify the polyfills that you actually need in your project.

In a project:

import '@shopify/polyfills/baseline';
import '@shopify/polyfills/url';

Module Bundler Configuration

This module also provides a way to configure your bundler to remap polyfill imports based on the environment being built for. For example, if you are building for node, you can have your bundler remap @shopify/polyfills/fetch to @shopify/polyfills/fetch.node. This allows you to maintain only one list of polyfills in your app codebase. Sewing-kit will perform this translation for you automatically.

For this example usage, we will use webpack.

import {mappedPolyfillsForEnv} from '@shopify/polyfills/config';

module.exports = {
  resolve: {
    alias: {
      ...mappedPolyfillsForEnv(env.isServer ? 'node' : env.supportedBrowsers),
    },
  },
};

The argument for mappedPolyfillsForEnv can be either 'node' or a string (or array of strings) provided by the browserslist module. These will then be run through caniuse to determine if each polyfill is required for that particular browser or combination of browsers. If it is not, imports for that polyfill will be no-op.

You can use this to build two (or more) browser bundles that contain different amounts of polyfills to serve to different browsers. Note, however, that this would also required server support to serve a different built bundle based on a request's user agent.

FAQs

Package last updated on 14 Dec 2018

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