Skip to content

Commit

Permalink
fix: watch-run (TypeStrong#1083)
Browse files Browse the repository at this point in the history
* fix: watch-run

* Update package.json

Bump minimum node version to 10

Co-authored-by: John Reilly <johnny_reilly@hotmail.com>
  • Loading branch information
2 people authored and berickson1 committed May 22, 2020
1 parent a31b712 commit a81f242
Show file tree
Hide file tree
Showing 35 changed files with 222 additions and 124 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,8 @@
# Changelog

## v7.0.1
* [fix: watch-run](https://github.com/TypeStrong/ts-loader/pull/1083) - thanks @zn4rk

## v7.0.0
* [Project reference support enhancements](https://github.com/TypeStrong/ts-loader/pull/1076) - thanks @sheetalkamat!
* Following the end of life of Node 8, `ts-loader` no longer supports Node 8 **BREAKING CHANGE**
Expand Down
4 changes: 2 additions & 2 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "ts-loader",
"version": "7.0.0",
"version": "7.0.1",
"description": "TypeScript loader for webpack",
"main": "index.js",
"types": "dist",
Expand Down Expand Up @@ -40,7 +40,7 @@
"ts"
],
"engines": {
"node": ">=8.6"
"node": ">=10.0.0"
},
"author": "John Reilly <johnny_reilly@hotmail.com> (https://blog.johnnyreilly.com)",
"contributors": [
Expand Down
10 changes: 5 additions & 5 deletions src/watch-run.ts
Expand Up @@ -14,15 +14,15 @@ export function makeWatchRun(instance: TSInstance) {
const startTime = 0;

return (compiler: webpack.Compiler, callback: () => void) => {
const times = compiler.fileTimestamps;
if (instance.loaderOptions.transpileOnly) {
instance.reportTranspileErrors = true;
} else {
const times = compiler.fileTimestamps;

for (const [filePath, date] of times) {
if (
date > (lastTimes.get(filePath) || startTime) &&
filePath.match(constants.tsTsxJsJsxRegex) !== null
) {
const lastTime = lastTimes.get(filePath) || startTime;

if (date <= lastTime) {
continue;
}

Expand Down
101 changes: 101 additions & 0 deletions test/comparison-tests/importsWatch/expectedOutput-3.8/patch1/bundle.js
@@ -0,0 +1,101 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./app.ts");
/******/ })
/************************************************************************/
/******/ ({

/***/ "./app.ts":
/*!****************!*\
!*** ./app.ts ***!
\****************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nexports.__esModule = true;\nvar foo;\nfoo.bar = 'foobar';\n\n\n//# sourceURL=webpack:///./app.ts?");

/***/ })

/******/ });
@@ -0,0 +1,9 @@
Asset Size Chunks Chunk Names
bundle.js 3.83 KiB main [emitted] main
Entrypoint main = bundle.js
[./app.ts] 70 bytes {main} [built] [1 error]

ERROR in app.ts
./app.ts
[tsl] ERROR in app.ts(4,1)
 TS2322: Type '"foobar"' is not assignable to type 'boolean'.
Expand Up @@ -94,7 +94,7 @@
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */ \"./lib/index.ts\");\nvar helper_1 = __webpack_require__(/*! ./lib/helper */ \"./lib/helper.ts\");\nconsole.log(lib_1.lib.one, lib_1.lib.two, lib_1.lib.three, helper_1.helper.four); // consume new number\n\n\n//# sourceURL=webpack:///./app.ts?");
eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */ \"./lib/index.ts\");\nconsole.log(lib_1.lib.one, lib_1.lib.two, lib_1.lib.three);\n\n\n//# sourceURL=webpack:///./app.ts?");

/***/ }),

Expand All @@ -106,7 +106,7 @@ eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n two: 2,\r\n three: 3,\r\n four: 4\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");
eval("\nexports.__esModule = true;\nexports.helper = {\n one: 1,\n two: 2,\n three: 3,\n four: 4\n};\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");

/***/ }),

Expand All @@ -118,7 +118,7 @@ eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\r\nexports.lib = {\r\n one: helper_1.helper.one,\r\n two: helper_1.helper.two,\r\n three: helper_1.helper.three,\r\n four: 4\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/index.ts?");
eval("\nexports.__esModule = true;\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\nexports.lib = {\n one: helper_1.helper.one,\n two: helper_1.helper.two,\n three: helper_1.helper.three,\n four: 4\n};\n\n\n//# sourceURL=webpack:///./lib/index.ts?");

/***/ })

