-
Notifications
You must be signed in to change notification settings - Fork 22.5k
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
FF114 ECMAScript module support #26774
FF114 ECMAScript module support #26774
Conversation
@Josh-Cena This covers most of what I want to do for indicating module support in workers. There is one thing that isn't really covered in https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules and that is worker scripts. I was wondering if we should have a section "Scripts in workers" showing how you pass the `{type: "module"}" option in the worker constructor. Then we could just note, as has already been covered, that you can use import/import() in the loaded script for dedicated/shared workers, but not for service workers. Does that make sense to you? |
@hamishwillee The more we load this page, the more I want to split it into two pages "modules at their core" and "modules on the web" 😄 But yes, I think it's very reasonable to add a workers section. FWIW it's merged already, and workers aren't mentioned anywhere anyway, so no hurries. |
Thanks for review @sideshowbarker @Josh-Cena Thanks very much. I've added a note to the linked tracking issue and I'll get to this before the end of the month. I'd split it too, but that's a bigger job, and I have lots of dangling threads that need to be snipped. |
Iframe worker threads were introduced as a workaround for limitations in web browsers. Namely: * Chrome crashed when using WASM in web workers * Firefox didn't support ESM workers at all Both problems are now solved: * #1 * mdn/content#26774 There are no more reasons to keep maintaining the iframe worker thread backend. Let's remove it and lean fully on web workers.
* Updating content that storage is always partitioned and storage access grants are limited to cookies * Avoiding the phrase 'cookie storage' * implemented review from Tricolon * reverted changes to storage_access_policy * clean up * add service workers to partitioned APIs * linting * Fix: Use language keywords instead of framework type names in the examples of 'WebSocket' (#26725) * Add a bit about SPAs (#26711) * Bump @mdn/yari from 2.18.1 to 2.20.0 (#26730) * DNR corrections in URLTransform's queryTransform (#26732) * Fix the description of the display property according to the CSS specification (#26612) * change: `block element box` -> `block level box` * change: `inline element boxes` -> `inline level boxes` * change: `block element` -> `block level` * change: `inline element` -> `inline level` * fix: `inline/block level box` -> `inline/block box` * change: `inline/block level` -> `inline-level/block-level element` * fix: `block level` -> `block-level element` * Adding missing sections for `container*` (#25739) * Update sections for `container` * Update sections for `container-name` * Update sections for `container-type` * Update files/en-us/web/css/container-name/index.md --------- Co-authored-by: Estelle Weyl <estelle@openwebdocs.org> Co-authored-by: Estelle Weyl <estelle@weyl.org> Co-authored-by: Brian Thomas Smith <brian@smith.berlin> * fix(prefers-reduced-motion): Edit text and improve example (#26630) * edits to page for clarity * improve example explanation * fix review comments * Update files/en-us/web/css/@media/prefers-reduced-motion/index.md --------- Co-authored-by: Estelle Weyl <estelle@openwebdocs.org> * Added info for 'muted' driven emission (#26641) * Added info for 'muted' driven emission Fixing missing information that muting also fires this event. Standard spec: https://html.spec.whatwg.org/multipage/media.html#event-media-volumechange * Update files/en-us/web/api/htmlmediaelement/volumechange_event/index.md * lint --------- Co-authored-by: wbamberg <will@bootbonnet.ca> * Add page for prefers-reduced-transparency (#25289) * Add page for prefers-reduced-transparency * Update page for prefers-reduced-transparency Changed text as requested in PR comments. --------- Co-authored-by: Brian Thomas Smith <brian@smith.berlin> Co-authored-by: Dipika Bhattacharya <dipika@foss-community.org> * Fix arrow syntax explanation (#26704) * remove bracket around the parameter The example should omit the brackets around the parameter, as described in the explanation above this code. * Update files/en-us/learn/javascript/building_blocks/functions/index.md * Update files/en-us/learn/javascript/building_blocks/functions/index.md * Update index.md --------- Co-authored-by: Joshua Chen <sidachen2003@gmail.com> * Add RTCAudioSourceStats (#26667) * Add RTCAudioSourceStats * Update files/en-us/web/api/rtcaudiosourcestats/index.md Co-authored-by: wbamberg <will@bootbonnet.ca> * Apply suggestions from code review Co-authored-by: wbamberg <will@bootbonnet.ca> * Apply suggestions from code review Co-authored-by: wbamberg <will@bootbonnet.ca> * Update files/en-us/web/api/rtcaudiosourcestats/index.md * Add keys for BCD data * Make it clear that the audiolevel can also be calculated --------- Co-authored-by: wbamberg <will@bootbonnet.ca> * correct language tag of code fence (#26738) * Fix code comment in dialog example (#26669) * Update index.md (#26744) * Remove Prettier ignore for /web/web_components (#24225) * Bump @mdn/yari from 2.20.0 to 2.20.3 (#26747) * Update length values description (#26728) * Update length values description length values are not always absolute. For example we can use 2em for width property as a length value but it is not absolute. I corrected this in the Values section. * Update files/en-us/web/css/width/index.md Co-authored-by: Dipika Bhattacharya <dipika@foss-community.org> --------- Co-authored-by: Dipika Bhattacharya <dipika@foss-community.org> * Add TransformStream note about returning a promise (#26757) * Remove emphasis on WritableStream controller (#26758) * Remove emphasis on WritableStream controller * copy edit * lint --------- Co-authored-by: wbamberg <will@bootbonnet.ca> * fix: Updated description of example which in `JavaScript.Object` to be more accurate (#26742) Update index.md * Fix some more return statements (#26759) * Fix return value for toString * Fix some more return statements * Fix 26745: don't auto-play (#26748) * Fix 26743: Fix return value; improve example (#26753) * Fix return value for Range: getBoundingClientRect() (#26754) * Mention that Set iterators have a defined order (#26727) * Mention that Set iterators have a defined order * Do it for Map --------- Co-authored-by: Joshua Chen <sidachen2003@gmail.com> * Accentuate month being 0-index in getMonth example (#26734) * Accentuate month being 0-index in get month example `Date.getMonth` behavior differ slightly from the similar method as it return the index of the month and is 0-indexed, while the other method return ordinal values instead of index and don't have this distinction. One could be tempted to run `${year}-${month}-${day}` and `${hour}:${minutes}:${seconds}` after the code in exemple to get iso formated date and time but the month would be off by one as iso month are 1-indexed, january being 1 and december being 12. Adding a comment with the actual output put emphasis on this difference in behavior and might prevent people being surprised by that after the fact. The value chosen for the date is partly random. 2000 is the first year not starting with 19; January cause the month part to be 0 which should call attention to itself; 17 is high enough so it cannot be a month and I like it; 16 is in the 24h hour clock; 45 is high enough to not be confused with an hour; 30 is here for lack of imagination. * Update files/en-us/web/javascript/reference/global_objects/date/index.md * Update files/en-us/web/javascript/reference/global_objects/date/index.md * Update files/en-us/web/javascript/reference/global_objects/date/index.md --------- Co-authored-by: Joshua Chen <sidachen2003@gmail.com> * Do not use JSON.stringify in console.log (#26662) * Update index.md * fix: not use JSON.stringify when print via console.log * fix: Update the description of callbackFn's accumulator in `Array.reduceRight()` (#26594) * Update index.md * Update files/en-us/web/javascript/reference/global_objects/array/reduceright/index.md * Update files/en-us/web/javascript/reference/global_objects/array/reduceright/index.md --------- Co-authored-by: Joshua Chen <sidachen2003@gmail.com> * Remove random arrow from Endianness example (#26767) * Add missed redirect (#26769) * remove self-reference links (#26764) * remove a self reference link * Update index.md * Update index.md (#26771) * Update index.md Added the missing bracket * Update files/en-us/web/api/stylepropertymap/append/index.md --------- Co-authored-by: Hamish Willee <hamishwillee@gmail.com> * correct http status code message (#26765) * Fix 26741: reduce ambiguity, remove unneeded word (#26750) * Fix 26741: reduce ambiguity, remove unneeded word * Update files/en-us/web/http/overview/index.md --------- Co-authored-by: Hamish Willee <hamishwillee@gmail.com> * Window.beforeunload event requires sticky activation (#26772) * Update `:paused` content (#26768) * Update `:paused` content * Update files/en-us/web/css/_colon_paused/index.md * Update files/en-us/web/css/_colon_paused/index.md Co-authored-by: Estelle Weyl <estelle@openwebdocs.org> * Update files/en-us/web/css/_colon_paused/index.md Co-authored-by: Estelle Weyl <estelle@openwebdocs.org> * Update files/en-us/web/css/_colon_paused/index.md Co-authored-by: A1lo <yin199909@aliyun.com> --------- Co-authored-by: Joshua Chen <sidachen2003@gmail.com> Co-authored-by: Estelle Weyl <estelle@openwebdocs.org> Co-authored-by: A1lo <yin199909@aliyun.com> * FF114 ECMAScript module support (#26774) * removed while loop from the example (#26588) Co-authored-by: Mohit Maheshwari <mohitmaheshwari@1MGH-LPTP-1483.local> * Updating content that storage is always partitioned and storage access grants are limited to cookies * Avoiding the phrase 'cookie storage' * implemented review from Tricolon * less firefox centric * clean up merge * capitalization --------- Co-authored-by: Hannah Peuckmann <peuckmann@uni-potsdam.de> Co-authored-by: Bodhi van Baardewijk <bodhivanbaardewijk@hotmail.com> Co-authored-by: wbamberg <will@bootbonnet.ca> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: rebloor <git@sherpa.co.nz> Co-authored-by: oti <oti@users.noreply.github.com> Co-authored-by: yarusome <97945148+yarusome@users.noreply.github.com> Co-authored-by: Estelle Weyl <estelle@openwebdocs.org> Co-authored-by: Estelle Weyl <estelle@weyl.org> Co-authored-by: Brian Thomas Smith <brian@smith.berlin> Co-authored-by: Dipika Bhattacharya <dipika@foss-community.org> Co-authored-by: Ctibor Laky <luckylooke@gmail.com> Co-authored-by: CanadaHonk <19228318+CanadaHonk@users.noreply.github.com> Co-authored-by: nintendoit <91181094+nintendoit@users.noreply.github.com> Co-authored-by: Joshua Chen <sidachen2003@gmail.com> Co-authored-by: Hamish Willee <hamishwillee@gmail.com> Co-authored-by: A1lo <yin199909@aliyun.com> Co-authored-by: Fredrik Vaeng Røtnes <frwdrik@gmail.com> Co-authored-by: Sebastian Sobociński <hiddenboox@users.noreply.github.com> Co-authored-by: Queen Vinyl Da.i'gyu-Kazotetsu <vinyldarkscratch@gmail.com> Co-authored-by: Amirhosain Shahsavari <shvb2007@gmail.com> Co-authored-by: Dan Cecile <dancecile@gmail.com> Co-authored-by: Jason Lam <jasonlamv-t@hotmail.com> Co-authored-by: Mathias Stearn <redbeard0531@gmail.com> Co-authored-by: L. Coues <couesl@gmail.com> Co-authored-by: Steven Nyman <35897452+stevennyman@users.noreply.github.com> Co-authored-by: Onkar Ruikar <87750369+OnkarRuikar@users.noreply.github.com> Co-authored-by: Arka Poddar <poddararka27@gmail.com> Co-authored-by: Jason Ren <40999116+jasonren0403@users.noreply.github.com> Co-authored-by: Wonder Dai <37327614+daiwanxing@users.noreply.github.com> Co-authored-by: MohitMaheshwari1711 <39165319+MohitMaheshwari1711@users.noreply.github.com> Co-authored-by: Mohit Maheshwari <mohitmaheshwari@1MGH-LPTP-1483.local>
Iframe worker threads were introduced as a workaround for limitations in web browsers. Namely: * Chrome crashed when using WASM in web workers * Firefox didn't support ESM workers at all Both problems are now solved: * #1 * mdn/content#26774 There are no more reasons to keep maintaining the iframe worker thread backend. Let's remove it and lean fully on web workers.
Iframe worker threads were introduced as a workaround for limitations in web browsers. Namely: * Chrome crashed when using WASM in web workers * Firefox didn't support ESM workers at all Both problems are now solved: * #1 * mdn/content#26774 There are no more reasons to keep maintaining the iframe worker thread backend. Let's remove it and lean fully on web workers. This commit changes the signature of `spawnPHPWorkerThread` from `spawnPHPWorkerThread(workerUrl, workerType, options)` to `spawnPHPWorkerThread(workerUrl, options)` and is therefore breaking.
Iframe worker threads were introduced as a workaround for limitations in web browsers. Namely: * Chrome crashed when using WASM in web workers * Firefox didn't support ESM workers at all Both problems are now solved: * WordPress/wordpress-playground#1 * mdn/content#26774 There are no more reasons to keep maintaining the iframe worker thread backend. Let's remove it and lean fully on web workers. This commit changes the signature of `spawnPHPWorkerThread` from `spawnPHPWorkerThread(workerUrl, workerType, options)` to `spawnPHPWorkerThread(workerUrl, options)` and is therefore breaking.
FF114 adds support for ECMAScript modules. What that means is that you can use the constructor
{type: "module"}
in worker/shared worker constructor, and use bothimport
andimport()
. In Worklets you can callimport
.FF does not yet support modules in ServiceWorkers, but they also allow
import
only.What this does is update experimental features and FF114 release notes with the additions. It also adds notes to Worklet and ServiceWorker to make it clear that workers can only load modules using
import
, since that is a spec rather than a compatibility thing.Other docs work can be tracked in #26695