From a2a4be20dbb1bb9c58df78505ed456767e739b41 Mon Sep 17 00:00:00 2001 From: Huafu Gandon Date: Thu, 20 Sep 2018 09:36:55 +0200 Subject: [PATCH] fix(config): warn instead of forcing ESM interoperability --- .../__snapshots__/hoisting.test.ts.snap | 49 +++----- src/config/config-set.spec.ts | 71 ++++++++++- src/config/config-set.ts | 117 ++++++++++++------ src/util/messages.ts | 1 + 4 files changed, 167 insertions(+), 71 deletions(-) diff --git a/e2e/__tests__/__snapshots__/hoisting.test.ts.snap b/e2e/__tests__/__snapshots__/hoisting.test.ts.snap index 2b7777502b..f7b393bac8 100644 --- a/e2e/__tests__/__snapshots__/hoisting.test.ts.snap +++ b/e2e/__tests__/__snapshots__/hoisting.test.ts.snap @@ -3,12 +3,9 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "default": io 1`] = ` ===[ FILE: hello.spec.ts ]====================================================== "use strict"; - var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; - }; Object.defineProperty(exports, "__esModule", { value: true }); jest.mock('./hello'); - var hello_1 = __importDefault(require("./hello")); + var hello_1 = require("./hello"); afterAll(function () { jest.unmock('./hello'); // this should go after @@ -25,11 +22,11 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "defaul expect(require('foo')).toBe('bar'); }); }); - //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiaGVsbG8uc3BlYy50cyIsIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFSckIsa0RBQTRCO0FBRTVCLFFBQVEsQ0FBQztJQUdQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFGdkIsdUJBQXVCO0lBQ3ZCLElBQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztDQUVmLENBQUMsQ0FBQTtBQUlGLFFBQVEsQ0FBQyxPQUFPLEVBQUU7SUFDaEIsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1FBTTVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFMakQsSUFBTSxHQUFHLEdBQUcsZUFBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLGVBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxlQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUVwQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ijxjd2Q+LyIsInNvdXJjZXMiOlsiaGVsbG8uc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGVsbG8gZnJvbSAnLi9oZWxsbyc7XG5cbmFmdGVyQWxsKCgpID0+IHtcbiAgLy8gdGhpcyBzaG91bGQgZ28gYWZ0ZXJcbiAgY29uc3QgenogPSAyMDtcbiAgamVzdC51bm1vY2soJy4vaGVsbG8nKTtcbn0pXG5cbmplc3QubW9jaygnLi9oZWxsbycpO1xuXG5kZXNjcmliZSgnaGVsbG8nLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsID0gcmVxdWlyZS5yZXF1aXJlQWN0dWFsKCcuL2hlbGxvJykuZGVmYXVsdDtcbiAgaXQoJ3Nob3VsZCBoYXZlIGJlZW4gbW9ja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGhlbGxvKCk7XG4gICAgZXhwZWN0KGhlbGxvKS5ub3QudG9CZShvcmlnaW5hbCk7XG4gICAgZXhwZWN0KG1zZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChoZWxsbykudG9IYXZlUHJvcGVydHkoJ21vY2snKTtcbiAgICBleHBlY3QocmVxdWlyZSgnZm9vJykpLnRvQmUoJ2JhcicpO1xuICAgIGplc3QubW9jaygnZm9vJywgKCkgPT4gJ2JhcicsIHsgdmlydHVhbDogdHJ1ZSB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ== + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiaGVsbG8uc3BlYy50cyIsIm1hcHBpbmdzIjoiOztBQVFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFSckIsaUNBQTRCO0FBRTVCLFFBQVEsQ0FBQztJQUdQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFGdkIsdUJBQXVCO0lBQ3ZCLElBQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztDQUVmLENBQUMsQ0FBQTtBQUlGLFFBQVEsQ0FBQyxPQUFPLEVBQUU7SUFDaEIsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1FBTTVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFMakQsSUFBTSxHQUFHLEdBQUcsZUFBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLGVBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxlQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUVwQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ijxjd2Q+LyIsInNvdXJjZXMiOlsiaGVsbG8uc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGVsbG8gZnJvbSAnLi9oZWxsbyc7XG5cbmFmdGVyQWxsKCgpID0+IHtcbiAgLy8gdGhpcyBzaG91bGQgZ28gYWZ0ZXJcbiAgY29uc3QgenogPSAyMDtcbiAgamVzdC51bm1vY2soJy4vaGVsbG8nKTtcbn0pXG5cbmplc3QubW9jaygnLi9oZWxsbycpO1xuXG5kZXNjcmliZSgnaGVsbG8nLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsID0gcmVxdWlyZS5yZXF1aXJlQWN0dWFsKCcuL2hlbGxvJykuZGVmYXVsdDtcbiAgaXQoJ3Nob3VsZCBoYXZlIGJlZW4gbW9ja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGhlbGxvKCk7XG4gICAgZXhwZWN0KGhlbGxvKS5ub3QudG9CZShvcmlnaW5hbCk7XG4gICAgZXhwZWN0KG1zZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChoZWxsbykudG9IYXZlUHJvcGVydHkoJ21vY2snKTtcbiAgICBleHBlY3QocmVxdWlyZSgnZm9vJykpLnRvQmUoJ2JhcicpO1xuICAgIGplc3QubW9jaygnZm9vJywgKCkgPT4gJ2JhcicsIHsgdmlydHVhbDogdHJ1ZSB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ== ===[ INLINE SOURCE MAPS ]======================================================= file: hello.spec.ts mappings: >- - ;;;;;AAQA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AARrB,kDAA4B;AAE5B,QAAQ,CAAC;IAGP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAFvB,uBAAuB;IACvB,IAAM,EAAE,GAAG,EAAE,CAAC;CAEf,CAAC,CAAA;AAIF,QAAQ,CAAC,OAAO,EAAE;IAChB,IAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAC1D,EAAE,CAAC,yBAAyB,EAAE;QAM5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QALjD,IAAM,GAAG,GAAG,eAAK,EAAE,CAAC;QACpB,MAAM,CAAC,eAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAEpC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC + ;;AAQA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AARrB,iCAA4B;AAE5B,QAAQ,CAAC;IAGP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAFvB,uBAAuB;IACvB,IAAM,EAAE,GAAG,EAAE,CAAC;CAEf,CAAC,CAAA;AAIF,QAAQ,CAAC,OAAO,EAAE;IAChB,IAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAC1D,EAAE,CAAC,yBAAyB,EAAE;QAM5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QALjD,IAAM,GAAG,GAAG,eAAK,EAAE,CAAC;QACpB,MAAM,CAAC,eAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAEpC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC names: [] sourceRoot: / sources: @@ -84,10 +81,7 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-b "use strict"; jest.mock('./hello'); - var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true });var hello_1 = __importDefault(require("./hello")); + Object.defineProperty(exports, "__esModule", { value: true });var hello_1 = require("./hello"); afterAll(function () { jest.unmock('./hello'); // this should go after @@ -106,10 +100,10 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-b expect(require('foo')).toBe('bar'); }); }); - //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJtYXBwaW5ncyI6Ijs7QUFRQSxLQUFLLElBQUwsQ0FBVSxTQUFWOzs7OzhEQVJBLElBQUEsVUFBQSxnQkFBQSxRQUFBLFNBQUEsQ0FBQSxDQUFBO0FBRUEsU0FBUyxZQUFBO0FBR1AsU0FBSyxNQUFMLENBQVksU0FBWjtBQUZBO0FBQ0EsUUFBTSxLQUFLLEVBQVg7QUFFRCxDQUpEO0FBUUEsU0FBUyxPQUFULEVBQWtCLFlBQUE7QUFDaEIsUUFBTSxXQUFXLFFBQVEsYUFBUixDQUFzQixTQUF0QixFQUFpQyxPQUFsRDtBQUNBLE9BQUcseUJBQUgsRUFBOEIsWUFBQTtBQU01QixhQUFLLElBQUwsQ0FBVSxLQUFWLEVBQWlCLFlBQUE7QUFBTSxtQkFBQSxLQUFBO0FBQUssU0FBNUIsRUFBOEIsRUFBRSxTQUFTLElBQVgsRUFBOUI7QUFMQSxZQUFNLE1BQU0sUUFBQSxPQUFBLEVBQVo7QUFDQSxlQUFPLFFBQUEsT0FBUCxFQUFjLEdBQWQsQ0FBa0IsSUFBbEIsQ0FBdUIsUUFBdkI7QUFDQSxlQUFPLEdBQVAsRUFBWSxhQUFaO0FBQ0EsZUFBTyxRQUFBLE9BQVAsRUFBYyxjQUFkLENBQTZCLE1BQTdCO0FBQ0EsZUFBTyxRQUFRLEtBQVIsQ0FBUCxFQUF1QixJQUF2QixDQUE0QixLQUE1QjtBQUVELEtBUEQ7QUFRRCxDQVZEIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiPGN3ZD4vIiwic291cmNlcyI6WyJoZWxsby5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBoZWxsbyBmcm9tICcuL2hlbGxvJztcblxuYWZ0ZXJBbGwoKCkgPT4ge1xuICAvLyB0aGlzIHNob3VsZCBnbyBhZnRlclxuICBjb25zdCB6eiA9IDIwO1xuICBqZXN0LnVubW9jaygnLi9oZWxsbycpO1xufSlcblxuamVzdC5tb2NrKCcuL2hlbGxvJyk7XG5cbmRlc2NyaWJlKCdoZWxsbycsICgpID0+IHtcbiAgY29uc3Qgb3JpZ2luYWwgPSByZXF1aXJlLnJlcXVpcmVBY3R1YWwoJy4vaGVsbG8nKS5kZWZhdWx0O1xuICBpdCgnc2hvdWxkIGhhdmUgYmVlbiBtb2NrZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgbXNnID0gaGVsbG8oKTtcbiAgICBleHBlY3QoaGVsbG8pLm5vdC50b0JlKG9yaWdpbmFsKTtcbiAgICBleHBlY3QobXNnKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgZXhwZWN0KGhlbGxvKS50b0hhdmVQcm9wZXJ0eSgnbW9jaycpO1xuICAgIGV4cGVjdChyZXF1aXJlKCdmb28nKSkudG9CZSgnYmFyJyk7XG4gICAgamVzdC5tb2NrKCdmb28nLCAoKSA9PiAnYmFyJywgeyB2aXJ0dWFsOiB0cnVlIH0pO1xuICB9KTtcbn0pO1xuIl0sInZlcnNpb24iOjN9 + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJtYXBwaW5ncyI6Ijs7QUFRQSxLQUFLLElBQUwsQ0FBVSxTQUFWOzhEQVJBLElBQUEsVUFBQSxRQUFBLFNBQUEsQ0FBQTtBQUVBLFNBQVMsWUFBQTtBQUdQLFNBQUssTUFBTCxDQUFZLFNBQVo7QUFGQTtBQUNBLFFBQU0sS0FBSyxFQUFYO0FBRUQsQ0FKRDtBQVFBLFNBQVMsT0FBVCxFQUFrQixZQUFBO0FBQ2hCLFFBQU0sV0FBVyxRQUFRLGFBQVIsQ0FBc0IsU0FBdEIsRUFBaUMsT0FBbEQ7QUFDQSxPQUFHLHlCQUFILEVBQThCLFlBQUE7QUFNNUIsYUFBSyxJQUFMLENBQVUsS0FBVixFQUFpQixZQUFBO0FBQU0sbUJBQUEsS0FBQTtBQUFLLFNBQTVCLEVBQThCLEVBQUUsU0FBUyxJQUFYLEVBQTlCO0FBTEEsWUFBTSxNQUFNLFFBQUEsT0FBQSxFQUFaO0FBQ0EsZUFBTyxRQUFBLE9BQVAsRUFBYyxHQUFkLENBQWtCLElBQWxCLENBQXVCLFFBQXZCO0FBQ0EsZUFBTyxHQUFQLEVBQVksYUFBWjtBQUNBLGVBQU8sUUFBQSxPQUFQLEVBQWMsY0FBZCxDQUE2QixNQUE3QjtBQUNBLGVBQU8sUUFBUSxLQUFSLENBQVAsRUFBdUIsSUFBdkIsQ0FBNEIsS0FBNUI7QUFFRCxLQVBEO0FBUUQsQ0FWRCIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ijxjd2Q+LyIsInNvdXJjZXMiOlsiaGVsbG8uc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGVsbG8gZnJvbSAnLi9oZWxsbyc7XG5cbmFmdGVyQWxsKCgpID0+IHtcbiAgLy8gdGhpcyBzaG91bGQgZ28gYWZ0ZXJcbiAgY29uc3QgenogPSAyMDtcbiAgamVzdC51bm1vY2soJy4vaGVsbG8nKTtcbn0pXG5cbmplc3QubW9jaygnLi9oZWxsbycpO1xuXG5kZXNjcmliZSgnaGVsbG8nLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsID0gcmVxdWlyZS5yZXF1aXJlQWN0dWFsKCcuL2hlbGxvJykuZGVmYXVsdDtcbiAgaXQoJ3Nob3VsZCBoYXZlIGJlZW4gbW9ja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGhlbGxvKCk7XG4gICAgZXhwZWN0KGhlbGxvKS5ub3QudG9CZShvcmlnaW5hbCk7XG4gICAgZXhwZWN0KG1zZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChoZWxsbykudG9IYXZlUHJvcGVydHkoJ21vY2snKTtcbiAgICBleHBlY3QocmVxdWlyZSgnZm9vJykpLnRvQmUoJ2JhcicpO1xuICAgIGplc3QubW9jaygnZm9vJywgKCkgPT4gJ2JhcicsIHsgdmlydHVhbDogdHJ1ZSB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ== ===[ INLINE SOURCE MAPS ]======================================================= mappings: >- - ;;AAQA,KAAK,IAAL,CAAU,SAAV;;;;8DARA,IAAA,UAAA,gBAAA,QAAA,SAAA,CAAA,CAAA;AAEA,SAAS,YAAA;AAGP,SAAK,MAAL,CAAY,SAAZ;AAFA;AACA,QAAM,KAAK,EAAX;AAED,CAJD;AAQA,SAAS,OAAT,EAAkB,YAAA;AAChB,QAAM,WAAW,QAAQ,aAAR,CAAsB,SAAtB,EAAiC,OAAlD;AACA,OAAG,yBAAH,EAA8B,YAAA;AAM5B,aAAK,IAAL,CAAU,KAAV,EAAiB,YAAA;AAAM,mBAAA,KAAA;AAAK,SAA5B,EAA8B,EAAE,SAAS,IAAX,EAA9B;AALA,YAAM,MAAM,QAAA,OAAA,EAAZ;AACA,eAAO,QAAA,OAAP,EAAc,GAAd,CAAkB,IAAlB,CAAuB,QAAvB;AACA,eAAO,GAAP,EAAY,aAAZ;AACA,eAAO,QAAA,OAAP,EAAc,cAAd,CAA6B,MAA7B;AACA,eAAO,QAAQ,KAAR,CAAP,EAAuB,IAAvB,CAA4B,KAA5B;AAED,KAPD;AAQD,CAVD + ;;AAQA,KAAK,IAAL,CAAU,SAAV;8DARA,IAAA,UAAA,QAAA,SAAA,CAAA;AAEA,SAAS,YAAA;AAGP,SAAK,MAAL,CAAY,SAAZ;AAFA;AACA,QAAM,KAAK,EAAX;AAED,CAJD;AAQA,SAAS,OAAT,EAAkB,YAAA;AAChB,QAAM,WAAW,QAAQ,aAAR,CAAsB,SAAtB,EAAiC,OAAlD;AACA,OAAG,yBAAH,EAA8B,YAAA;AAM5B,aAAK,IAAL,CAAU,KAAV,EAAiB,YAAA;AAAM,mBAAA,KAAA;AAAK,SAA5B,EAA8B,EAAE,SAAS,IAAX,EAA9B;AALA,YAAM,MAAM,QAAA,OAAA,EAAZ;AACA,eAAO,QAAA,OAAP,EAAc,GAAd,CAAkB,IAAlB,CAAuB,QAAvB;AACA,eAAO,GAAP,EAAY,aAAZ;AACA,eAAO,QAAA,OAAP,EAAc,cAAd,CAA6B,MAA7B;AACA,eAAO,QAAQ,KAAR,CAAP,EAAuB,IAAvB,CAA4B,KAA5B;AAED,KAPD;AAQD,CAVD names: [] sourceRoot: / sources: @@ -164,18 +158,11 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-b "use strict"; jest.mock('./hello'); - - var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var hello_1 = __importDefault(require("./hello")); + var hello_1 = require("./hello"); afterAll(function () { jest.unmock('./hello'); // this should go after @@ -198,10 +185,10 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-b expect(require('foo')).toBe('bar'); }); }); - //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJtYXBwaW5ncyI6Ijs7QUFRQSxJQUFJLENBQUMsSUFBTCxDQUFVLFNBQVY7Ozs7Ozs7Ozs7OztBQVJBLElBQUEsT0FBQSxHQUFBLGVBQUEsQ0FBQSxPQUFBLENBQUEsU0FBQSxDQUFBLENBQUE7O0FBRUEsUUFBUSxDQUFDLFlBQUE7QUFHUCxFQUFBLElBQUksQ0FBQyxNQUFMLENBQVksU0FBWixFQUhPLENBQ1A7O0FBQ0EsTUFBTSxFQUFFLEdBQUcsRUFBWDtBQUVELENBSk8sQ0FBUjtBQVFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBQTtBQUNoQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsYUFBUixDQUFzQixTQUF0QixFQUFpQyxPQUFsRDs7QUFDQSxFQUFBLEVBQUUsQ0FBQyx5QkFBRCxFQUE0QixZQUFBO0FBTTVCLElBQUEsSUFBSSxDQUFDLElBQUwsQ0FBVSxLQUFWLEVBQWlCLFlBQUE7QUFBTSxhQUFBLEtBQUE7QUFBSyxLQUE1QixFQUE4QjtBQUFFLE1BQUEsT0FBTyxFQUFFO0FBQVgsS0FBOUI7QUFMQSxRQUFNLEdBQUcsR0FBRyxPQUFBLENBQUEsT0FBQSxFQUFaO0FBQ0EsSUFBQSxNQUFNLENBQUMsT0FBQSxDQUFBLE9BQUQsQ0FBTixDQUFjLEdBQWQsQ0FBa0IsSUFBbEIsQ0FBdUIsUUFBdkI7QUFDQSxJQUFBLE1BQU0sQ0FBQyxHQUFELENBQU4sQ0FBWSxhQUFaO0FBQ0EsSUFBQSxNQUFNLENBQUMsT0FBQSxDQUFBLE9BQUQsQ0FBTixDQUFjLGNBQWQsQ0FBNkIsTUFBN0I7QUFDQSxJQUFBLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBRCxDQUFSLENBQU4sQ0FBdUIsSUFBdkIsQ0FBNEIsS0FBNUI7QUFFRCxHQVBDLENBQUY7QUFRRCxDQVZPLENBQVIiLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiI8Y3dkPi8iLCJzb3VyY2VzIjpbImhlbGxvLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGhlbGxvIGZyb20gJy4vaGVsbG8nO1xuXG5hZnRlckFsbCgoKSA9PiB7XG4gIC8vIHRoaXMgc2hvdWxkIGdvIGFmdGVyXG4gIGNvbnN0IHp6ID0gMjA7XG4gIGplc3QudW5tb2NrKCcuL2hlbGxvJyk7XG59KVxuXG5qZXN0Lm1vY2soJy4vaGVsbG8nKTtcblxuZGVzY3JpYmUoJ2hlbGxvJywgKCkgPT4ge1xuICBjb25zdCBvcmlnaW5hbCA9IHJlcXVpcmUucmVxdWlyZUFjdHVhbCgnLi9oZWxsbycpLmRlZmF1bHQ7XG4gIGl0KCdzaG91bGQgaGF2ZSBiZWVuIG1vY2tlZCcsICgpID0+IHtcbiAgICBjb25zdCBtc2cgPSBoZWxsbygpO1xuICAgIGV4cGVjdChoZWxsbykubm90LnRvQmUob3JpZ2luYWwpO1xuICAgIGV4cGVjdChtc2cpLnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaGVsbG8pLnRvSGF2ZVByb3BlcnR5KCdtb2NrJyk7XG4gICAgZXhwZWN0KHJlcXVpcmUoJ2ZvbycpKS50b0JlKCdiYXInKTtcbiAgICBqZXN0Lm1vY2soJ2ZvbycsICgpID0+ICdiYXInLCB7IHZpcnR1YWw6IHRydWUgfSk7XG4gIH0pO1xufSk7XG4iXSwidmVyc2lvbiI6M30= + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJtYXBwaW5ncyI6Ijs7QUFRQSxJQUFJLENBQUMsSUFBTCxDQUFVLFNBQVY7Ozs7O0FBUkEsSUFBQSxPQUFBLEdBQUEsT0FBQSxDQUFBLFNBQUEsQ0FBQTs7QUFFQSxRQUFRLENBQUMsWUFBQTtBQUdQLEVBQUEsSUFBSSxDQUFDLE1BQUwsQ0FBWSxTQUFaLEVBSE8sQ0FDUDs7QUFDQSxNQUFNLEVBQUUsR0FBRyxFQUFYO0FBRUQsQ0FKTyxDQUFSO0FBUUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFBO0FBQ2hCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxhQUFSLENBQXNCLFNBQXRCLEVBQWlDLE9BQWxEOztBQUNBLEVBQUEsRUFBRSxDQUFDLHlCQUFELEVBQTRCLFlBQUE7QUFNNUIsSUFBQSxJQUFJLENBQUMsSUFBTCxDQUFVLEtBQVYsRUFBaUIsWUFBQTtBQUFNLGFBQUEsS0FBQTtBQUFLLEtBQTVCLEVBQThCO0FBQUUsTUFBQSxPQUFPLEVBQUU7QUFBWCxLQUE5QjtBQUxBLFFBQU0sR0FBRyxHQUFHLE9BQUEsQ0FBQSxPQUFBLEVBQVo7QUFDQSxJQUFBLE1BQU0sQ0FBQyxPQUFBLENBQUEsT0FBRCxDQUFOLENBQWMsR0FBZCxDQUFrQixJQUFsQixDQUF1QixRQUF2QjtBQUNBLElBQUEsTUFBTSxDQUFDLEdBQUQsQ0FBTixDQUFZLGFBQVo7QUFDQSxJQUFBLE1BQU0sQ0FBQyxPQUFBLENBQUEsT0FBRCxDQUFOLENBQWMsY0FBZCxDQUE2QixNQUE3QjtBQUNBLElBQUEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFELENBQVIsQ0FBTixDQUF1QixJQUF2QixDQUE0QixLQUE1QjtBQUVELEdBUEMsQ0FBRjtBQVFELENBVk8sQ0FBUiIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ijxjd2Q+LyIsInNvdXJjZXMiOlsiaGVsbG8uc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGVsbG8gZnJvbSAnLi9oZWxsbyc7XG5cbmFmdGVyQWxsKCgpID0+IHtcbiAgLy8gdGhpcyBzaG91bGQgZ28gYWZ0ZXJcbiAgY29uc3QgenogPSAyMDtcbiAgamVzdC51bm1vY2soJy4vaGVsbG8nKTtcbn0pXG5cbmplc3QubW9jaygnLi9oZWxsbycpO1xuXG5kZXNjcmliZSgnaGVsbG8nLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsID0gcmVxdWlyZS5yZXF1aXJlQWN0dWFsKCcuL2hlbGxvJykuZGVmYXVsdDtcbiAgaXQoJ3Nob3VsZCBoYXZlIGJlZW4gbW9ja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGhlbGxvKCk7XG4gICAgZXhwZWN0KGhlbGxvKS5ub3QudG9CZShvcmlnaW5hbCk7XG4gICAgZXhwZWN0KG1zZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChoZWxsbykudG9IYXZlUHJvcGVydHkoJ21vY2snKTtcbiAgICBleHBlY3QocmVxdWlyZSgnZm9vJykpLnRvQmUoJ2JhcicpO1xuICAgIGplc3QubW9jaygnZm9vJywgKCkgPT4gJ2JhcicsIHsgdmlydHVhbDogdHJ1ZSB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ== ===[ INLINE SOURCE MAPS ]======================================================= mappings: >- - ;;AAQA,IAAI,CAAC,IAAL,CAAU,SAAV;;;;;;;;;;;;AARA,IAAA,OAAA,GAAA,eAAA,CAAA,OAAA,CAAA,SAAA,CAAA,CAAA;;AAEA,QAAQ,CAAC,YAAA;AAGP,EAAA,IAAI,CAAC,MAAL,CAAY,SAAZ,EAHO,CACP;;AACA,MAAM,EAAE,GAAG,EAAX;AAED,CAJO,CAAR;AAQA,QAAQ,CAAC,OAAD,EAAU,YAAA;AAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAR,CAAsB,SAAtB,EAAiC,OAAlD;;AACA,EAAA,EAAE,CAAC,yBAAD,EAA4B,YAAA;AAM5B,IAAA,IAAI,CAAC,IAAL,CAAU,KAAV,EAAiB,YAAA;AAAM,aAAA,KAAA;AAAK,KAA5B,EAA8B;AAAE,MAAA,OAAO,EAAE;AAAX,KAA9B;AALA,QAAM,GAAG,GAAG,OAAA,CAAA,OAAA,EAAZ;AACA,IAAA,MAAM,CAAC,OAAA,CAAA,OAAD,CAAN,CAAc,GAAd,CAAkB,IAAlB,CAAuB,QAAvB;AACA,IAAA,MAAM,CAAC,GAAD,CAAN,CAAY,aAAZ;AACA,IAAA,MAAM,CAAC,OAAA,CAAA,OAAD,CAAN,CAAc,cAAd,CAA6B,MAA7B;AACA,IAAA,MAAM,CAAC,OAAO,CAAC,KAAD,CAAR,CAAN,CAAuB,IAAvB,CAA4B,KAA5B;AAED,GAPC,CAAF;AAQD,CAVO,CAAR + ;;AAQA,IAAI,CAAC,IAAL,CAAU,SAAV;;;;;AARA,IAAA,OAAA,GAAA,OAAA,CAAA,SAAA,CAAA;;AAEA,QAAQ,CAAC,YAAA;AAGP,EAAA,IAAI,CAAC,MAAL,CAAY,SAAZ,EAHO,CACP;;AACA,MAAM,EAAE,GAAG,EAAX;AAED,CAJO,CAAR;AAQA,QAAQ,CAAC,OAAD,EAAU,YAAA;AAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAR,CAAsB,SAAtB,EAAiC,OAAlD;;AACA,EAAA,EAAE,CAAC,yBAAD,EAA4B,YAAA;AAM5B,IAAA,IAAI,CAAC,IAAL,CAAU,KAAV,EAAiB,YAAA;AAAM,aAAA,KAAA;AAAK,KAA5B,EAA8B;AAAE,MAAA,OAAO,EAAE;AAAX,KAA9B;AALA,QAAM,GAAG,GAAG,OAAA,CAAA,OAAA,EAAZ;AACA,IAAA,MAAM,CAAC,OAAA,CAAA,OAAD,CAAN,CAAc,GAAd,CAAkB,IAAlB,CAAuB,QAAvB;AACA,IAAA,MAAM,CAAC,GAAD,CAAN,CAAY,aAAZ;AACA,IAAA,MAAM,CAAC,OAAA,CAAA,OAAD,CAAN,CAAc,cAAd,CAA6B,MAA7B;AACA,IAAA,MAAM,CAAC,OAAO,CAAC,KAAD,CAAR,CAAN,CAAuB,IAAvB,CAA4B,KAA5B;AAED,GAPC,CAAF;AAQD,CAVO,CAAR names: [] sourceRoot: / sources: @@ -254,12 +241,9 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-b exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-jest-22": io 1`] = ` ===[ FILE: hello.spec.ts ]====================================================== "use strict"; - var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; - }; Object.defineProperty(exports, "__esModule", { value: true }); jest.mock('./hello'); - var hello_1 = __importDefault(require("./hello")); + var hello_1 = require("./hello"); afterAll(function () { jest.unmock('./hello'); // this should go after @@ -276,11 +260,11 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-j expect(require('foo')).toBe('bar'); }); }); - //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiaGVsbG8uc3BlYy50cyIsIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFSckIsa0RBQTRCO0FBRTVCLFFBQVEsQ0FBQztJQUdQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFGdkIsdUJBQXVCO0lBQ3ZCLElBQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztDQUVmLENBQUMsQ0FBQTtBQUlGLFFBQVEsQ0FBQyxPQUFPLEVBQUU7SUFDaEIsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1FBTTVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFMakQsSUFBTSxHQUFHLEdBQUcsZUFBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLGVBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxlQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUVwQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ijxjd2Q+LyIsInNvdXJjZXMiOlsiaGVsbG8uc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGVsbG8gZnJvbSAnLi9oZWxsbyc7XG5cbmFmdGVyQWxsKCgpID0+IHtcbiAgLy8gdGhpcyBzaG91bGQgZ28gYWZ0ZXJcbiAgY29uc3QgenogPSAyMDtcbiAgamVzdC51bm1vY2soJy4vaGVsbG8nKTtcbn0pXG5cbmplc3QubW9jaygnLi9oZWxsbycpO1xuXG5kZXNjcmliZSgnaGVsbG8nLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsID0gcmVxdWlyZS5yZXF1aXJlQWN0dWFsKCcuL2hlbGxvJykuZGVmYXVsdDtcbiAgaXQoJ3Nob3VsZCBoYXZlIGJlZW4gbW9ja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGhlbGxvKCk7XG4gICAgZXhwZWN0KGhlbGxvKS5ub3QudG9CZShvcmlnaW5hbCk7XG4gICAgZXhwZWN0KG1zZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChoZWxsbykudG9IYXZlUHJvcGVydHkoJ21vY2snKTtcbiAgICBleHBlY3QocmVxdWlyZSgnZm9vJykpLnRvQmUoJ2JhcicpO1xuICAgIGplc3QubW9jaygnZm9vJywgKCkgPT4gJ2JhcicsIHsgdmlydHVhbDogdHJ1ZSB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ== + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiaGVsbG8uc3BlYy50cyIsIm1hcHBpbmdzIjoiOztBQVFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFSckIsaUNBQTRCO0FBRTVCLFFBQVEsQ0FBQztJQUdQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFGdkIsdUJBQXVCO0lBQ3ZCLElBQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztDQUVmLENBQUMsQ0FBQTtBQUlGLFFBQVEsQ0FBQyxPQUFPLEVBQUU7SUFDaEIsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1FBTTVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFMakQsSUFBTSxHQUFHLEdBQUcsZUFBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLGVBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxlQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUVwQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ijxjd2Q+LyIsInNvdXJjZXMiOlsiaGVsbG8uc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGVsbG8gZnJvbSAnLi9oZWxsbyc7XG5cbmFmdGVyQWxsKCgpID0+IHtcbiAgLy8gdGhpcyBzaG91bGQgZ28gYWZ0ZXJcbiAgY29uc3QgenogPSAyMDtcbiAgamVzdC51bm1vY2soJy4vaGVsbG8nKTtcbn0pXG5cbmplc3QubW9jaygnLi9oZWxsbycpO1xuXG5kZXNjcmliZSgnaGVsbG8nLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsID0gcmVxdWlyZS5yZXF1aXJlQWN0dWFsKCcuL2hlbGxvJykuZGVmYXVsdDtcbiAgaXQoJ3Nob3VsZCBoYXZlIGJlZW4gbW9ja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGhlbGxvKCk7XG4gICAgZXhwZWN0KGhlbGxvKS5ub3QudG9CZShvcmlnaW5hbCk7XG4gICAgZXhwZWN0KG1zZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChoZWxsbykudG9IYXZlUHJvcGVydHkoJ21vY2snKTtcbiAgICBleHBlY3QocmVxdWlyZSgnZm9vJykpLnRvQmUoJ2JhcicpO1xuICAgIGplc3QubW9jaygnZm9vJywgKCkgPT4gJ2JhcicsIHsgdmlydHVhbDogdHJ1ZSB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ== ===[ INLINE SOURCE MAPS ]======================================================= file: hello.spec.ts mappings: >- - ;;;;;AAQA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AARrB,kDAA4B;AAE5B,QAAQ,CAAC;IAGP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAFvB,uBAAuB;IACvB,IAAM,EAAE,GAAG,EAAE,CAAC;CAEf,CAAC,CAAA;AAIF,QAAQ,CAAC,OAAO,EAAE;IAChB,IAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAC1D,EAAE,CAAC,yBAAyB,EAAE;QAM5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QALjD,IAAM,GAAG,GAAG,eAAK,EAAE,CAAC;QACpB,MAAM,CAAC,eAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAEpC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC + ;;AAQA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AARrB,iCAA4B;AAE5B,QAAQ,CAAC;IAGP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAFvB,uBAAuB;IACvB,IAAM,EAAE,GAAG,EAAE,CAAC;CAEf,CAAC,CAAA;AAIF,QAAQ,CAAC,OAAO,EAAE;IAChB,IAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAC1D,EAAE,CAAC,yBAAyB,EAAE;QAM5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QALjD,IAAM,GAAG,GAAG,eAAK,EAAE,CAAC;QACpB,MAAM,CAAC,eAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAEpC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC names: [] sourceRoot: / sources: @@ -333,12 +317,9 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-j exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-typescript-2-7": io 1`] = ` ===[ FILE: hello.spec.ts ]====================================================== "use strict"; - var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; - } Object.defineProperty(exports, "__esModule", { value: true }); jest.mock('./hello'); - var hello_1 = __importDefault(require("./hello")); + var hello_1 = require("./hello"); afterAll(function () { jest.unmock('./hello'); // this should go after @@ -355,11 +336,11 @@ exports[`Hoisting jest.mock() & jest.unmock() should pass using template "with-t expect(require('foo')).toBe('bar'); }); }); - //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiaGVsbG8uc3BlYy50cyIsIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFSckIsa0RBQTRCO0FBRTVCLFFBQVEsQ0FBQztJQUdQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFGdkIsdUJBQXVCO0lBQ3ZCLElBQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztDQUVmLENBQUMsQ0FBQTtBQUlGLFFBQVEsQ0FBQyxPQUFPLEVBQUU7SUFDaEIsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1FBTTVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFMakQsSUFBTSxHQUFHLEdBQUcsZUFBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLGVBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxlQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUVwQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ijxjd2Q+LyIsInNvdXJjZXMiOlsiaGVsbG8uc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGVsbG8gZnJvbSAnLi9oZWxsbyc7XG5cbmFmdGVyQWxsKCgpID0+IHtcbiAgLy8gdGhpcyBzaG91bGQgZ28gYWZ0ZXJcbiAgY29uc3QgenogPSAyMDtcbiAgamVzdC51bm1vY2soJy4vaGVsbG8nKTtcbn0pXG5cbmplc3QubW9jaygnLi9oZWxsbycpO1xuXG5kZXNjcmliZSgnaGVsbG8nLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsID0gcmVxdWlyZS5yZXF1aXJlQWN0dWFsKCcuL2hlbGxvJykuZGVmYXVsdDtcbiAgaXQoJ3Nob3VsZCBoYXZlIGJlZW4gbW9ja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGhlbGxvKCk7XG4gICAgZXhwZWN0KGhlbGxvKS5ub3QudG9CZShvcmlnaW5hbCk7XG4gICAgZXhwZWN0KG1zZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChoZWxsbykudG9IYXZlUHJvcGVydHkoJ21vY2snKTtcbiAgICBleHBlY3QocmVxdWlyZSgnZm9vJykpLnRvQmUoJ2JhcicpO1xuICAgIGplc3QubW9jaygnZm9vJywgKCkgPT4gJ2JhcicsIHsgdmlydHVhbDogdHJ1ZSB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ== + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiaGVsbG8uc3BlYy50cyIsIm1hcHBpbmdzIjoiOztBQVFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFSckIsaUNBQTRCO0FBRTVCLFFBQVEsQ0FBQztJQUdQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFGdkIsdUJBQXVCO0lBQ3ZCLElBQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztDQUVmLENBQUMsQ0FBQTtBQUlGLFFBQVEsQ0FBQyxPQUFPLEVBQUU7SUFDaEIsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1FBTTVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFMakQsSUFBTSxHQUFHLEdBQUcsZUFBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLGVBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxlQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUVwQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ijxjd2Q+LyIsInNvdXJjZXMiOlsiaGVsbG8uc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGVsbG8gZnJvbSAnLi9oZWxsbyc7XG5cbmFmdGVyQWxsKCgpID0+IHtcbiAgLy8gdGhpcyBzaG91bGQgZ28gYWZ0ZXJcbiAgY29uc3QgenogPSAyMDtcbiAgamVzdC51bm1vY2soJy4vaGVsbG8nKTtcbn0pXG5cbmplc3QubW9jaygnLi9oZWxsbycpO1xuXG5kZXNjcmliZSgnaGVsbG8nLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsID0gcmVxdWlyZS5yZXF1aXJlQWN0dWFsKCcuL2hlbGxvJykuZGVmYXVsdDtcbiAgaXQoJ3Nob3VsZCBoYXZlIGJlZW4gbW9ja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGhlbGxvKCk7XG4gICAgZXhwZWN0KGhlbGxvKS5ub3QudG9CZShvcmlnaW5hbCk7XG4gICAgZXhwZWN0KG1zZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChoZWxsbykudG9IYXZlUHJvcGVydHkoJ21vY2snKTtcbiAgICBleHBlY3QocmVxdWlyZSgnZm9vJykpLnRvQmUoJ2JhcicpO1xuICAgIGplc3QubW9jaygnZm9vJywgKCkgPT4gJ2JhcicsIHsgdmlydHVhbDogdHJ1ZSB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ== ===[ INLINE SOURCE MAPS ]======================================================= file: hello.spec.ts mappings: >- - ;;;;;AAQA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AARrB,kDAA4B;AAE5B,QAAQ,CAAC;IAGP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAFvB,uBAAuB;IACvB,IAAM,EAAE,GAAG,EAAE,CAAC;CAEf,CAAC,CAAA;AAIF,QAAQ,CAAC,OAAO,EAAE;IAChB,IAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAC1D,EAAE,CAAC,yBAAyB,EAAE;QAM5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QALjD,IAAM,GAAG,GAAG,eAAK,EAAE,CAAC;QACpB,MAAM,CAAC,eAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAEpC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC + ;;AAQA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AARrB,iCAA4B;AAE5B,QAAQ,CAAC;IAGP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAFvB,uBAAuB;IACvB,IAAM,EAAE,GAAG,EAAE,CAAC;CAEf,CAAC,CAAA;AAIF,QAAQ,CAAC,OAAO,EAAE;IAChB,IAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAC1D,EAAE,CAAC,yBAAyB,EAAE;QAM5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QALjD,IAAM,GAAG,GAAG,eAAK,EAAE,CAAC;QACpB,MAAM,CAAC,eAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAEpC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC names: [] sourceRoot: / sources: diff --git a/src/config/config-set.spec.ts b/src/config/config-set.spec.ts index e08e16c73e..e5a7bc3988 100644 --- a/src/config/config-set.spec.ts +++ b/src/config/config-set.spec.ts @@ -4,7 +4,7 @@ import ts, { Diagnostic, ModuleKind, ScriptTarget } from 'typescript' import { version as currentVersion } from '../../package.json' import * as fakers from '../__helpers__/fakers' -import { mocked } from '../__helpers__/mocks' +import { logTargetMock, mocked } from '../__helpers__/mocks' import { TsJestGlobalOptions } from '../types' import * as _backports from '../util/backports' import { normalizeSlashes } from '../util/normalize-slashes' @@ -222,6 +222,35 @@ describe('tsJest', () => { }) // compiler }) // tsJest +describe('makeDiagnostic', () => { + const cs = createConfigSet() + it('should create diagnostic with defaults', () => { + expect(cs.makeDiagnostic(1234, 'foo is not bar')).toMatchInlineSnapshot(` +Object { + "category": 0, + "code": 1234, + "file": undefined, + "length": undefined, + "messageText": "foo is not bar", + "start": undefined, +} +`) + }) + it('should set category', () => { + expect(cs.makeDiagnostic(4321, 'foo might be bar', { category: ts.DiagnosticCategory.Error })) + .toMatchInlineSnapshot(` +Object { + "category": 1, + "code": 4321, + "file": undefined, + "length": undefined, + "messageText": "foo might be bar", + "start": undefined, +} +`) + }) +}) // makeDiagnostic + describe('typescript', () => { const get = (tsJest?: TsJestGlobalOptions, parentConfig?: TsJestGlobalOptions) => createConfigSet({ tsJestConfig: tsJest, parentConfig }).typescript @@ -258,6 +287,28 @@ describe('typescript', () => { skipLibCheck: true, }) }) + + it('should warn about possibly wrong module config and set synth. default imports', () => { + const target = logTargetMock() + target.clear() + const cs = createConfigSet({ + tsJestConfig: { + tsConfig: { module: 'ES6', esModuleInterop: false, allowSyntheticDefaultImports: false } as any, + diagnostics: { warnOnly: true, pretty: false }, + }, + resolve: null, + }) + expect(cs.typescript.options).toMatchObject({ + module: ModuleKind.CommonJS, + allowSyntheticDefaultImports: true, + esModuleInterop: false, + }) + expect(target.lines.warn.join()).toMatchInlineSnapshot(` +"[level:40] TypeScript diagnostics (customize using \`[jest-config].globals.ts-jest.diagnostics\` option): +warning TS151001: If you have issues related to imports, you should consider setting \`esModuleInterop\` to \`true\` in your TypeScript configuration file (usually \`tsconfig.json\`). See https://blogs.msdn.microsoft.com/typescript/2018/01/31/announcing-typescript-2-7/#easier-ecmascript-module-interoperability for more information. +" +`) + }) }) // typescript describe('resolvePath', () => { @@ -269,6 +320,22 @@ describe('resolvePath', () => { expect(doResolve('bar.js')).toBe(resolve('/root/bar.js')) expect(doResolve('/bar.js')).toBe(resolve('/root//bar.js')) }) + it('should resolve node paths', () => { + const cs = createConfigSet({ jestConfig: { rootDir: '/root', cwd: '/cwd' } as any, resolve: null }) + const doResolve = (path: string) => cs.resolvePath(path, { throwIfMissing: false, nodeResolve: true }) + expect(doResolve('json5')).toBe(resolve(__dirname, '../../node_modules/json5', require('json5/package.json').main)) + expect(doResolve('./bar.js')).toBe(resolve('/cwd/bar.js')) + expect(doResolve('bar.js')).toBe(resolve('/root/bar.js')) + expect(doResolve('/bar.js')).toBe(resolve('/root//bar.js')) + }) + it('should throw for invalid paths', () => { + const cs = createConfigSet({ jestConfig: { rootDir: __dirname, cwd: __dirname } as any, resolve: null }) + const doResolve = (path: string) => cs.resolvePath(path) + expect(() => doResolve('bar.js')).toThrow() + expect(() => doResolve('./bar.js')).toThrow() + expect(() => doResolve('bar.js')).toThrow() + expect(() => doResolve('/bar.js')).toThrow() + }) }) // resolvePath describe('readTsConfig', () => { @@ -364,7 +431,7 @@ describe('shouldReportDiagnostic', () => { }) // shouldReportDiagnostic describe('tsCompiler', () => { - it('should a compiler object', () => { + it('should be a compiler object', () => { const cs = createConfigSet({ tsJestConfig: { tsConfig: false } as any }) const compiler = cs.tsCompiler expect(compiler.cwd).toBe(cs.cwd) diff --git a/src/config/config-set.ts b/src/config/config-set.ts index c8774d8f23..5d1541e37f 100644 --- a/src/config/config-set.ts +++ b/src/config/config-set.ts @@ -13,7 +13,15 @@ import { existsSync, readFileSync } from 'fs' import json5 from 'json5' import { dirname, isAbsolute, join, resolve } from 'path' import semver from 'semver' -import { CustomTransformers, Diagnostic, FormatDiagnosticsHost, ParsedCommandLine } from 'typescript' +import { + CompilerOptions, + CustomTransformers, + Diagnostic, + DiagnosticCategory, + FormatDiagnosticsHost, + ParsedCommandLine, + SourceFile, +} from 'typescript' import { version as myVersion } from '..' import { createCompiler } from '../compiler' @@ -57,32 +65,11 @@ export const IGNORE_DIAGNOSTIC_CODES = [ 18003, // "No inputs were found in config file." ] -const DEFAULT_COMPILER_OPTIONS = { - inlineSourceMap: true, - inlineSources: true, -} -const FORCE_COMPILER_OPTIONS = { - // we handle sourcemaps this way and not another - sourceMap: true, - inlineSourceMap: false, - inlineSources: true, - // we don't want to create declaration files - declaration: false, - noEmit: false, - outDir: '$$ts-jest$$', - // commonjs + module interop should be compatible with every other setup - module: 'commonjs', - esModuleInterop: true, - // else istanbul related will be dropped - removeComments: false, - // to clear out else it's buggy - out: undefined, - outFile: undefined, - composite: undefined, - declarationDir: undefined, - declarationMap: undefined, - emitDeclarationOnly: undefined, - sourceRoot: undefined, +// WARNING: DO NOT CHANGE THE ORDER OF CODE NAMES! +// ONLY APPEND IF YOU NEED TO ADD SOME +export enum DiagnosticCodes { + TsJest = 151000, + ConfigModuleOption, } const normalizeRegex = (pattern: string | RegExp | undefined): string | undefined => { @@ -448,6 +435,32 @@ export class ConfigSet { return res } + @Memoize() + get overriddenCompilerOptions(): Partial { + return { + // we handle sourcemaps this way and not another + sourceMap: true, + inlineSourceMap: false, + inlineSources: true, + // we don't want to create declaration files + declaration: false, + noEmit: false, + outDir: '$$ts-jest$$', + // commonjs is required for jest + module: this.compilerModule.ModuleKind.CommonJS, + // else istanbul related will be dropped + removeComments: false, + // to clear out else it's buggy + out: undefined, + outFile: undefined, + composite: undefined, + declarationDir: undefined, + declarationMap: undefined, + emitDeclarationOnly: undefined, + sourceRoot: undefined, + } + } + get rootDir(): string { return this.jest.rootDir || this.cwd } @@ -460,6 +473,22 @@ export class ConfigSet { return !!process.env.TS_JEST_DOCTOR } + makeDiagnostic( + code: number, + messageText: string, + options: { category?: DiagnosticCategory; file?: SourceFile; start?: number; length?: number } = {}, + ): Diagnostic { + const { category = this.compilerModule.DiagnosticCategory.Warning, file, start, length } = options + return { + code, + messageText, + category, + file, + start, + length, + } + } + readTsConfig( compilerOptions?: object, resolvedConfigFile?: string | null, @@ -504,23 +533,41 @@ export class ConfigSet { // Override default configuration options `ts-jest` requires. config.compilerOptions = { - ...DEFAULT_COMPILER_OPTIONS, ...config.compilerOptions, ...compilerOptions, - ...FORCE_COMPILER_OPTIONS, } + // parse json, merge config extending others, ... const result = ts.parseJsonConfigFileContent(config, ts.sys, basePath, undefined, configFileName) + const { overriddenCompilerOptions: forcedOptions } = this + const finalOptions = result.options + // Target ES5 output by default (instead of ES3). - if (result.options.target === undefined) { - result.options.target = ts.ScriptTarget.ES5 + if (finalOptions.target === undefined) { + finalOptions.target = ts.ScriptTarget.ES5 + } + + // check the module interoperability + const target = finalOptions.target! + // compute the default if not set + const defaultModule = [ts.ScriptTarget.ES3, ts.ScriptTarget.ES5].includes(target) + ? ts.ModuleKind.CommonJS + : ts.ModuleKind.ESNext + const moduleValue = finalOptions.module == null ? defaultModule : finalOptions.module + if (moduleValue !== forcedOptions.module && !finalOptions.esModuleInterop) { + result.errors.push(this.makeDiagnostic(DiagnosticCodes.ConfigModuleOption, Errors.ConfigNoModuleInterop)) + // at least enable synthetic default imports + finalOptions.allowSyntheticDefaultImports = true } - // ensure undefined in FORCE_COMPILER_OPTIONS are removed - for (const key in FORCE_COMPILER_OPTIONS) { - if ((FORCE_COMPILER_OPTIONS as any)[key] === undefined) { - delete result.options[key] + // ensure undefined are removed and other values are overridden + for (const key of Object.keys(forcedOptions)) { + const val = forcedOptions[key] + if (val === undefined) { + delete finalOptions[key] + } else { + finalOptions[key] = val } } diff --git a/src/util/messages.ts b/src/util/messages.ts index b59d62eb09..53e183e9c4 100644 --- a/src/util/messages.ts +++ b/src/util/messages.ts @@ -15,6 +15,7 @@ export enum Errors { GotJsFileButAllowJsFalse = 'Got a `.js` file to compile while `allowJs` option is not set to `true` (file: {{path}}). To fix this:\n - if you want TypeScript to process JS files, set `allowJs` to `true` in your TypeScript config (usually tsconfig.json)\n - if you do not want TypeScript to process your `.js` files, in your Jest config change the `transform` key which value is `ts-jest` so that it does not match `.js` files anymore', GotUnknownFileTypeWithoutBabel = 'Got a unknown file type to compile (file: {{path}}). To fix this, in your Jest config change the `transform` key which value is `ts-jest` so that it does not match this kind of files anymore.', GotUnknownFileTypeWithBabel = 'Got a unknown file type to compile (file: {{path}}). To fix this, in your Jest config change the `transform` key which value is `ts-jest` so that it does not match this kind of files anymore. If you still want Babel to process it, add another entry to the `transform` option with value `babel-jest` which key matches this type of files.', + ConfigNoModuleInterop = 'If you have issues related to imports, you should consider setting `esModuleInterop` to `true` in your TypeScript configuration file (usually `tsconfig.json`). See https://blogs.msdn.microsoft.com/typescript/2018/01/31/announcing-typescript-2-7/#easier-ecmascript-module-interoperability for more information.', } export enum Helps {