Files
wordpress/wp-admin/includes
Weston Ruter afa47e5562 Code Editor: Switch from Esprima to Espree for JavaScript linting in CodeMirror.
Esprima is no longer maintained, and it does not support the latest JavaScript features in ES11, as Espree does.

- **New Linter Integration:** Introduces `src/js/_enqueues/vendor/codemirror/javascript-lint.js` using `espree` for parsing and error reporting, replacing the dependency on `jshint` and `esprima` scripts.
- **Script Modules:** Registers `espree` as a script module and leverages the `module_dependencies` argument in `wp_register_script()` to ensure `espree` is available as a dynamic import.
- **Editor Settings:** Updates `wp_get_code_editor_settings()` to use ES11 (ECMAScript 2020) defaults and synchronizes JSHint settings from `.jshintrc` for compatibility.
- **Editable Extensions:** Adds `.mjs` to the list of editable file extensions for plugins and themes.
- **Deprecations:** Marks `esprima` and `jshint` script handles as deprecated.
- **Build Tools:** Updates Webpack configuration to bundle `espree` as a module and use the new local `javascript-lint.js`.

Developed in https://github.com/WordPress/wordpress-develop/pull/10806

Follow-up to [61587], [61544], [61539], [42547].

Props westonruter, jonsurrell.
See #64562, #61500, #48456, #42850.
Fixes #64558.

Built from https://develop.svn.wordpress.org/trunk@61611


git-svn-id: http://core.svn.wordpress.org/trunk@60922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-10 22:30:53 +00:00
..
2026-02-09 21:15:57 +00:00