WIP: ES Module Support (continuation)

Evan Welsh requested to merge ewlsh/gjs:es6-modules into master

This merge request is a continuation of @djrenren's work in !150 (closed).

It roughly holds the current state of ESM, though is currently being rebased.

It is currently based on top of: master > !453 (merged) > !456 (merged) > !450 (merged)

ARGV reworking has been split off into: master > !455 (merged) > !443 (merged)


  • Adds support for running files written with ESM (ECMAScript Modules).
  • Adds support for dynamic imports and static imports.
  • Maintains compatibility with all existing GJS code.
  • Adds shims to access existing system (c++) modules such as system, gi, etc.
  • Adds ESM 'wrappers' to access internal modules such as gettext
  • Updates package specification for ESM modules.
Edited by Evan Welsh

Merge request reports