/user.js(2,7): error TS2339: Property 'b' does not exist on type '{ a: number; }'.
/user.js(5,7): error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type '{ b: number; }'.
/user.js(9,7): error TS2339: Property 'b' does not exist on type '{ a: number; }'.
/user.js(12,7): error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type '{ b: number; }'.


==== /user.js (4 errors) ====
    const json0 = require("./json.json");
    json0.b; // Error (good)
          ~
!!! error TS2339: Property 'b' does not exist on type '{ a: number; }'.
    
    /** @type {{ b: number }} */
    const json1 = require("./json.json"); // No error (bad)
          ~~~~~
!!! error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type '{ b: number; }'.
!!! related TS2728 /user.js:4:14: 'b' is declared here.
    json1.b; // No error (OK since that's the type annotation)
    
    const js0 = require("./js.js");
    json0.b; // Error (good)
          ~
!!! error TS2339: Property 'b' does not exist on type '{ a: number; }'.
    
    /** @type {{ b: number }} */
    const js1 = require("./js.js"); // Error (good)
          ~~~
!!! error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type '{ b: number; }'.
!!! related TS2728 /user.js:11:14: 'b' is declared here.
    js1.b;
==== /json.json (0 errors) ====
    { "a": 0 }
    
==== /js.js (0 errors) ====
    module.exports = { a: 0 };
    