From 4a84a7df780cef1792b0b0682a5e4a347e256dc5 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 9 Jan 2019 20:45:54 +0200 Subject: [PATCH 1/2] disable ts caching for typechecking --- scripts/build.js | 3 ++- src/index.js | 3 +++ src/loaders/uncacheable.js | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 src/loaders/uncacheable.js diff --git a/scripts/build.js b/scripts/build.js index 0b4c92ce..d05586f6 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -1,5 +1,5 @@ const ncc = require("../src/index.js"); -const { statSync, writeFileSync } = require("fs"); +const { statSync, writeFileSync, readFileSync } = require("fs"); const { promisify } = require("util"); const { relative } = require("path"); const copy = promisify(require("copy")); @@ -73,6 +73,7 @@ async function main() { writeFileSync(__dirname + "/../dist/ncc/loaders/relocate-loader.js", relocateLoader); writeFileSync(__dirname + "/../dist/ncc/loaders/shebang-loader.js", shebangLoader); writeFileSync(__dirname + "/../dist/ncc/loaders/ts-loader.js", tsLoader); + writeFileSync(__dirname + "/../dist/ncc/loaders/uncacheable.js", readFileSync(__dirname + "/../src/loaders/uncacheable.js")); // copy typescript types await copy( diff --git a/src/index.js b/src/index.js index a31e76b1..5e0d90f1 100644 --- a/src/index.js +++ b/src/index.js @@ -135,6 +135,9 @@ module.exports = ( { test: /\.tsx?$/, use: [{ + loader: __dirname + "/loaders/uncacheable.js" + }, + { loader: __dirname + "/loaders/ts-loader.js", options: { compilerOptions: { diff --git a/src/loaders/uncacheable.js b/src/loaders/uncacheable.js new file mode 100644 index 00000000..e82a3457 --- /dev/null +++ b/src/loaders/uncacheable.js @@ -0,0 +1,4 @@ +module.exports = function (input) { + this.cacheable(false); + return input; +}; \ No newline at end of file From 7791c074883b6394ed2e4ada73187f0823efbf42 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 9 Jan 2019 21:51:23 +0200 Subject: [PATCH 2/2] update test cases --- test/unit/ts-decl/output-coverage.js | 4 ++-- test/unit/ts-decl/output.js | 4 ++-- .../output-coverage.js | 16 ++++++++-------- .../output.js | 8 ++++---- test/unit/tsconfig-paths/output-coverage.js | 16 ++++++++-------- test/unit/tsconfig-paths/output.js | 8 ++++---- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/test/unit/ts-decl/output-coverage.js b/test/unit/ts-decl/output-coverage.js index e3cecdd5..c56d8235 100644 --- a/test/unit/ts-decl/output-coverage.js +++ b/test/unit/ts-decl/output-coverage.js @@ -39,7 +39,7 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 679: +/***/ 138: /***/ (function(__unusedmodule, exports) { "use strict"; @@ -58,7 +58,7 @@ exports.test = test; "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(679); +/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(138); /* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_test_ts__WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _test_ts__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _test_ts__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); diff --git a/test/unit/ts-decl/output.js b/test/unit/ts-decl/output.js index b20729fc..b811b56f 100644 --- a/test/unit/ts-decl/output.js +++ b/test/unit/ts-decl/output.js @@ -44,7 +44,7 @@ module.exports = "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(781); +/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(381); /* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_test_ts__WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _test_ts__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _test_ts__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); @@ -52,7 +52,7 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ 781: +/***/ 381: /***/ (function(__unusedmodule, exports) { "use strict"; diff --git a/test/unit/tsconfig-paths-conflicting-external/output-coverage.js b/test/unit/tsconfig-paths-conflicting-external/output-coverage.js index 4bb49d38..72ccedf5 100644 --- a/test/unit/tsconfig-paths-conflicting-external/output-coverage.js +++ b/test/unit/tsconfig-paths-conflicting-external/output-coverage.js @@ -32,30 +32,30 @@ module.exports = /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(278); +/******/ return __webpack_require__(996); /******/ }) /************************************************************************/ /******/ ({ -/***/ 278: -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ 271: +/***/ (function(__unusedmodule, exports) { "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(725); -console.log(_module_1["default"]); +exports["default"] = {}; /***/ }), -/***/ 725: -/***/ (function(__unusedmodule, exports) { +/***/ 996: +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; exports.__esModule = true; -exports["default"] = {}; +var _module_1 = __webpack_require__(271); +console.log(_module_1["default"]); /***/ }) diff --git a/test/unit/tsconfig-paths-conflicting-external/output.js b/test/unit/tsconfig-paths-conflicting-external/output.js index a5db163c..15ea140f 100644 --- a/test/unit/tsconfig-paths-conflicting-external/output.js +++ b/test/unit/tsconfig-paths-conflicting-external/output.js @@ -32,24 +32,24 @@ module.exports = /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(398); +/******/ return __webpack_require__(468); /******/ }) /************************************************************************/ /******/ ({ -/***/ 398: +/***/ 468: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(649); +var _module_1 = __webpack_require__(742); console.log(_module_1["default"]); /***/ }), -/***/ 649: +/***/ 742: /***/ (function(__unusedmodule, exports) { "use strict"; diff --git a/test/unit/tsconfig-paths/output-coverage.js b/test/unit/tsconfig-paths/output-coverage.js index b06e9fa7..007420d2 100644 --- a/test/unit/tsconfig-paths/output-coverage.js +++ b/test/unit/tsconfig-paths/output-coverage.js @@ -32,30 +32,30 @@ module.exports = /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(657); +/******/ return __webpack_require__(704); /******/ }) /************************************************************************/ /******/ ({ -/***/ 657: -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ 455: +/***/ (function(__unusedmodule, exports) { "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(898); -console.log(_module_1["default"]); +exports["default"] = {}; /***/ }), -/***/ 898: -/***/ (function(__unusedmodule, exports) { +/***/ 704: +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; exports.__esModule = true; -exports["default"] = {}; +var _module_1 = __webpack_require__(455); +console.log(_module_1["default"]); /***/ }) diff --git a/test/unit/tsconfig-paths/output.js b/test/unit/tsconfig-paths/output.js index e2cfe0e5..0edfbfb3 100644 --- a/test/unit/tsconfig-paths/output.js +++ b/test/unit/tsconfig-paths/output.js @@ -32,24 +32,24 @@ module.exports = /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(308); +/******/ return __webpack_require__(650); /******/ }) /************************************************************************/ /******/ ({ -/***/ 308: +/***/ 650: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(341); +var _module_1 = __webpack_require__(851); console.log(_module_1["default"]); /***/ }), -/***/ 341: +/***/ 851: /***/ (function(__unusedmodule, exports) { "use strict";