modern-javascript

Installation
SKILL.md

Modern JavaScript

Keep specification status, runtime support, and toolchain support separate. The user's explicit instructions take precedence over this skill's guidelines.

Work against the target

Use the relevant JavaScript, required behavior, and declared runtime as input. Inspect engines, browser targets, lockfiles, and build configuration as needed for the feature. Do not invent a baseline or upgrade runtimes merely to use newer syntax.

Prefer a supported standardized feature. A proposal can fit when the user/project chooses it and a maintained transform or polyfill implements the required revision. Bundled edition and support tables are dated snapshots; verify changing status against the sources below.

Preserve semantics

  • Keep mutation, property access, iterator consumption, evaluation order, error propagation, and concurrency behavior intact when modernizing.
  • Distinguish syntax transforms from runtime polyfills. TypeScript declarations do not supply missing runtime APIs.
  • Treat iterator helpers as lazy and single-pass; Array.fromAsync consumes sequentially, while Promise.all observes already-started work concurrently.
  • Do not use forEach(async ...) when completion must be awaited. Rejection and timeouts do not cancel underlying work by themselves.
  • Distinguish host APIs such as fetch and structuredClone from ECMA-262 features, and Intl from the separate ECMA-402 standard.
  • Do not introduce withdrawn Records & Tuples syntax or silently switch between legacy and standard-style decorator semantics.
Installs
254
GitHub Stars
60
First Seen
Jan 28, 2026