mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
synced 2024-11-28 09:20:31 +00:00
33c05394f4
In order to run qunit tests on sources that use common.js modules, set up infra to run qunit tests in the node cli when running: npm run test:node Changes: * Add npm script test:node that runs the tests * Run node tests on CI (npm test) * Add a qunit node test runner: mw-node-qunit * Migrate a test from the root hierarchy and another one from the nested one to prove it works (globs fail otherwise) * reducers/settings.test.js to node qunit to prove it works * counts.test.js to node qunit to prove it works Change-Id: I55d76b7db168f3745e0ac69852c152322ab385c3
34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
# mediawiki/extensions/Popups
|
|
|
|
See https://www.mediawiki.org/wiki/Extension:Popups for more information about
|
|
what it does.
|
|
|
|
## Development
|
|
|
|
Popups uses an asset bundler so when developing for the extension you'll need
|
|
to run a script to assemble the frontend assets.
|
|
|
|
You can find the frontend source files in `src/`, the compiled sources in
|
|
`resources/dist/`, and other frontend assets managed by resource loader in
|
|
`resources/*`.
|
|
|
|
After an `npm install`:
|
|
|
|
* On one terminal, kickstart the bundler process:
|
|
* `npm start` Will run the bundler in watch mode, re-assembling the files on
|
|
file change.
|
|
* `npm run build` Will compile the assets just once, ready for deployment. You
|
|
*must* run this step before sending the patch or CI will fail (so that
|
|
sources and built assets are in sync).
|
|
* On another terminal, run tests and linting tools:
|
|
* `npm test` To run the linting tools and the tests.
|
|
* You can find the QUnit tests that depend on running MediaWiki under
|
|
`tests/qunit/`
|
|
* You can find the isolated QUnit tests under `tests/node-qunit/`, which you
|
|
can run with `npm run test:node`
|
|
* We recommend you install a file watcher like `nodemon` to watch sources and
|
|
auto run linting and tests.
|
|
* `npm install -g nodemon`
|
|
* Example running linting and node unit tests:
|
|
* `nodemon -w src/ --exec "grunt lint:all && npm run test:node"`
|