Expand Down
@@ -1,8 +1,7 @@
Asset Size Chunks Chunk Names
bundle.js 4.95 KiB main [emitted] main
../app.d.ts 11 bytes [emitted]
../tsconfig.tsbuildinfo 52.2 KiB [emitted]
Asset Size Chunks Chunk Names
bundle.js 4.8 KiB main [emitted] main
../app.d.ts 11 bytes [emitted]
Entrypoint main = bundle.js
[./app.ts] 215 bytes {main} [built]
[./lib/helper.ts] 121 bytes {main}
[./lib/index.ts] 211 bytes {main}
[./app.ts] 131 bytes {main} [built]
[./lib/helper.ts] 113 bytes {main}
[./lib/index.ts] 202 bytes {main}
Expand Up @@ -94,7 +94,7 @@
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */ \"./lib/index.ts\");\nvar helper_1 = __webpack_require__(/*! ./lib/helper */ \"./lib/helper.ts\");\nconsole.log(lib_1.lib.one, lib_1.lib.two, lib_1.lib.three, helper_1.helper.four); // consume new number\n\n\n//# sourceURL=webpack:///./app.ts?");
eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */ \"./lib/index.ts\");\nconsole.log(lib_1.lib.one, lib_1.lib.two, lib_1.lib.three);\n\n\n//# sourceURL=webpack:///./app.ts?");

/***/ }),

Expand All @@ -106,7 +106,7 @@ eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n two: 2,\r\n three: 3,\r\n four: 4\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");
eval("\nexports.__esModule = true;\nexports.helper = {\n one: 1,\n two: 2,\n three: 3,\n four: 4\n};\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");

/***/ }),

Expand All @@ -118,7 +118,7 @@ eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\r\nexports.lib = {\r\n one: helper_1.helper.one,\r\n two: helper_1.helper.two,\r\n three: helper_1.helper.three,\r\n four: 4\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/index.ts?");
eval("\nexports.__esModule = true;\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\nexports.lib = {\n one: helper_1.helper.one,\n two: helper_1.helper.two,\n three: helper_1.helper.three,\n four: 4\n};\n\n\n//# sourceURL=webpack:///./lib/index.ts?");

/***/ })

Expand Down
Expand Up @@ -106,7 +106,7 @@ eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n two: 2,\r\n three: 3\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");
eval("\nexports.__esModule = true;\nexports.helper = {\n one: 1,\n two: 2,\n three: 3\n};\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");

/***/ }),

Expand All @@ -118,7 +118,7 @@ eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\r\nexports.lib = {\r\n one: helper_1.helper.one,\r\n two: helper_1.helper.two,\r\n three: helper_1.helper.three\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/index.ts?");
eval("\nexports.__esModule = true;\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\nexports.lib = {\n one: helper_1.helper.one,\n two: helper_1.helper.two,\n three: helper_1.helper.three\n};\n\n\n//# sourceURL=webpack:///./lib/index.ts?");

/***/ })

Expand Down
@@ -1,15 +1,15 @@
Asset Size Chunks Chunk Names
bundle.js 4.8 KiB main [emitted] main
bundle.js 4.77 KiB main [emitted] main
../app.d.ts 11 bytes [emitted]
../tsconfig.tsbuildinfo 51.8 KiB [emitted]
../lib/helper.js.map 189 bytes [emitted]
../lib/helper.js 141 bytes [emitted]
../lib/helper.d.ts 92 bytes [emitted]
../lib/helper.js 134 bytes [emitted]
../lib/helper.d.ts 87 bytes [emitted]
../lib/index.js.map 231 bytes [emitted]
../lib/index.js 230 bytes [emitted]
../lib/index.d.ts 89 bytes [emitted]
../lib/index.js 222 bytes [emitted]
../lib/index.d.ts 84 bytes [emitted]
../lib/tsconfig.tsbuildinfo 67.8 KiB [emitted]
Entrypoint main = bundle.js
[./app.ts] 131 bytes {main} [built]
[./lib/helper.ts] 107 bytes {main} [built]
[./lib/index.ts] 197 bytes {main} [built]
[./lib/helper.ts] 100 bytes {main} [built]
[./lib/index.ts] 189 bytes {main} [built]
Expand Up @@ -106,7 +106,7 @@ eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n two: 2,\r\n three: 3,\r\n four: 4\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");
eval("\nexports.__esModule = true;\nexports.helper = {\n one: 1,\n two: 2,\n three: 3,\n four: 4\n};\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");

/***/ }),

Expand All @@ -118,7 +118,7 @@ eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\r\nexports.lib = {\r\n one: helper_1.helper.one,\r\n two: helper_1.helper.two,\r\n three: helper_1.helper.three\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/index.ts?");
eval("\nexports.__esModule = true;\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\nexports.lib = {\n one: helper_1.helper.one,\n two: helper_1.helper.two,\n three: helper_1.helper.three\n};\n\n\n//# sourceURL=webpack:///./lib/index.ts?");

/***/ })

