Files
jquery/test/node_smoke_tests/module/lib/ensure_iterability_es6.js
Michał Gołębiowski-Owczarek 8be4c0e4f8 Build: Add exports to package.json, export slim & esm builds
Summary of the changes:
* define the `exports` field in `package.json`; `jQuery` & `$` are also
  exported as named exports in ESM builds now
* declare `"type": "module"` globally except for the `build` folder
* add the `--esm` option to `grunt custom`, generating jQuery as an ECMAScript
  module into the `dist-module` folder
* expand `node_smoke_tests` to test the slim & ESM builds and their various
  combinations; also, test both jQuery loaded via a path to the file as well
  as from module specifiers that should be parsed via the `exports` feature
* add details about ESM usage to the release package README
* run `compare_size` on all built minified files; don't run it anymore on
  unminified files where they don't provide lots of value
* remove the remove_map_comment task; SWC doesn't insert the
`//# sourceMappingURL=` pragma by default so there's nothing to strip

Fixes gh-4592
Closes gh-5255
2023-07-10 19:14:08 +02:00

22 lines
610 B
JavaScript

import assert from "node:assert";
const { JSDOM } = await import( "jsdom" );
const { ensureJQuery } = await import( "./ensure_jquery.js" );
export const ensureIterability = async( jQueryModuleSpecifier ) => {
const { window } = new JSDOM( "" );
const { default: jQueryFactory } = await import( jQueryModuleSpecifier );
const jQuery = jQueryFactory( window );
const elem = jQuery( "<div></div><span></span><a></a>" );
ensureJQuery( jQuery );
let result = "";
for ( const node of elem ) {
result += node.nodeName;
}
assert.strictEqual( result, "DIVSPANA", "for-of works on jQuery objects" );
};