Skip to content

Inject polyfill from polyfill.io to nuxt project

License

Notifications You must be signed in to change notification settings

adenvt/nupolyon

Repository files navigation

Nupolyon

npm version npm downloads License

Auto-Inject polyfill from https://cdnjs.cloudflare.com/polyfill/

⚠️ WARNING

DON'T USE THIS MODULE, POLYFILL.IO HAS BEEN REPORTED INJECTING SOME MALICIOUS CODE. TEMPORARY WE MOVE THE URL TO CLOUDFLARE'S MIRROR.

https://www.bleepingcomputer.com/news/security/polyfillio-javascript-supply-chain-attack-impacts-over-100k-sites/

https://sansec.io/research/polyfill-supply-chain-attack

https://www.theregister.com/2024/06/25/polyfillio_china_crisis/

https://www.scmagazine.com/brief/over-100k-sites-hit-by-polyfill-io-supply-chain-attack

Features

See the detailed feature explanation here: #58 (comment)

Quick Setup

  1. Add nupolyon dependency to your project
npx nuxi@latest module add nupolyon
  1. Add nupolyon to the modules section of nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    'nupolyon'
  ]
})

That's it! You can now use Nupolyon in your Nuxt app ✨

Configuration

export default defineNuxtConfig({
  modules: [
    'nupolyon'
  ],
  nupolyon: {
    // change host
    host: 'http://my-own-cdn.com/polyfill.min.js'
    // or enable self-host mode
    host: 'selfhost'

    // customize browserslist's target
    target: 'defaults'
  },
})

Development

# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release

License

This project published under MIT License, see LICENSE for more details.