| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The `default` export is treated differently across tooling when transpiled
to CommonJS - tools differ on whether `module.exports` represents the full
module object or just its default export. Switch `src/` modules to named
exports for tooling consistency.
Fixes gh-5262
Closes gh-5292
|
|
|
|
|
|
|
| |
Fixes gh-5264
Closes gh-5265
(cherry picked from commit 44c56f87a31fbc1f43ac575cfd06a0df12073352)
|
|
|
|
|
|
|
| |
The `jQuery.contains` method is quite simple in jQuery 4+. On the other side,
it's a dependency of the core `isAttached` util which is not ideal; moving
it from the `selector` the `core` module resolves the issue.
Closes gh-5167
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ensures HTML wrapped in TrustedHTML can be used as an input to jQuery
manipulation methods in a way that doesn't violate the
`require-trusted-types-for` Content Security Policy directive.
This commit builds on previous work needed for trusted types support, including
gh-4642 and gh-4724.
One restriction is that while any TrustedHTML wrapper should work as input
for jQuery methods like `.html()` or `.append()`, for passing directly to the
`jQuery` factory the string must start with `<` and end with `>`; no trailing
or leading whitespaces are allowed. This is necessary as we cannot parse out
a part of the input for further construction; that would violate the CSP rule -
and that's what's done to HTML input not matching these constraints.
No trusted types API is used explicitly in source; the majority of the work is
ensuring we don't pass the input converted to string to APIs that would
eventually assign it to `innerHTML`. This extra cautiousness is caused by the
API being Blink-only, at least for now.
The ban on passing strings to `innerHTML` means support tests relying on such
assignments are impossible. We don't currently have such tests on the `main`
branch but we used to have many of them in the 3.x & older lines. If there's
a need to re-add such a test, we'll need an escape hatch to skip them for apps
needing CSP-enforced TrustedHTML.
See https://web.dev/trusted-types/ for more information about TrustedHTML.
Fixes gh-4409
Closes gh-4927
Ref gh-4642
Ref gh-4724
|
|
|
|
| |
Fixes gh-4782
Closes gh-4814
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drop support for Edge Legacy: the non-Chromium, EdgeHTML-based Microsoft
Edge version. Also, restrict some workarounds that were applied
unconditionally in all browsers to run only in IE now. This slightly
increases the size but reduces the performance burden on modern browsers
that don't need the workarounds.
Also, clean up some comments & remove some obsolete workarounds.
Fixes gh-4568
Closes gh-4792
|
|
|
|
|
|
|
|
| |
1. Correct code indentations based on jQuery Style Guide
(contribute.jquery.org/style-guide/js/#spacing).
2. Add rules to "src/.eslintrc.json" to enable "enforcing consistent
indentation", with minimal changes to the current code.
Closes gh-4672
|
|
|
|
|
|
|
| |
This disable-directive only applies to the built version, so put
it in /dist. This avoids a warning about an unused directive in the
source version.
Closes gh-4676
|
|
|
|
|
|
|
|
|
|
| |
1. Support passing custom document to jQuery.globalEval; the script will be
invoked in the context of this document.
2. Fire external scripts appended to iframe contents in that iframe context;
this was already supported & tested for inline scripts but not for external
ones.
Fixes gh-4518
Closes gh-4601
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
Calling `Array.prototype.concat.apply( [], inputArray )` to flatten `inputArray`
crashes for large arrays; using `Array.prototype.flat` avoids these issues in
browsers that support it. In case it's necessary to support these large arrays
even in older browsers, a polyfill for `Array.prototype.flat` can be loaded.
This is already being done by many applications.
Fixes gh-4320
Closes gh-4459
|
|
|
| |
Closes gh-4473
|
|
|
|
|
|
| |
`:even` & `:odd` are deprecated since jQuery 3.4.0 & will be removed in 4.0.0.
The new `even()` & `odd()` methods will make the migration easier.
Closes gh-4485
|
|
|
|
|
| |
Fixes gh-4363
Closes gh-4461
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit removes Sizzle from jQuery, inlining its code & removing obsolete
workarounds where applicable.
The selector-native module has been removed. Further work on the selector
module may decrease the size enough that it will no longer be necessary. If
it turns out it's still useful, we'll reinstate it but the code will look
different anyway as we'll want to share as much code as possible with
the existing selector module.
The Sizzle AUTHORS.txt file has been merged with the jQuery one - people are
sorted by their first contributions to either of the two repositories.
The commit reduces the gzipped jQuery size by 1460 bytes compared to master.
Closes gh-4395
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit requires all function parameters to be used, not just the last one.
In cases where that's not possible as we need to match an external API, there's
an escape hatch of prefixing an unused argument with `_`.
This change makes it easier to catch unused AMD dependencies and unused
parameters in internal functions the API of which we may change at will, among
other things.
Unused AMD dependencies have been removed as part of this commit.
Closes gh-4381
|
|
|
|
|
|
|
|
|
|
|
| |
Also, update support comments format to match format described in:
https://github.com/jquery/contribute.jquery.org/issues/95#issuecomment-69379197
with the change from:
https://github.com/jquery/contribute.jquery.org/issues/95#issuecomment-448998379
(open-ended ranges end with `+`).
Fixes gh-3950
Fixes gh-4299
Closes gh-4347
|
|
|
| |
Closes gh-4333
|
|
|
|
|
|
| |
Fixes gh-4278
Closes gh-4280
Ref gh-3541
Ref gh-4269
|
|
|
|
|
|
|
|
|
| |
Read target[name] only when it's needed.
In addition to doing the property read-only when needed, this
avoids a slow path in V8 (see the issue for more details).
Fixes gh-4245
Closes gh-4246
|
|
|
|
|
| |
The linked-to issue was fixed 2 years ago.
Closes gh-4095
|
|
|
|
|
| |
Fixes gh-3605
Close gh-3895
|
|
|
|
|
| |
Fixes gh-2960
Closes gh-3888
|
|
|
|
| |
Fixes gh-3609
|
|
|
|
|
| |
Fixes gh-2958
Close gh-3885
|
|
|
|
|
| |
Fixes gh-2959
Close gh-3884
|
|
|
|
|
| |
Close gh-3604
Fixes gh-3384
|
|
|
|
|
| |
Fixes gh-3629
Close gh-3702
|
|
|
| |
Closes gh-3661
|
|
|
|
|
|
| |
Ref gh-3597
Fixes gh-3600
Fixes gh-3596
Closes gh-3617
|
|
|
|
|
| |
Fixes gh-3475
Closes gh-3505
|
|
|
|
|
| |
Fixes gh-2961
Closes gh-3278
|
|
|
|
|
|
|
|
| |
`.eslintrc` format is deprecated -
http://eslint.org/docs/user-guide/configuring#configuration-file-formats
Fixes gh-3248
Closes gh-3247
|
| |
|
|
|
|
|
|
| |
Use eslint pragmas, fix new errors, etc
Closes gh-3148
|
|
|
|
| |
Fixes gh-3073
|
|
|
|
|
| |
Fixes gh-2986
Close gh-2998
|
|
|
|
|
| |
The changes follow the spec proposed in:
https://github.com/jquery/contribute.jquery.org/issues/95#issuecomment-69379197
|
|
|
|
| |
All support comments were checked for Edge applicability.
|
|
|
|
|
|
|
| |
- Guard isPlainObject against inherited scalar constructors
Fixes gh-2982
Close gh-2985
|
|
|
|
|
| |
Fixes gh-2968
Close gh-2970
|
|
|
|
|
|
|
|
|
| |
Also add back accidentally deleted comments about the implementation.
Fixes gh-2780
Ref gh-2663
Ref gh-2781
Closes gh-2827
|
|
|
|
|
| |
Closes jquery/api.jquery.com#831
Closes gh-2718
|
|
|
|
|
| |
Fixes gh-1757
Close gh-2696
|
|
|
|
| |
Fixes gh-2662
|
|
|
|
|
| |
Ref #2645
Closes #2657
|
|
|
|
|
|
|
|
|
| |
In ECMAScript 2015 (ES6), the native typeof operator returns "symbol"
for Symbol primitives. As it is possible to wrap symbols using the
Object constructor, symbols can be objects as well as any other
primitive type in JavaScript and should be determined by jQuery.type.
Closes gh-2627
|
|
|
|
| |
Closes gh-2441
|
|
|
|
| |
Fixes gh-2056
|
|
|
|
|
| |
Fixes gh-2267
Closes gh-2363
|