Skip to content
Snippets Groups Projects
  • Yoshi Cheng-Hao Huang's avatar
    bf48a8b5
    Bug 1873610 - Part 2: Improve modules import/export error messages. r=jonco · bf48a8b5
    Yoshi Cheng-Hao Huang authored
    Refactor the error message with the adding the information from the imported
    module, for example:
    
    // a.mjs
    import { a } from "./b.mjs";
    
    // b.mjs
    const b = 1;
    
    Originally the error message is "import not found: default", now it
    becomes "The requested module: b.mjs doesn't provide an export named: a"
    
    // c.mjs
    import { c } from "./d.mjs";
    
    // d.mjs
    export * from "./d1.mjs";
    export * from "./d2.mjs";
    
    // d1.mjs
    export const c = 1;
    
    // d2.mjs
    export const c = 2;
    
    Originally the error message is "ambiguous import: c", now it becomes
    "The requested module d.mjs contains ambiguous star export: c from
    d1.mjs and d2.mjs"
    
    Add another error message for circular import:
    
    // e.mjs
    export { e } from "f.mjs";
    
    // f.mjs
    export { e } from "e.mjs";
    
    Originally it was "indirect export not found: e", now it is
    "The request module: f.mjs contains circular import: e".
    
    Differential Revision: https://phabricator.services.mozilla.com/D200345
    bf48a8b5
    History
    Bug 1873610 - Part 2: Improve modules import/export error messages. r=jonco
    Yoshi Cheng-Hao Huang authored
    Refactor the error message with the adding the information from the imported
    module, for example:
    
    // a.mjs
    import { a } from "./b.mjs";
    
    // b.mjs
    const b = 1;
    
    Originally the error message is "import not found: default", now it
    becomes "The requested module: b.mjs doesn't provide an export named: a"
    
    // c.mjs
    import { c } from "./d.mjs";
    
    // d.mjs
    export * from "./d1.mjs";
    export * from "./d2.mjs";
    
    // d1.mjs
    export const c = 1;
    
    // d2.mjs
    export const c = 2;
    
    Originally the error message is "ambiguous import: c", now it becomes
    "The requested module d.mjs contains ambiguous star export: c from
    d1.mjs and d2.mjs"
    
    Add another error message for circular import:
    
    // e.mjs
    export { e } from "f.mjs";
    
    // f.mjs
    export { e } from "e.mjs";
    
    Originally it was "indirect export not found: e", now it is
    "The request module: f.mjs contains circular import: e".
    
    Differential Revision: https://phabricator.services.mozilla.com/D200345