Hi, all! Thanks to everyone's efforts, the ESMification project is reaching the final step. As announced in the previous email about the out-of-tree migration (https://groups.google.com/a/mozilla.org/g/dev-platform/c/HJHAaGKSeGU/m/k_L5xwBfAAAJ ), the JSM loader was removed from the Firefox 136 codebase.
The final step is to remove the special behavior around the module global variables in our system ES modules, which was necessary for the migration period, and this change may affect all system modules, including system modules in privileged extensions if there's any. In short, non-exported module global variables may have shorter lifetime than the module itself depending on the usage, and if only the variable is used for keeping the pointed object alive, the object may be GCed earlier. Here's the documentation that describes the details and the affected cases, and the workaround for each case. https://docs.google.com/document/d/13hBs-UXQfJHTBTlRV6n1V1C-G_ObhQYjpnBpzRCIHmg/edit?tab=t.0 While the most cases are already fixed, there may be some overlooked cases (especially when the system module isn't named ".sys.mjs"). If you're aware of any case that is affected, please contact me. Thank you for reading. If you have questions, feel free to ask in the #esmification matrix room! https://chat.mozilla.org/#/room/%23esmification:mozilla.org -- arai -- You received this message because you are subscribed to the Google Groups "[email protected]" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/8D865045-86D7-4A68-B27B-AAE7626DD5C8%40gmail.com.
