From c206d89ec28f8c729f77595bf60828b92f407aa0 Mon Sep 17 00:00:00 2001 From: Sukka Date: Thu, 7 Mar 2024 00:42:53 +0800 Subject: [PATCH] feat(eslint): enhance `no-unwanted-polyfill` w/ new endpoints (#62719) The PR adds the new `polyfill.io` instance endpoint (from Fastly and Cloudflare) to the `eslint-plugin-next`'s `no-unwanted-polyfillio` rules, so these new endpoints can be detected by the rule. --- `polyfill.io` was acquired by **a China-based CDN company** "Funnull", see [the announcement from the `polyfill.io` domain owner's Twitter](https://x.com/JakeDChampion/status/1761315227008643367) and https://github.com/polyfillpolyfill/polyfill-service/issues/2834. Despite Funnull's claims of operating in the United States, the predominance of Simplified Chinese on its website suggests otherwise, and it turns out that **"Funnull" is notorious for providing service for the betting and pornography industries**. [The original creator of the `polyfill.io` has voiced his concern on Twitter](https://twitter.com/triblondon/status/1761852117579427975). And since the acquisition, numerous issues have emerged (https://github.com/polyfillpolyfill/polyfill-service/issues/2835, https://github.com/polyfillpolyfill/polyfill-service/issues/2838, https://github.com/alist-org/alist/issues/6100), rendering the `polyfill.io` service **extremely unstable**. Since then, Fastly ([Announcement](https://community.fastly.com/t/new-options-for-polyfill-io-users/2540)) and Cloudflare ([Announcement](https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk)) has hosted their own instances of `polyfill.io` service. --------- Co-authored-by: Steven --- examples/script-component/pages/polyfill.tsx | 2 +- .../src/rules/no-unwanted-polyfillio.ts | 7 ++++++- .../eslint-plugin-next/no-unwanted-polyfillio.test.ts | 10 ++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/examples/script-component/pages/polyfill.tsx b/examples/script-component/pages/polyfill.tsx index bee31995b5..add9af5200 100644 --- a/examples/script-component/pages/polyfill.tsx +++ b/examples/script-component/pages/polyfill.tsx @@ -32,7 +32,7 @@ export default function Polyfill() { <> {/* We ensure that intersection observer is available by polyfilling it */}