Speeding up the JavaScript ecosystem – Polyfills gone rogue

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • eslint-plugin-react

    React-specific linting rules for ESLint

  • I try to focus on the issues rather than individuals, but the root of the problems in the listed eslint plugin libraries points to ljharb.

    If you do some simple digging into these libraries, you will find that these types of commits are quite common within them.

    https://github.com/jsx-eslint/eslint-plugin-react/commit/e1d...

    https://github.com/jsx-eslint/jsx-ast-utils/commit/bad51d062...

    https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/...

    He would rather see the download count of these polyfill libraries https://github.com/ljharb/ljharb#projects-i-maintain increase, compared to assessing the health of the JavaScript ecosystem.

  • nolyfill

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

  • These polyfills aren't just large, they're also slow because they never use the native implementation. The good news is that you can replace them all with "overrides" in package.json. That's what nolyfill (https://github.com/SukkaW/nolyfill) does. Oh, and of course the README mentions ljharb.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • eslint-plugin-import

    ESLint plugin with rules that help validate proper imports.

  • [2]: https://github.com/import-js/eslint-plugin-import/pull/2447#...

  • jsx-ast-utils

    AST utility module for statically analyzing JSX

  • I try to focus on the issues rather than individuals, but the root of the problems in the listed eslint plugin libraries points to ljharb.

    If you do some simple digging into these libraries, you will find that these types of commits are quite common within them.

    https://github.com/jsx-eslint/eslint-plugin-react/commit/e1d...

    https://github.com/jsx-eslint/jsx-ast-utils/commit/bad51d062...

    https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/...

    He would rather see the download count of these polyfill libraries https://github.com/ljharb/ljharb#projects-i-maintain increase, compared to assessing the health of the JavaScript ecosystem.

  • eslint-plugin-jsx-a11y

    Static AST checker for a11y rules on JSX elements.

  • I try to focus on the issues rather than individuals, but the root of the problems in the listed eslint plugin libraries points to ljharb.

    If you do some simple digging into these libraries, you will find that these types of commits are quite common within them.

    https://github.com/jsx-eslint/eslint-plugin-react/commit/e1d...

    https://github.com/jsx-eslint/jsx-ast-utils/commit/bad51d062...

    https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/...

    He would rather see the download count of these polyfill libraries https://github.com/ljharb/ljharb#projects-i-maintain increase, compared to assessing the health of the JavaScript ecosystem.

  • ljharb

  • I try to focus on the issues rather than individuals, but the root of the problems in the listed eslint plugin libraries points to ljharb.

    If you do some simple digging into these libraries, you will find that these types of commits are quite common within them.

    https://github.com/jsx-eslint/eslint-plugin-react/commit/e1d...

    https://github.com/jsx-eslint/jsx-ast-utils/commit/bad51d062...

    https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/...

    He would rather see the download count of these polyfill libraries https://github.com/ljharb/ljharb#projects-i-maintain increase, compared to assessing the health of the JavaScript ecosystem.

  • Enzyme

    JavaScript Testing utilities for React

  • ljharb is an extremely interesting person. There’s no doubting the positive impact he’s had on the OSS community and the work he’s done.

    However, there are some things he does that are incomprehensible.

    For example, Enzyme. Over three years ago this issue was opened for Enzyme on React 17: https://github.com/enzymejs/enzyme/issues/2429

    Nothing moved for a while, and I think he said something along the lines of “if you want React 17 support, stop complaining and help”. So the community got involved. There are multiple PRs adding React 17 support. Many unofficial React 17 adapters. A lot of people have put a lot of work into this, ensuring compatibility, coverage etc. Yet to this day, none of them have been merged. Eg https://github.com/enzymejs/enzyme/pull/2564

    Given the amount of time that has passed, and the work the community has put in, something is amiss. It feels like he’s now intentionally avoiding React 17+ support. But why? I don’t understand why someone would ask for help then ignore the help when it comes in. That isn’t much better than the swathe of rude/entitled comments he was getting on the issue before he locked it.

    I ended up migrating to RTL, but this made many of my tests more complicated (especially compared to shallow rendering).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • yew

    Rust / Wasm framework for creating reliable and efficient web applications

  • 1. Not related to npm, but related to the web.

    2. True, but compilers are generally better than transpilers.

    3. Have you seen https://yew.rs/ ?

  • speedscope

    🔬 A fast, interactive web-based viewer for performance profiles.

  • Glad to hear you like it! Those flame graph screenshots are taken from https://www.speedscope.app/ .

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts