diff options
author | Michał Gołębiowski-Owczarek <m.goleb@gmail.com> | 2019-12-09 20:00:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-09 20:00:44 +0100 |
commit | f37c2e51f36c8f8bab3879064a90e86a685feafc (patch) | |
tree | b5a5c406a6550722af65ebf579f0a51d6d8c336e /test/jquery.js | |
parent | d5c505e35d8c74ce8e9d99731a1a7eab0e0d911c (diff) | |
download | jquery-f37c2e51f36c8f8bab3879064a90e86a685feafc.tar.gz jquery-f37c2e51f36c8f8bab3879064a90e86a685feafc.zip |
Build: Auto-convert sources to AMD
jQuery source has been migrated in gh-4541 from AMD to ES modules. To maintain
support for consumers of our AMD modules, this commits adds a task transpiling
the ES modules sources in `src/` to AMD in `amd/`.
A "Load with AMD" checkbox was also restored to the QUnit setup. Note that,
contrary to jQuery 3.x, AMD files need to be generated via `grunt amd` or
`grunt` as sources are not authored in ECMAScript modules. To achieve a similar
no-compile experience during jQuery 4.x testing, use the new "Load as modules"
checkbox which works in all supported browsers except for IE & Edge (the
legacy, EdgeHTML-based one).
Ref gh-4541
Closes gh-4554
Diffstat (limited to 'test/jquery.js')
-rw-r--r-- | test/jquery.js | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/test/jquery.js b/test/jquery.js index d6d53fb26..c34c7c491 100644 --- a/test/jquery.js +++ b/test/jquery.js @@ -28,7 +28,12 @@ QUnit.config.urlConfig.push( { id: "esmodules", label: "Load as modules", - tooltip: "Load a relevant jQuery module file (and its dependencies)" + tooltip: "Load the jQuery module file (and its dependencies)" + } ); + QUnit.config.urlConfig.push( { + id: "amd", + label: "Load with AMD", + tooltip: "Load the AMD jQuery file (and its dependencies)" } ); } @@ -39,7 +44,7 @@ } ); } - // Honor AMD loading on the main window (detected by seeing QUnit on it). + // Honor ES modules loading on the main window (detected by seeing QUnit on it). // This doesn't apply to iframes because they synchronously expect jQuery to be there. if ( urlParams.esmodules && window.QUnit ) { @@ -57,6 +62,20 @@ eval( dynamicImportSource ); + // Apply similar treatment for AMD modules + } else if ( urlParams.amd && window.QUnit ) { + require.config( { + baseUrl: parentUrl + } ); + src = "amd/jquery"; + + // Include tests if specified + if ( typeof loadTests !== "undefined" ) { + require( [ src ], loadTests ); + } else { + require( [ src ] ); + } + // Otherwise, load synchronously } else { document.write( "<script id='jquery-js' nonce='jquery+hardcoded+nonce' src='" + parentUrl + src + "'><\x2Fscript>" ); |