Expand Down
@@ -1,14 +1,14 @@
Asset Size Chunks Chunk Names
bundle.js 4.82 KiB main [emitted] main
bundle.js 4.79 KiB main [emitted] main
../app.d.ts 11 bytes [emitted]
../lib/helper.js.map 209 bytes [emitted]
../lib/helper.js 155 bytes [emitted]
../lib/helper.d.ts 111 bytes [emitted]
../lib/helper.js 147 bytes [emitted]
../lib/helper.d.ts 105 bytes [emitted]
../lib/index.js.map 231 bytes [emitted]
../lib/index.js 230 bytes [emitted]
../lib/index.d.ts 89 bytes [emitted]
../lib/index.js 222 bytes [emitted]
../lib/index.d.ts 84 bytes [emitted]
../lib/tsconfig.tsbuildinfo 67.8 KiB [emitted]
Entrypoint main = bundle.js
[./app.ts] 131 bytes {main} [built]
[./lib/helper.ts] 121 bytes {main} [built]
[./lib/index.ts] 197 bytes {main} [built]
[./lib/helper.ts] 113 bytes {main} [built]
[./lib/index.ts] 189 bytes {main} [built]
Expand Up @@ -94,7 +94,7 @@
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */ \"./lib/index.ts\");\nvar helper_1 = __webpack_require__(/*! ./lib/helper */ \"./lib/helper.ts\");\nconsole.log(lib_1.lib.one, lib_1.lib.two, lib_1.lib.three, helper_1.helper.four); // consume new number\n\n\n//# sourceURL=webpack:///./app.ts?");
eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */ \"./lib/index.ts\");\nconsole.log(lib_1.lib.one, lib_1.lib.two, lib_1.lib.three);\n\n\n//# sourceURL=webpack:///./app.ts?");

/***/ }),

Expand All @@ -106,7 +106,7 @@ eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n two: 2,\r\n three: 3,\r\n four: 4\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");
eval("\nexports.__esModule = true;\nexports.helper = {\n one: 1,\n two: 2,\n three: 3,\n four: 4\n};\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");

/***/ }),

Expand All @@ -118,7 +118,7 @@ eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\r\nexports.lib = {\r\n one: helper_1.helper.one,\r\n two: helper_1.helper.two,\r\n three: helper_1.helper.three\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/index.ts?");
eval("\nexports.__esModule = true;\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\nexports.lib = {\n one: helper_1.helper.one,\n two: helper_1.helper.two,\n three: helper_1.helper.three\n};\n\n\n//# sourceURL=webpack:///./lib/index.ts?");

/***/ })

Expand Down
@@ -1,8 +1,7 @@
Asset Size Chunks Chunk Names
bundle.js 4.94 KiB main [emitted] main
../app.d.ts 11 bytes [emitted]
../tsconfig.tsbuildinfo 52.2 KiB [emitted]
Asset Size Chunks Chunk Names
bundle.js 4.79 KiB main [emitted] main
../app.d.ts 11 bytes [emitted]
Entrypoint main = bundle.js
[./app.ts] 215 bytes {main} [built]
[./lib/helper.ts] 121 bytes {main}
[./lib/index.ts] 197 bytes {main}
[./app.ts] 131 bytes {main} [built]
[./lib/helper.ts] 113 bytes {main}
[./lib/index.ts] 189 bytes {main}
Expand Up @@ -94,7 +94,7 @@
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */ \"./lib/index.ts\");\nvar helper_1 = __webpack_require__(/*! ./lib/helper */ \"./lib/helper.ts\");\nconsole.log(lib_1.lib.one, lib_1.lib.two, lib_1.lib.three, helper_1.helper.four); // consume new number\n\n\n//# sourceURL=webpack:///./app.ts?");
eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */ \"./lib/index.ts\");\nconsole.log(lib_1.lib.one, lib_1.lib.two, lib_1.lib.three);\n\n\n//# sourceURL=webpack:///./app.ts?");

/***/ }),

Expand All @@ -106,7 +106,7 @@ eval("\nexports.__esModule = true;\nvar lib_1 = __webpack_require__(/*! ./lib */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n two: 2,\r\n three: 3,\r\n four: 4\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");
eval("\nexports.__esModule = true;\nexports.helper = {\n one: 1,\n two: 2,\n three: 3,\n four: 4\n};\n\n\n//# sourceURL=webpack:///./lib/helper.ts?");

/***/ }),

Expand All @@ -118,7 +118,7 @@ eval("\r\nexports.__esModule = true;\r\nexports.helper = {\r\n one: 1,\r\n
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nexports.__esModule = true;\r\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\r\nexports.lib = {\r\n one: helper_1.helper.one,\r\n two: helper_1.helper.two,\r\n three: helper_1.helper.three\r\n};\r\n\n\n//# sourceURL=webpack:///./lib/index.ts?");
eval("\nexports.__esModule = true;\nvar helper_1 = __webpack_require__(/*! ./helper */ \"./lib/helper.ts\");\nexports.lib = {\n one: helper_1.helper.one,\n two: helper_1.helper.two,\n three: helper_1.helper.three\n};\n\n\n//# sourceURL=webpack:///./lib/index.ts?");

/***/ })

Expand Down

0 comments on commit a81f242

Please sign in to comment.