2023-09-19 17:59:29 +00:00
|
|
|
# mediawiki/extensions/CodeMirror
|
|
|
|
|
|
|
|
Homepage: https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:CodeMirror
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
As part of the [upgrade to CodeMirror 6](https://phabricator.wikimedia.org/T259059),
|
|
|
|
CodeMirror now uses an asset bundler, so during development you'll need to run a script
|
|
|
|
to assemble the frontend assets.
|
|
|
|
|
|
|
|
Use of CodeMirror 6 is controlled by the `wgCodeMirrorV6` configuration setting, or by
|
|
|
|
passing in `cm6enable=1` in the URL query string.
|
|
|
|
|
|
|
|
You can find the v6 frontend source files in `src/`, the compiled sources in
|
|
|
|
`resources/dist/`, and other frontend assets managed by ResourceLoader in
|
|
|
|
`resources/*`.
|
|
|
|
|
|
|
|
### Commands
|
|
|
|
|
|
|
|
_NOTE: Consider using [Fresh](https://gerrit.wikimedia.org/g/fresh/) to run these tasks._
|
|
|
|
|
|
|
|
* `npm install` to install dependencies.
|
|
|
|
* `npm start` to run the bundler in watch mode, reassembling the files on file change.
|
|
|
|
You'll want to keep this running in a separate terminal during development.
|
|
|
|
* `npm run build` to compile the production assets. You *must* run this step before
|
|
|
|
sending the patch or CI will fail (so that sources and built assets are in sync).
|
|
|
|
* `npm test` to run the linting tools, JavaScript unit tests, and build checks.
|
|
|
|
* `npm run test:lint` for linting of JS/LESS/CSS.
|
|
|
|
* `npm run test:lint:js` for linting of just JavaScript.
|
|
|
|
* `npm run test:lint:styles` for linting of just Less/CSS.
|
|
|
|
* `npm run test:i18n` for linting of i18n messages with banana-checker.
|
|
|
|
* `npm run test:unit` for the new Jest unit tests.
|
|
|
|
* `npm run selenium-test` for the Selenium tests.
|
|
|
|
* `npm run test:bundlesize` to test if the gzip'd entrypoint is of acceptable size.
|
|
|
|
|
|
|
|
Older QUnit tests are in `resources/mode/mediawiki/tests/qunit/`. These will
|
|
|
|
eventually be moved over to `tests/qunit` and rewritten for CodeMirror 6.
|
2023-12-06 05:52:51 +00:00
|
|
|
|
|
|
|
## CodeMirror 6 change log
|
|
|
|
|
|
|
|
This list changes that come by default with the CodeMirror 6 upgrade.
|
|
|
|
Some may be removed pending user feedback:
|
|
|
|
|
|
|
|
* Bracket matching now highlights unmatched brackets in red
|