diff options
author | Michał Gołębiowski-Owczarek <m.goleb@gmail.com> | 2019-11-18 21:15:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-18 21:15:03 +0100 |
commit | d0ce00cdfa680f1f0c38460bc51ea14079ae8b07 (patch) | |
tree | 8625b82760f0722443f3901f78d94025d7645463 /src/core.js | |
parent | a612733be0c68d337647a6fcc8f8e0cabc1fc36b (diff) | |
download | jquery-d0ce00cdfa680f1f0c38460bc51ea14079ae8b07.tar.gz jquery-d0ce00cdfa680f1f0c38460bc51ea14079ae8b07.zip |
Core: Migrate from AMD to ES modules 🎉
Migrate all source AMD modules to ECMAScript modules. The final bundle
is compiled by a custom build process that uses Rollup under the hood.
Test files themselves are still loaded via RequireJS as that has to work in
IE 11.
Tests can now be run in "Load as modules" mode which replaces the previous
"Load with AMD" option. That option of running tests doesn't work in IE
and Edge as it requires support for dynamic imports.
Some of the changes required by the migration:
* check `typeof` of `noGlobal` instead of using the variable directly
as it's not available when modules are used
* change the nonce module to be an object as ECMASscript module exports
are immutable
* remove some unused exports
* import `./core/parseHTML.js` directly in `jquery.js` so that it's not
being cut out when the `ajax` module is excluded in a custom compilation
Closes gh-4541
Diffstat (limited to 'src/core.js')
-rw-r--r-- | src/core.js | 47 |
1 files changed, 19 insertions, 28 deletions
diff --git a/src/core.js b/src/core.js index af5d44214..7ea77c4f0 100644 --- a/src/core.js +++ b/src/core.js @@ -1,29 +1,21 @@ -/* global Symbol */ -// Defining this global in .eslintrc.json would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - -define( [ - "./var/arr", - "./var/getProto", - "./var/slice", - "./var/flat", - "./var/push", - "./var/indexOf", - "./var/class2type", - "./var/toString", - "./var/hasOwn", - "./var/fnToString", - "./var/ObjectFunctionString", - "./var/support", - "./var/isWindow", - "./core/DOMEval", - "./core/toType" -], function( arr, getProto, slice, flat, push, indexOf, - class2type, toString, hasOwn, fnToString, ObjectFunctionString, - support, isWindow, DOMEval, toType ) { - -"use strict"; - +import arr from "./var/arr.js"; +import getProto from "./var/getProto.js"; +import slice from "./var/slice.js"; +import flat from "./var/flat.js"; +import push from "./var/push.js"; +import indexOf from "./var/indexOf.js"; +import class2type from "./var/class2type.js"; +import toString from "./var/toString.js"; +import hasOwn from "./var/hasOwn.js"; +import fnToString from "./var/fnToString.js"; +import ObjectFunctionString from "./var/ObjectFunctionString.js"; +import support from "./var/support.js"; +import isWindow from "./var/isWindow.js"; +import DOMEval from "./core/DOMEval.js"; +import toType from "./core/toType.js"; + +// When custom compilation is used, the version string can get large. +// eslint-disable-next-line max-len var version = "@VERSION", rhtmlSuffix = /HTML$/i, @@ -431,5 +423,4 @@ function isArrayLike( obj ) { typeof length === "number" && length > 0 && ( length - 1 ) in obj; } -return jQuery; -} ); +export default jQuery; |