Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build: Make dev mode work in Karma again, serve source files from disk #4574

Merged
merged 1 commit into from Jan 7, 2020

Conversation

mgol
Copy link
Member

@mgol mgol commented Dec 16, 2019

Summary

PR gh-4550 added support for running ES modules & AMD tests via Karma. This
required reading the esmodules & amd props from both QUnit.config &
QUnit.urlParams. By picking these two properties manually, the dev one
stopped being respected while ones handled directly by QUnit were fine (like
hidepassed). Instead of maintaining the full list of options, the code now
iterates over QUnit URL config and handles the fallbacks in a more generic way.

Apart from that, all jQuery source & test files are now read directly from disk
instead of being cached by Karma so that one can run grunt karma:chrome-debug
& work on a fix without restarting that Karma run after each change. A similar
effect could have been achieved by setting autoWatch to true but then the
main Karma page runs tests in an iframe by default when
grunt karma:chrome-debug is run instead of relying on the current debug flow.

Ref gh-4550

Checklist

@mgol mgol added this to the 4.0.0 milestone Dec 16, 2019
@mgol mgol self-assigned this Dec 16, 2019
PR jquerygh-4550 added support for running ES modules & AMD tests via Karma. This
required reading the `esmodules` & `amd` props from both `QUnit.config` &
`QUnit.urlParams`. By picking these two properties manually, the `dev` one
stopped being respected while ones handled directly by QUnit were fine (like
`hidepassed`). Instead of maintaining the full list of options, the code now
iterates over QUnit URL config and handles the fallbacks in a more generic way.

Apart from that, all jQuery source & test files are now read directly from disk
instead of being cached by Karma so that one can run `grunt karma:chrome-debug`
& work on a fix without restarting that Karma run after each change. A similar
effect could have been achieved by setting `autoWatch` to `true` but then the
main Karma page runs tests in an iframe by default when
`grunt karma:chrome-debug` is run instead of relying on the current debug flow.

Ref jquerygh-4550
@mgol mgol removed the Needs review label Jan 7, 2020
@mgol mgol merged commit 437f389 into jquery:master Jan 7, 2020
@mgol mgol deleted the karma-debug-fixes branch January 7, 2020 23:35
mgol added a commit to mgol/jquery that referenced this pull request Jan 8, 2020
Also, run such a suite in CI to make sure modules are working as expected
when used directly.

(partially cherry picked from 341c6d1)

Ref jquerygh-4550
Ref jquerygh-4574
mgol added a commit to mgol/jquery that referenced this pull request Jan 8, 2020
Also, run such a suite in CI to make sure modules are working as expected
when used directly.

(partially cherry picked from 341c6d1)
(partially cherry picked from 437f389)

Ref jquerygh-4550
Ref jquerygh-4574
mgol added a commit to mgol/jquery that referenced this pull request Jan 8, 2020
Also, run such a suite in CI to make sure modules are working as expected
when used directly.

(partially cherry picked from 341c6d1)
(partially cherry picked from 437f389)

Ref jquerygh-4550
Ref jquerygh-4574
gaohuia pushed a commit to gaohuia/jquery that referenced this pull request Jan 9, 2020
PR jquerygh-4550 added support for running ES modules & AMD tests via Karma. This
required reading the `esmodules` & `amd` props from both `QUnit.config` &
`QUnit.urlParams`. By picking these two properties manually, the `dev` one
stopped being respected while ones handled directly by QUnit were fine (like
`hidepassed`). Instead of maintaining the full list of options, the code now
iterates over QUnit URL config and handles the fallbacks in a more generic way.

Apart from that, all jQuery source & test files are now read directly from disk
instead of being cached by Karma so that one can run `grunt karma:chrome-debug`
& work on a fix without restarting that Karma run after each change. A similar
effect could have been achieved by setting `autoWatch` to `true` but then the
main Karma page runs tests in an iframe by default when
`grunt karma:chrome-debug` is run instead of relying on the current debug flow.

Closes jquerygh-4574
Ref jquerygh-4550
@mgol mgol mentioned this pull request Jan 20, 2020
2 tasks
mgol added a commit that referenced this pull request Jan 21, 2020
Also, run such a suite in CI to make sure modules are working as expected
when used directly.

(partially cherry picked from 341c6d1)
(partially cherry picked from 437f389)

Closes gh-4595
Ref gh-4550
Ref gh-4574
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

None yet

2 participants