mediawiki-extensions-CodeMi.../README.md

45 lines
1.9 KiB
Markdown
Raw Normal View History

# 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.
## 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