• Stars
    star
    1,097
  • Rank 42,257 (Top 0.9 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 1 year ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Speed up your package installation process, reduce your disk usage, and extend the lifespan of your precious SSD.

no(po)lyfill

Speed up your package installation process, reduce your disk usage, extend the lifespan of your precious SSD by reducing your node_modules size.

Why

While you are embracing the latest features and security fixes by installing the latest Node.js LTS, packages like eslint-plugin-import, eslint-plugin-jsx-a11y, eslint-plugin-react, and many others maintained by ljharb are still trying to support the long-dead Node.js 4 by adding tons of polyfills. These polyfills are inflating your node_modules size, wasting your disk space and slowing down your npm i / yarn / pnpm i commands. And what's worse, ljharb uses the polyfill implementation even when a native version is available in the environment, which makes the code run slower.

Whether to support Node.js 4 is up to ljharb, but most of you should not be forced to install polyfills for a Node.js version that has been dead since 2018-04-30.

When not to use

  • Your Node.js version is below 12.4.0.
  • You are targeting an environment that doesn't have full ES2019 support (which you really should use core-js or core-js-pure instead. It is significantly faster).

How to use

You can use the nolyfill CLI to replace the redundant polyfills with their super lightweight alternatives, just run following command in your project directory:

npx nolyfill
# You can also specify the path to your project directory:
npx nolyfill ~/projects/my-project

This will find and list all redundant polyfills in the current project directory. You can then use the install command to replace them:

npx nolyfill install
# Or in the specified directory:
npx nolyfill install ~/projects/my-project

CLI Options

--pm

By default nolyfill CLI will try to detect the preferred package manager of the project automatically. You can manually specify the package manager by using the --pm option. Supported options are npm, yarn, pnpm and auto (default).

-d, --debug

Print full error messages and error stacks when an error occurs.

-v, --version

Print the current version of the nolyfill CLI.

-h, --help

Print the help message.


nolyfill © Sukka, Released under the MIT License. Authored and maintained by Sukka with help from contributors (list).

Personal Website · Blog · GitHub @SukkaW · Telegram Channel @SukkaChannel · Mastodon @[email protected] · Twitter @isukkaw · Keybase @sukka

More Repositories

1

Koolshare-Clash

🐱 Run Clash Tunnel on Koolshare OpenWrt
ASP
1,279
star
2

DisqusJS

💬 Render Disqus comments in Mainland China using Disqus API
TypeScript
591
star
3

Surge

由 Sukka 搜集、整理、维护的、个人自用的、仅适用于 Surge 的 Rule Snippet
JavaScript
583
star
4

hexo-theme-suka

🎨Modern, powerful and simple theme for Hexo.
CSS
580
star
5

nali-cli

⚓ Parse geoinfo of IP Address without leaving your terminal
JavaScript
393
star
6

zsh-proxy

🔩 An oh-my-zsh plugin to configure proxy
Shell
369
star
7

foxact

React Hooks/Utils done right. For Browser, SSR, and React Server Components.
TypeScript
302
star
8

OpenCore-Document-zh_Hans

[非官方/Unofficial] OpenCore Bootloader 参考手册简体中文翻译
JavaScript
238
star
9

cloudflare-workers-async-google-analytics

☁️ The Cloudflare Workers implementation of an async Google Analytics
JavaScript
205
star
10

ClashEditor

📐 An editor for writing Clash config
HTML
192
star
11

cloudflare-block-bad-bot-ruleset

🚦 Block malicious crawlers with Cloudflare Firewall Rules
175
star
12

hexo-theme-doku

📜 Doku, a Hexo theme designed for writing documents.
HTML
145
star
13

rollup-plugin-swc

Use SWC with Rollup to transform / minify ESNext and TypeScript code.
TypeScript
139
star
14

zsh-osx-autoproxy

An oh-my-zsh plugin that configures proxy environment variables based on macOS's system preferences automatically
Shell
87
star
15

dotfiles

🔧 My development environment and config
Shell
82
star
16

Lenovo-Y9000X-Hackintosh

Lenovo LEGION Y9000X 2020 (Lenovo LEGION S740-15IRH) Hackintosh
ASL
71
star
17

ThinkPad-E480-Hackintosh

macOS Catalina & Big Sur on ThinkPad E480 (Hackintosh)
ASL
62
star
18

dashflare

An unofficial Cloudflare dashboard built on top of Cloudflare API.
TypeScript
55
star
19

bring-github-old-feed-back

Throw away the GitHub's useless "For You" feed and replace with the old good "Following" feed
TypeScript
53
star
20

forgetti-loader

A webpack/rspack loader and a Next.js plugin that brings an auto-memoization compiler to solves your hook spaghetti. Powered by forgetti which is inspired by React Forget.
TypeScript
52
star
21

CheckSSL

🔒Check your site's SSL status using curl & bash
Shell
41
star
22

vercel-dns-console

An unofficial implementation of Vercel DNS Dashboard
TypeScript
37
star
23

Friends

♥️ Friends of @SukkaW
JavaScript
33
star
24

react-compiler-webpack

The webpack/rspack loader for React Compiler
TypeScript
22
star
25

style9-webpack

The another Webpack Plugin for Atomic CSS-in-JS implementation style9
TypeScript
19
star
26

eslint-config-sukka

ESLint configuration of Sukka
TypeScript
17
star
27

stylex-webpack

The another webpack/Next.js Plugin for Facebook StyleX
TypeScript
17
star
28

markdown.css

📝 The simple CSS to replicate the GitHub Markdown style (Sukka Ver.)
CSS
14
star
29

disqusjs-proxy-example

Using Now as Disqus API Proxy
13
star
30

theme-doku-docs

📜 The documents & demo of hexo-theme-doku
13
star
31

CheckLatency

🌏 (WIP) A tool that check your latency to cloud provider every regions
JavaScript
13
star
32

memdisk

A library and a CLI to create RAM disk on macOS and Linux.
TypeScript
13
star
33

recipage

📃 Reci(pe)page: Turn a markdown file into one simple page
JavaScript
12
star
34

pure-svg-countdown

HTML
12
star
35

xbits

Convert bytes to a human readable string
TypeScript
12
star
36

SukkaW

My GitHub Profile
11
star
37

Cloudflare-WAF-to-AbuseIPDB

JavaScript
10
star
38

hexo-lute

A markdown renderer for Hexo based on Lute
JavaScript
8
star
39

consolas-powerline

Consolas Nerd Font (Consolas 7.0)
Python
8
star
40

busuanzi

The mirror of busuanzi js
8
star
41

hv-monsterdb-userscript

M-M-M-MONSTER DATABASE!
TypeScript
7
star
42

fast-cidr-tools

cidr-tools but up to 20x faster
TypeScript
7
star
43

eslint-config-sukka-archive

JavaScript
7
star
44

openconnect-snell

Allow Surge to connect to OpenConnect using Docker + Snell Server V4
Shell
6
star
45

suka.css

✨The most useless css framework.
CSS
6
star
46

telegram-reply-image-to-messsage-bot

TypeScript
6
star
47

kv4cf

A Modified version of cloudflare/kv-asset-handler, with Non-ASCII URL supported.
JavaScript
6
star
48

hentaiverse-monster-database

M-M-M-MONSTER DATABASE SERVER!
TypeScript
5
star
49

hentaiverse-util-api-userscript

A userscript provided API for other HentaiVerse userscripts
TypeScript
5
star
50

monsterbation-linter

TypeScript
5
star
51

bundled-open-cli

Open stuff like URLs, files, executables, with installation size reduced by 78%. Cross-platform.
TypeScript
5
star
52

bili-mcdn

HTML
4
star
53

Koolshare-OpenWrt-API-Documents

The API documents (unofficial) for Koolshare OpenWrt httpdb
4
star
54

tor-exit-page

An alternative "This is a Tor Exit Router" page
HTML
4
star
55

rcpy

Lightweight, fast, simple and flexible file copy utility for Node.js
TypeScript
4
star
56

teacup.js

🍵 Cache javascript & css files in localStorage
JavaScript
3
star
57

zsh-gitcd

🔩 An oh-my-zsh plugin for git clone && cd
Shell
3
star
58

nodelistparser

Surge / Mihomo (Clash.Meta) nodelist / proxy provider parser and generator
TypeScript
2
star
59

sponsors

TypeScript
2
star
60

Hackintosh-Kext-Builder

Shell
1
star
61

BadgeKit

🚩 Get every badge you need for your README
JavaScript
1
star
62

hexo-renderer-pejs

EJS(based on PEJS) renderer for Hexo
JavaScript
1
star
63

untyped-javascript-serialization-benchmark

TypeScript
1
star
64

cidr-tools-wasm

TypeScript
1
star