Use service 'GadgetsRepo' instead of deprecated GadgetRepo::singleton()

The service 'GadgetsRepo' gets injected as optional service.

This change requires a phan dependency on extension Gadgets in
project integration/config in file zuul/parameter_functions.py:
I5052e0c666b7dc7af6061e57001f9feac666e029

Change-Id: Ib405ad79b3c348bed51a8938a6a8f73bd35267d2
4 files changed
tree: a99e70a6fb518e19171f0e713cfe91fb97fd92ba
  1. .phan/
  2. i18n/
  3. includes/
  4. resources/
  5. src/
  6. tests/
  7. .babelrc
  8. .eslintignore
  9. .eslintrc.json
  10. .gitignore
  11. .gitreview
  12. .nvmrc
  13. .phpcs.xml
  14. .stylelintrc.json
  15. CODE_OF_CONDUCT.md
  16. composer.json
  17. COPYING
  18. extension.json
  19. jest.config.js
  20. jsdoc.json
  21. package-lock.json
  22. package.json
  23. README.md
  24. rollup.config.js
README.md

CodeMirror 6 homepage: https://www.mediawiki.org/wiki/Extension:CodeMirror/6

Development

As part of the upgrade to CodeMirror 6, 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 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 run doc to generate the API documentation.
  • 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.
  • Older QUnit tests are in resources/mode/mediawiki/tests/qunit/. These have been replaced and will be removed after the CodeMirror 6 upgrade.

CodeMirror 6 change log