{"_id":"fork-ts-checker-webpack-plugin","_rev":"240-c340a4f108ce57339029f5f00e8d4fcf","name":"fork-ts-checker-webpack-plugin","description":"Runs typescript type checker and linter on separate process.","dist-tags":{"latest":"9.0.2","next":"1.0.0-alpha.10","beta":"5.0.0-beta.7","alpha":"7.0.0-alpha.16","release-6.5.x":"6.5.3"},"versions":{"0.1.0":{"name":"fork-ts-checker-webpack-plugin","version":"0.1.0","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test":"NODE_ENV=test node_modules/.bin/mocha -R spec","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch","test:cover":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.2.0","mock-fs":"^4.2.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.1.0","typescript":"^2.1.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.6.1","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","tslint":"^5.0.0"},"optionalDependencies":{"tslint":"^5.0.0"},"gitHead":"7601f507302e080e3a5a7c85f4ca780084d907b2","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.1.0","_shasum":"bb49c4a8360e87c8ef0b56455a0a22e038ade0cc","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"bb49c4a8360e87c8ef0b56455a0a22e038ade0cc","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.1.0.tgz","integrity":"sha512-Wy915VZzoKXQrTTAo1Fu0o15jhD3FSeDuhypvSNKqOC9himJUJqQ4pzGrLDMlgiV5vOfmoVa6JV8ylRtM44TEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHaqooFFeD6dP+gF/Qno1cUpCbWhAN4qWLzXSARYc6v3AiEAtLme1Jtm/ehtMtwbmcfTPhL5cGfVm00FcCuoL+XzDTw="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/fork-ts-checker-webpack-plugin-0.1.0.tgz_1494000613160_0.7105445817578584"},"directories":{}},"0.1.1":{"name":"fork-ts-checker-webpack-plugin","version":"0.1.1","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test":"NODE_ENV=test node_modules/.bin/mocha -R spec","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch","test:cover":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.2.0","mock-fs":"^4.2.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.1.0","typescript":"^2.1.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.6.1","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","tslint":"^5.0.0"},"optionalDependencies":{"tslint":"^5.0.0"},"gitHead":"5f4568b3bb5a0860cab75f7f0bd93c80f28a3d1b","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.1.1","_shasum":"5440a896a593eb59e9ce361577d44509302658b2","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"5440a896a593eb59e9ce361577d44509302658b2","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.1.1.tgz","integrity":"sha512-rnHTUnIWY08T88+tjQyXDI0azVjE23aHAf2a830tyYH7J02uZNYlpFjJI3yohjZIhg2jgDGL5kVMnkvFzYCgLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQ1TnCWZDmIvlvNPzSduR61mfEZl3p01DBwWMZc7OTtgIhAL/pHPCUKL39KEZDjHYF0XfJaO4Pkd2PmYTtrzd9U14o"}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/fork-ts-checker-webpack-plugin-0.1.1.tgz_1494108757464_0.24642268265597522"},"directories":{}},"0.1.2":{"name":"fork-ts-checker-webpack-plugin","version":"0.1.2","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test":"NODE_ENV=test node_modules/.bin/mocha -R spec","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch","test:cover":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.2.0","mock-fs":"^4.2.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.1.0","typescript":"^2.1.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.6.1","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","tslint":"^5.0.0"},"optionalDependencies":{"tslint":"^5.0.0"},"gitHead":"40146794492c9de705cfe0237846b14daac3ecbb","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.1.2","_shasum":"3ec1bc078848235dce69473610e6984d2b338d90","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"3ec1bc078848235dce69473610e6984d2b338d90","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.1.2.tgz","integrity":"sha512-TF0zvr4DPHpzuMUnoWncF+2ysZx2UBSJEAdhBlY5h1horjuFGdOYfKI4sTNaU0oiMVCQfWh6NkUkx18oXG5lzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBL8zgTENoJi0TkySZGPePlcMdKZpPcwnYt8Y0d8KpvDAiB5DVtkyDj3l4pty7KCK2L3As0MaP+Ih88zFfrVhI6Sbw=="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/fork-ts-checker-webpack-plugin-0.1.2.tgz_1494427543827_0.8349696153309196"},"directories":{}},"0.1.3":{"name":"fork-ts-checker-webpack-plugin","version":"0.1.3","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test":"NODE_ENV=test node_modules/.bin/mocha -R spec","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch","test:cover":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.2.0","mock-fs":"^4.2.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.1.0","typescript":"^2.1.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.6.1","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","tslint":"^5.0.0"},"optionalDependencies":{"tslint":"^5.0.0"},"gitHead":"7c64f039055d540a3877bc9f3bb20a6966275204","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.1.3","_shasum":"8d9ca155f6dfce9399d943d467db64fe47e6a8b6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"8d9ca155f6dfce9399d943d467db64fe47e6a8b6","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.1.3.tgz","integrity":"sha512-TydsIghCxyRr6Im5uzTiCazQc2kSs4OBpjMuMCSF0OdF8bD1LgQo4uPEOwS05BbMaUm1GueVqGsUS741BzMUfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCU4bMty4oVRNMg2ZBxNH7/mqLQ2idH+i/VuFxqwLmNQIgQ4/ATygafBq3YV84M7snb9IAksjKu+0Tz17hYg0GoHc="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/fork-ts-checker-webpack-plugin-0.1.3.tgz_1494575983627_0.9832211735192686"},"directories":{}},"0.1.4":{"name":"fork-ts-checker-webpack-plugin","version":"0.1.4","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test":"NODE_ENV=test node_modules/.bin/mocha -R spec","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch","test:cover":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.2.0","typescript":"^2.1.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"f49e5bd36cb0d3d446c742016add9b87479d3164","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.1.4","_shasum":"d0846f0c0524728333ad0eda3c118dc3158401ce","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"d0846f0c0524728333ad0eda3c118dc3158401ce","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.1.4.tgz","integrity":"sha512-LiRWVkGnXCJEu74rC+y+CE53m28t4nmXRwUOCmjwldwcL0r4MX4iz0i6no2VPE60rmrGFYhkuHTcqNKqhHB6Rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/eo+kFpEUHqyNAPnBEi77OCkp9zaeQXtpvOCkCxGghAiEAtEuYg8wYJie0c/+I/E/vo3AMJDzQRd4V0BtrSU2HXbM="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.1.4.tgz_1495400870435_0.7251951817888767"},"directories":{}},"0.1.5":{"name":"fork-ts-checker-webpack-plugin","version":"0.1.5","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test":"NODE_ENV=test node_modules/.bin/mocha -R spec","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch","test:cover":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","typescript":"^2.1.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"4311b8d413e4db63dba1385aab285df1b32d29b9","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.1.5","_shasum":"0997b9f6c0c371f6fac87d34bf2c26f21c9c6c7d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"0997b9f6c0c371f6fac87d34bf2c26f21c9c6c7d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.1.5.tgz","integrity":"sha512-202NTbf2+Uu+nZ8CMbUoUJ75tNCgUEM0WlB+E2Frud6Q+GuwLV2nFmUdLIqTKGNnw1YNlBJhzqkW+FDXBMO2/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBpj1lL0QG5cNQbTHBq3l+tZeJYcMVSoXf1sZgL5sKDRAiEA/nyFRCR+EPfuC9AuIuB+Czz9YQNvoZvxYvhkRQGtnbM="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.1.5.tgz_1495568570664_0.4336798144504428"},"directories":{}},"0.2.0":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.0","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test:unit":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/unit","test:integration":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec ./test/unit ./test/integration","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^2.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"f4bdc3d77132bb2322c8322e02cd0de36ac5b04a","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.0","_shasum":"710455b1da31b5be731d3c18c754225c2a4ef483","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"710455b1da31b5be731d3c18c754225c2a4ef483","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.0.tgz","integrity":"sha512-yDYbHblolgGd4HVWYYiyZNedmppcv/S++VcVNNH1x+j9Y1SEF6pCfBzv3kFFocdCuKk+dSkOd0WDLzJOt78laQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmC84Kl1Sc2xxLC274PH3zg/K3UzoNtxh5Fq2w2LvXUAIhANyBG6mOjxbrVmiZNQSRqwQKg7lhHAWtHZ8ywlnaf1Q4"}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.0.tgz_1496438516232_0.6261982056312263"},"directories":{}},"0.2.1":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.1","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test:unit":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/unit","test:integration":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec ./test/unit ./test/integration","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^2.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"42aa0d2b740fb3ad4f5a51a95e391921dada64cb","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.1","_shasum":"da88d37abb7e5216942077446d4ba37db616e169","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"da88d37abb7e5216942077446d4ba37db616e169","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.1.tgz","integrity":"sha512-E/lzbG6X3ISKiL7bwueDVSTpQZi7OD62rM11tpQxdJ5FPUWuZKG6AEr54ct1SVmq0wg/5xAP+ihA29IVnaJ34A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrVa5mGpz2zLMXSFvL2iXFsh24LYKptrmkXdh5nm9rpAIgfAXjWOzu+rb4B7BiR6p7xqPu9J3dRBldui0Gdm1IrXw="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.1.tgz_1496572817672_0.46350885019637644"},"directories":{}},"0.2.2":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.2","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test:unit":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/unit","test:integration":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec ./test/unit ./test/integration","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^2.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"c273f12891ad92d8d8b421b89e4bcab2bfe3d803","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.2","_shasum":"783753502bce4c7cee65de996208cb3100e4c993","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"783753502bce4c7cee65de996208cb3100e4c993","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.2.tgz","integrity":"sha512-H4kFaIGrZ8MF4W1PzBLtoEztP111SiYtHdcu0COx9xvEn0ui+o58Z4RQ9H88eqh63r755++9/DetIOAHHUYDgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFF1kRsQSWHAr6aAHUPq1kl93Jhsj9ajYtjWQLlA1ZUsAiAbq8mRq4KFijredyqaQgGp6X5aFIJpEsVlLy8GuDENJg=="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.2.tgz_1496866646342_0.6889720596373081"},"directories":{}},"0.2.3":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.3","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","scripts":{"test:unit":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/unit","test:integration":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec ./test/unit ./test/integration","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0 || ^3.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"0b9fee926630bd1f661bc701b51bc0194dba8811","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.3","_shasum":"74493d9aa0b7c8d5a206f973e5c09eeec7e72f8e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"74493d9aa0b7c8d5a206f973e5c09eeec7e72f8e","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.3.tgz","integrity":"sha512-nX3axjTAQCODLfb9MwStBOq12xjHtvnXJj7UdZ0j0Y5wjGAVZLHjNASaHkNQyGh+nxjNhCZU6zCs+5vJKjaS+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBBxpNxTZpr3NN4nhbBX5vo0JdM6A/siQoEYgERKmtFoAiBFT+D0D9b3AiKU/RmwMbjj3Zlc/zL7q34ZQKykVEAOrQ=="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.3.tgz_1497952602006_0.9492208622395992"},"directories":{}},"0.2.4":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.4","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"test:unit":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/unit","test:integration":"NODE_ENV=test node_modules/.bin/mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"NODE_ENV=test node_modules/.bin/mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && node_modules/.bin/istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec ./test/unit ./test/integration","lint":"node node_modules/.bin/eslint ./lib ./test","lint:fix":"node node_modules/.bin/eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0 || ^3.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"1d6320fd420747ec9e2bdcd1ac004e13b21c5f51","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.4","_shasum":"d3486506284c259f5c25a356c29090329732dad1","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"d3486506284c259f5c25a356c29090329732dad1","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.4.tgz","integrity":"sha512-vWf0GFxrtEnKQNZA1DpaKGXLzM5bUfWRoZTvprPmL9y5Q3okRbS9C8tt9creopa5LwAqtBTApfkSaQhCqznr3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8x9m+NobrHF+hfN/83iaMtWPWARZEXdmnT7l1/1HwlQIgJ/m7zhBBso1Jp/PVYIO74GApATBRqyVE4GFzYP6gYuM="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.4.tgz_1498671378472_0.6541810464113951"},"directories":{}},"0.2.5":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.5","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0 || ^3.0.0"},"dependencies":{"chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"af91b092b5bd682b82de46b59cbf66722b7b7483","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.5","_shasum":"73a3314a68240ad0afc790f51543b300dfd74306","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"73a3314a68240ad0afc790f51543b300dfd74306","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.5.tgz","integrity":"sha512-PWH0WpxKXUzrVOzLJvAPPO3gkY2DszFxj5ZMC5hNmuCjccCwMOYTJE7C5s7PgrxeBmH4+vBADROMmLlyXKhTQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNoxOppzR5AYCze+3eROO3aVceCTkKjILHtNbgXK26lAiEAqR3SyHMlUF1A2QNCfozl4n7UHNzUBbL6bh1VyYOSQkY="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.5.tgz_1499544163807_0.0028710654005408287"},"directories":{}},"0.2.6":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.6","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.0.0 || ^3.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"49d8bdeae4ce27a0dbb0f51f0846448bd33fa717","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.6","_shasum":"e9bf1a292e39d94c04f781430a60df84176322f2","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"e9bf1a292e39d94c04f781430a60df84176322f2","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.6.tgz","integrity":"sha512-RexeHTLNZaAAt9416eZo0nu8iS5F5MWoIoWttE6FcyVZkeU96UbdFP7ggYypJId9W2PlFa3XWk7HT9QbdgTzUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDllZY+FmwbdRT4QN/AAqZygfKM0M047YJM0vMPk9rT4gIgGVAIYepPtRyvWifnpq0h87lGtasGUcRANQdTlORwf7c="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.6.tgz_1499553356411_0.49648668454028666"},"directories":{}},"0.2.7":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.7","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources node_modules/.bin/_mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"f68e26ff8340aa65361666b27e2fbe8f215dc279","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.7","_shasum":"4fdcf245abd1e7f971658c816ecd5e28d3cf4670","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"4fdcf245abd1e7f971658c816ecd5e28d3cf4670","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.7.tgz","integrity":"sha512-HJDVEsIAK5iWFSW1MN6kPMKf1GxnwlgWfws1ZPKFf08sJVx07WSnH8sk5SgCZ4Cvui4evln2/zbuSQj2bsDFSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHkylY13Dh+AZ/S/K38HbY34JLagbsVPo5yKwqDTBc0SAiBH6DJNzEKk8JEmKyAhZTtnsa+JlI9Nu4lSyCHndI5Y2w=="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.7.tgz_1500114758684_0.6639969432726502"},"directories":{}},"0.2.8":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.8","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1"},"gitHead":"76a8715e7fd736aa171d641b0bcbf59eb914b960","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.8","_shasum":"66dc841c29ff8345e0a30755ddeb4ccc3213e210","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"66dc841c29ff8345e0a30755ddeb4ccc3213e210","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.8.tgz","integrity":"sha512-kuBSTWuL8WabWqdqnC3PALdjwdCZnPxNH+NlW5IWPtJCEe9VVT7hBmkHeYh6SLhlRpNgaWpgxWRnfDFLwkkDGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFhw5S8oopsN9apD60rBptslUPgbzSMguBwDYbArqlXhAiEAv9/JkcZKaiQ6ySuCmspcgtpfa2bndrRDRgY1ILoMF38="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.8.tgz_1504165126878_0.9584653957281262"},"directories":{}},"0.2.9":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.9","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/webpack":"^3.0.10","chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4"},"gitHead":"b53a7d52e9e720e85c27761516a79129dec11639","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.9","_shasum":"997ec3bfadb9adbf47efcd47cee7549c644fb01b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics","email":"opensource@realytics.io"},"dist":{"shasum":"997ec3bfadb9adbf47efcd47cee7549c644fb01b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.9.tgz","integrity":"sha512-t8eeJ6w/EI+D/AgO+JOeDrSeuD4JW1ujPi2ABNaSFzoQncmE1D+ymswr+nXHHu7QxNipwySAk6SbcbGMmdHhgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEzJv1HD6OUQcLDwceIFuflNPJ2HEw7fWs+YrnyYDqkQIgbq+qFC7AxWnCTHjS2syy5Lgu+64qmfhhQjUMOEhDCaA="}]},"maintainers":[{"name":"realytics","email":"opensource@realytics.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.9.tgz_1511296477693_0.8447075739968568"},"directories":{}},"0.2.10":{"name":"fork-ts-checker-webpack-plugin","version":"0.2.10","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/webpack":"^3.0.10","chai":"^3.5.0","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4"},"gitHead":"3aef85c34110e47ce2de934e3965a55f6e9592fb","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.2.10","_shasum":"d0a4080e77e9f5d6e3b43cdce7d26658f9d250c6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics-tech","email":"opensource@realytics.io"},"dist":{"shasum":"d0a4080e77e9f5d6e3b43cdce7d26658f9d250c6","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.10.tgz","integrity":"sha512-L7mhhCLDyvh2koCgj7Bvovyh/Ryg/DcktoHP3kEwBljNbjxUE4YK1aVMa9doe8T37JJWRQy9iP+0Qq3nBNb39g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5XldQgx/Ie5d2YcuTym94dvum/+lhxL0F9vCDWx26FAIhAMVBFjoM4wmrEijrUprixmwstvd5OoAJhk28w+DVdAWc"}]},"maintainers":[{"email":"opensource@realytics.io","name":"realytics-tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.2.10.tgz_1514066736643_0.8972142958082259"},"directories":{}},"0.3.0":{"name":"fork-ts-checker-webpack-plugin","version":"0.3.0","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^2.1.0","tslint":"^5.0.0","typescript":"^2.1.0","vue":"^2.5.9","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.9","webpack":"^3.0.0"},"peerDependencies":{"typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","vue-parser":"^1.1.5"},"gitHead":"ff3ade3dfdc2d362fe9ed0f47e14eea8398bff9b","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.3.0","_shasum":"3c7339b981f9194c89f38c223258e0c702f99369","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"realytics-tech","email":"opensource@realytics.io"},"dist":{"shasum":"3c7339b981f9194c89f38c223258e0c702f99369","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.3.0.tgz","integrity":"sha512-7FDtQN8bQVfEh6lxk9SE/aUP3XOOwXAmk0rA3DqIhz16CZnv351B62CZV/aU+AWNLGbPIWwLx4OV/xbfL4xL8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIErIJYqUVsYDAHnKhqATNpS3SW6dC5eKOUpmhl6hUUZkAiEA+mraV/bjNsqchRtmSAgymz71GNky0eGmnVGmF7vsLHA="}]},"maintainers":[{"email":"opensource@realytics.io","name":"realytics-tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin-0.3.0.tgz_1515527606106_0.2093783705495298"},"directories":{}},"0.4.0":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.0","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^4.0.0","tslint":"^5.0.0","typescript":"^2.6.2","vue":"^2.5.9","vue-class-component":"^6.1.1","vue-loader":"^14.1.0","vue-template-compiler":"^2.5.9","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0","vue-parser":"^1.1.5"},"gitHead":"5602170562f5cca34e68e64306cc3dd704e87e74","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"realytics-tech","email":"opensource@realytics.io"},"dist":{"integrity":"sha512-V/qJPAYrA/aAu18N72K6t1WIsZiVm4t/TpjepyfFXerErSE75pE05OFyjGXDdxG3wrDnsV8izwj6EgtcoG79XA==","shasum":"a2a549d24368f209d8c0d8e366ddedbb1a070cb6","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.0.tgz","fileCount":18,"unpackedSize":81273,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCARsdIbCwoWOGhfxF0fmhVjdOcAGLv30S6bZff4GVKZQIgeBN7TQPFcK/ZbVwZxISeGRLRma8RyfNNxcolajVxMwg="}]},"maintainers":[{"email":"opensource@realytics.io","name":"realytics-tech"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.0_1519568964779_0.5270966734330031"},"_hasShrinkwrap":false},"0.4.1":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.1","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.0.0","typescript":"^2.6.2","vue":"^2.5.9","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.9","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0","vue-parser":"^1.1.5"},"gitHead":"43083ef8624a6f24e6641e5b3367f8dae715c010","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.1","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"realytics-tech","email":"opensource@realytics.io"},"dist":{"integrity":"sha512-UckdUYL51F5t9t/2Uqk0xatxz8Cf75a1THNIrDYajjcAcg2Q64SXNP7BTQPxXm0bU1chzjR3brXIaianbFqI3Q==","shasum":"718801621c50c7f20de9c8e6a68a2db228a4081f","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.1.tgz","fileCount":18,"unpackedSize":81651,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT3chx8J8KWQUqVCp9bg26QrA9tHZJuyRztmYE9RJhPAIhAKV7utGGXw/jAdWRjhhDM4+27iBuiI89XHOLfFpiuzay"}]},"maintainers":[{"email":"opensource@realytics.io","name":"realytics-tech"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.1_1520586498968_0.19003909070749647"},"_hasShrinkwrap":false},"0.4.2":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.2","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.0.0","typescript":"^2.6.2","vue":"^2.5.9","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.9","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0","vue-parser":"^1.1.5"},"gitHead":"d06cc7bd167b62743f7fe904c919b28c36959a10","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-O+olm41xwGjWwdmmuPgplW4KUDfIZptY9t0nUs84sVB2Iqkvd79p6NtrfQ8+9ZEPodDFJqJfNST5xodOYQTkrg==","shasum":"8b57b736a6623110ee8899f575aef044d64a38ba","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.2.tgz","fileCount":18,"unpackedSize":81689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbE4/ACRA9TVsSAnZWagAAmTgP/iL6c4ndDxa3wFIgKmpT\nVryPwOWC5/zbxSHVsKjR54FUrwVOGL4FSmYq043fzmZ8me+3XXWebd/HYE2I\n4o5m3ZNzF9LzfcnVYqhPPTxduY9mNpbWAkAtvTc3xrfpdA5BZdBk/R18F2uX\nrhG7pmNXbkCiE8UuJULalPq6F/Kava3I1VivldAx6NEUEbjoI17EN13XYnou\ndkHjw1PVhtm9T8Nbtst2tSAaCdWCBiv6eh4Ts8krwqZ9jCbPqL+741Y9Ts4Q\nkczXB2W9bXArvs+i0glQt0tgHaptv1D7v47f4+hG/tOPcwcZJrTifLEGfcuh\nV0TbaPArU4uFtsHXhqXLjtkGIe5fiCX8xVQ1HnOfrETvsxj88KSN06vIMNGG\nImK4LVwqAFMBwNRyKsRr9u2xk225hTklbPkNhuZFsIjVFDY/nUVAjRTEQVqJ\nkac35BnMvsuWBH6CKTsWhwemjpowyNbk/KyEDmP4EiykyprnU7F4wI/ef5Xu\nr1Kyc8tWz7NWObk0pCsAudhSCBfzUaxB4TP5zegjwWAt8LciDokXOk0JCYp4\n2fK6TQt4mXCHKDQ/NOrZPRfoiISJu7ta4ApVVEjHdy2pRsiaCCxKabjnszgV\nY4qiPJzkztuqpGwMuNNPN+1kNXXuqi8zQcgxOErJ6elE+Yy5X/cfJkv7Hn52\naJ4O\r\n=EfBI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA8N/DjgOsI9URaVhqPCcmCl7HyVFx8W5zY1op23WheaAiBRohYGq4XavrNsTI8cZEbrcxn1A4OvJXlvL4LS/M9G5A=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.2_1528008639732_0.3590766260735454"},"_hasShrinkwrap":false},"0.4.3":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.3","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.0.0","typescript":"^2.6.2","vue":"^2.5.9","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.9","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0","vue-parser":"^1.1.5"},"gitHead":"06a59172b97db92c5544afee285c409dcabeb0eb","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-C9wLxW4aL/1Ja2LvuJu5Ig6Dglerjl3b03bYtEKi9nota0mXEtJ/2RZcpZBF23vdRDXy88CAfmiOQIPvH2aO0w==","shasum":"f08baa5122ee3de8760c5935e724f4f9f214fea8","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.3.tgz","fileCount":18,"unpackedSize":82049,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbRQaqCRA9TVsSAnZWagAAInkQAI+Yxijz/qM6HektZhNt\np1H5Fr8/1wHeCmRL+GtoexOlXwyuMwT42+T36+UzwaYsYTvwxFMhqmz9flxT\n4aDevNXevIsdIGaIQlD1pNok5ZwxNflvo2aOTL8u4xax5lQp6FX9FVAEigiD\nR+oJp6k3cuM140nN/+ACd777B/UYvrdPjchLqNwGFYyWv1E2hT6qt6zDYc+r\nz51W+BCC06hdtgR7fe6n5gbLHYSDbM2FKEmmSShTukrzvQ5Bx1CD9pn0UpIh\n9DfDQURiTAPWCTsv4KGmvaQzWRg8YzkGsdpsQuydtDyxw5tOSmFzvD56ik9u\nFL4Vux288T7DrLvjMIo14IRV1ut66qnO3Ja02GotgQX2Av0n41iqV02UVQS3\na2b1WhdCw+Ts88QiLado4ICBxX+wJEYa9Ct1+PaJ1QuEJ6zOghWjUvOobhj+\n8DwvgmJmR9Giv4+UkY91U0XGHta8ZMMaT1FiL/y6wUQDUM3O6S4ADqDOAL/z\na+J7zc+z9FL4Wll4ePcpw8QogXH+8smbxyXo/H/vyS7LlOjBTUt8qkpwLEpq\nlS2NM8kcylMUSk971bute3ErHl5Z0uGBs9x228OzXNGTkBmoWLXqv/NOJ7+s\nxUpH8Wy8IGOdH8hMKeGKcRTg8o2TS99HkQj5I20Dvs5pDk0GmJc1bPY1gtK7\n4E6G\r\n=hi0n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBGRaJcxRu6xmjLu/D671OA2kyRak6d8f2bfTMCZFZJSAiAbdwO4M5foCbY0DoxMOPyT/d8G93U1kQ7TFH5v4bu5Kg=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.3_1531250346365_0.14790484528300918"},"_hasShrinkwrap":false},"0.4.4":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.4","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^4.3.0","tslint":"^5.0.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"gitHead":"eca9b1ed42fd0572fe323df29c6aaf17f9a1f45c","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-yDB6xrz9N1LSz2S1o2oEF3XijqkHEcyooFHSXVqXjn4UEoHUk99a+Iufj0O2ClHPgbNucptpUzB+nIfXrqrGAA==","shasum":"6007ff52cd142db98fe701f51de653bd8a3a933a","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.4.tgz","fileCount":18,"unpackedSize":83470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZFwFCRA9TVsSAnZWagAAhyEP/13yFR/39AAyFIyrlIA7\n60lKI7JKZmiNJcWL2lnQEGETXp6NE2NeQjMsN4r1ql32rL4ydnSpkoHVtsZt\nnLJefjgJHggyOyYJ9iOah2q4xBmTgFMm16oiehYCIlYk7GeFsh/nV7Yssyuo\nG84wTS/acIEK1lPcf5MPLWQsVHek4YMeGoL2rBej4JN5Vwtrkk3GdaKtzg3W\nurZhIYKYr05rDo3Pmy9npEAQG8thdl2YLF9vbimx0ZCmmRe/cksSxpN91r2r\nVU0GEyRslTgFaJXsx2I/Jg1g4u5BI+J+0pxhSFS1nXIm7nj1gHPd/JAhRCyV\neWcl3WKgENhpKqbNiS37XbgrOlVr0uCQ3sI0UQbXNkNo3bfvdlVuurFZKjJI\nQys+nkbitnRjfqa9DgKUVrIcz15q7raC44bsQ/BMt8OVHPAVfa0QMggSoZ9i\n4Tcad8hvCY3NyfYEyLSYhD0kodgQiHxMkbvZg4QOmiGyrTYO08HjmGbDRUtg\neYc8RTvNH0T4Q7S4XZYZ/IsW8CEcgZRvy2TreH6VoJCJSqhzB6tqvEr7xVRo\njqz+WKJNFGovDGwhfkzv0Qbr5WgNjS8CTTZTuX0oaNeiIUvGBO9Cx+xrNRoZ\n3C8rO0/aSaQwaPDyrYbtwdDLQ0RJCBdayDkwSuGL3E+GEwM6WtHhqRLQIcNI\nrk7I\r\n=tEdv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDwDE2/IAfoTKECHe6AAm40XZ5ngiN2xQiSB4853swcAAiEAnuvk065/fB+1k0skZ0UGJpCiuodg6Z//S+X9b5Fc2k0="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.4_1533303813248_0.005421718009354537"},"_hasShrinkwrap":false},"0.4.5":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.5","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^4.3.0","tslint":"^5.0.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"gitHead":"45dc15a1feb228d4ce59b9d1c0ac11065e60ba55","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.5","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-OJuinGG8YVolZWUfTiGEDtgPOHZ3N1wcTO0xuKpiDQBTEIcGwiiEgD+jEmfE51uC4WlkwJ9awx5Sn7esVcFouA==","shasum":"6475de523fd96b467604e9fcaba738aeee025de3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.5.tgz","fileCount":32,"unpackedSize":95972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbau75CRA9TVsSAnZWagAACZIP/igHzNg0eyBV+xE/fQlJ\nVdl5m3SKw9xGxVBYJYuCUX48yKrOP0OhJjVEZ7nJ8WI4VeHgPY7Cf/79eF6W\nZsIVw+iZVBJK7V+XqfO5dyJ5KQgJ+L2p4UOpQB66PLaMFWlqxpWP/Fl+48BR\nkBu408ppmbrXe2NG1ZpPK6TcNGzc1TzI/n8zFU6yRD5vqxVouJero1/GgOsD\nLaMPenqK273MV6aZzjd0UgISeECwT9iWXSZATB2ut8TqLYuDSkJfX75N49Ck\nK7CV/AnM4DsXX+lrsJGzYzD/jm1eyr4oaueO1xQQhoZDNIalwMvDCMKKOmZZ\nmZJy/b9Zpj4mOHj0jM8TS1Brqwh8OupJsIuV3Rif71ip+5o2vcDr62TyL3GF\nPpDBNOB988HNqsNpjYjQZMFFRBJJgsvaSKLXkdfjdoHPHfLahH8qzxhsG7M7\nLy9bNi1F7R/Gddj0nkDwOB2ynxw6QFAHwii1nSesjYYzvIHChY5vwMdPB/cg\nvIzVxBD5JO2MR8P1aBCxEIbN8pZNsENbVyp/tvnNgCb+C5uba/ljHavWr1Id\n3GaCJrV+/smmrESEBKNyWjxY2L3Uu5eeUnB+yF8Eb/++1Rrm4PXgwBtztEA4\nJMeybTq2JE0HgmBp4UEyN9nbu4CY1Dm7AKUjOCAt/7UDi8+BR14P4gsdH58f\nSBB+\r\n=uUgM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfl4TdzREpUsN8NCe0zXbnL+L1tNxbeLhEDCn1nx+VLwIhAO21zUAmoMkKvxMRPwA1aycrDFZlB/Hx8dGPH4+j0jKv"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.5_1533734649443_0.42535175076245624"},"_hasShrinkwrap":false},"0.4.6":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.6","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chalk":"^0.4.31","@types/chokidar":"^1.7.2","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.0.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.16","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^1.1.3","chokidar":"^1.7.0","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"gitHead":"cd7d8c6c6190bbde7281fdeb5b1915cd8974913a","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.6","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-9kCrpfwsFkuwU8MZvTuPW9QB9T59xAtzABIbjPEIAAWwQymqNLNJ2avEP41aIvvem3N4kkzqEXFtxqmj21VJOQ==","shasum":"d75eda7e4bd9e674926c34068bcfa2525a04ffa0","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.6.tgz","fileCount":32,"unpackedSize":96129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJba0lUCRA9TVsSAnZWagAAnvYP/RXHQynENS1ojJuByzIo\nKiMXyl61TYXFJFeZZOnRHZIhh4Fs1Tg4QTRinQ473fZxssc9/+CoUBRX1XhA\nJtU6Fh5AvtlGc6MMHaHcm8VirebpTfBAPVp7cMkeRh5nfeSCfMcPaauuGve6\nGXGF7oIZkR65HRfo4toxCD6si4u5cKPLlupcfPevdmOab6rHq+zX1msJ7RsP\nzD5NeEbvO5cn9J3JAOKAJ+mqkhCEO1rZNV8DbE2K/44HctoCPJtAcsgZVSxc\nMll5M5bv7UgZxB3q0ouH0ZjUdVo/QtO8HMrbaHgdXRbQHQpzVk7yC47cIuN9\n88GQwo5pfJsDQWRkorGH57PHfjMuqbWLR4pZ9iIqfEF7J8qC1dVP2SB/NcwN\nDobWVIjheIv257Y1tvC+T9e146MDvZmHTDfVBhbzTnhs7PA5UOwTXWoNMOLu\nl36gnCT6Ixclfz3fKMno6JyrobLLEEUZ2LfGXPHwNndn079q8Jmnsdpoqr5V\n6e9jkMApk+A6nqBqzSBejJtwd9ua32aO9Lk9pKyM7oWgr8zZ3iJX9NLEGamP\nrqIvCgpCp2AdN7DW3bl6fAvmDYe1fW2HztD5tFMojxFBF7Zx5WtRWJcvmi0f\n65RAss5jW0utTtsFWL4ueBCfVlYqr7vjWC8pp65B+BzhNa8wlJsEGUeqwKLl\nSyfC\r\n=ya6n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClqw4Rtu/MVwXHH5RLvM7ZyumjB3yroFDAMtvWXlqLJAIhAJFIgQwf/4qhqGMKaCPmvmTO4Hz1A3OOauN8Gc4l6CTM"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.6_1533757780179_0.7140369624142635"},"_hasShrinkwrap":false},"0.4.7":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.7","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^3.0.10","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.0.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.16","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"gitHead":"db649e320e9350a098c7b854a1db35c9306d407c","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.7","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-9JZloeKPrBg+IIwdDXjVYUDzGtcoSpGjnNWQv0YAf/Ne3IbBcnMiyieEANO4j193HDC0umHGs+USA8J2s+cytw==","shasum":"6302e118f64df9c9be29bb0d5a69c40134305b1b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.7.tgz","fileCount":32,"unpackedSize":96510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbgcyCRA9TVsSAnZWagAAkhUP/R1UFHljYUwYUV63e2Z1\nPVSsGPS4QZ2Nhvmhi5uA8ZwJQ5s5I5Pc6KY4I/NBJkjRPorh3YKntUJNnm2V\n0rLk3KGyMRQZvKUZgGgdBe9FP+Qyq+2hvLazqD8bayd3A0GOqllPAoqckhJ5\njxtOzvBI5ao/+h6yPoK7H7SE/sHTCFiBlx48pd1FHUwl6zJmAdQ49y/93xF7\nX5Q7+d298a4UnPil7upas8vTBpZdwX6omuTiJNS3mWri9RdkFs+2lhvVvuas\nx0W5qvQYM6ss1k20ULU7b0zbiMbPoHKDCISB4+DYb4puElPFXZljQRCoNVhH\nhCwg7VQ2MDmp9di6vAFxWJIR4yJIlFKkK8O9pk8cBEOElcml7RObvlAn5Qvz\nxzq2BIus7XH1R/rLhtRjtePgk5f1n1fP3yyZFfynJGrLxFHdtl204ikV9Y2t\npNj9aYIks9N8yX/8cXvheKXBoe04C6CMvNkZznA98sIh2FlJbQ7RmC3Ls49L\nbB1PT8lyVjlCzSqIP/wRUK1Lh8tUyoygEx+vSpoYSje7qgxGuA47b7K8MVfH\nWrs3sgCSO6o7OZ6V3ess4HsBaLI1Ql+a5+o2Pl9+6p+lLr4fqUvI+NLoLaHt\nCK3ue4xRPucvqMmefDp0BFX9i6YUsyvPleYLQVA4maZ7RRzID859HsFkjPeJ\n/xp9\r\n=RLmv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA7hrLCnUwHLhyFRbNzke6DC+XSXlWPWhJScLupao4KlAiAryMbOS5ywKfg7Fa9u3OXm6qiisvwaQy3NJ+KtVwkM2g=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.7_1533937458302_0.3222346626554655"},"_hasShrinkwrap":false},"0.4.8":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.8","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^4.4.9","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^4.3.0","tslint":"^5.0.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"gitHead":"102fba2ea6b045914a7f520113f94fce241fbd5c","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.8","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-BmaNrRTOrlHlRzngUmlA/H8tHDB5PjP9iHSzz3HXNb7Etwz7siVhE97POFAQqsojxHfOHhw0R2FRLbOV5jl78Q==","shasum":"a93cb5f1240a56367a1daa2ad2d46f24f8ef2861","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.8.tgz","fileCount":32,"unpackedSize":96637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbburvCRA9TVsSAnZWagAAZnQP/ArMtxhqh0ofK5hsJBmc\nYr5IpMCfMTLFX739yLuDYLvPabGMoFO00tJo+Sio+K+p6h76BXr8uvDBOWeM\nVwmqZEzJGuYFhTySg5pttm9heg86xcO5ir/eEC7tOxJgmeUBrn5IbUyzUPRR\ngdjEIEINvNdTgYf53pSBWUsInvo3h+b4EQ0L8aWJjef62V0Dka0S9/raVw9d\nH8TiJFNq6XN/0888kAtSIq0cwFsU4Q3xbLEM0pmidf89+0OCyJQyAFi9omeg\nUDzvn8yqBVzpi/Xu5wDW2JZUyjURJY6xSpK7evhyN82UpMPTfBqhUpm8sKOp\nT/+3kt+Xs0G8eK5Tn1NRFgqgKF0sLnNIxeaMs/NDMcNr7G10yFOPM7T99rG9\n2jHc2dTN2wosPD/qDj363fXi6yW6H7t7xA0bLqffVtD5DfAjlzh1hFfF8qrm\nTaTsgpgwAHVzPB+r3EYUF3YcWzD6RNuw0SMcP1NiNQTD9CKXdmejIazsQAcv\n70p8oSeVfZ5uJAtsjraFfHYZeXvs03ScIF8s35pfNKm1KMn443qiF9/m/E3x\nsV8uiTZdYOW6F4kRUQgoN7wooI502F0MzK6d1tb9K7oDjPJrq2isXojVih/O\nMjCaZcJXDnUtFz+WXxl+yOg3oiFELN7VdXMWs9/3DvrLIIvKBl+IbDicHB5w\nriIc\r\n=jams\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDQtTFZ3cKr4gyUrszF1lf+5UIqrOTyDr54aGlHdKJobAiBiwRyrz3snYsKz37qFYiP72BEM8W7noIFBsj30UHfSaw=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.8_1533995759204_0.6217156916325173"},"_hasShrinkwrap":false},"0.4.9":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.9","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","files":["lib"],"scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^4.4.9","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^4.3.0","tslint":"^5.0.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"gitHead":"d8b0e1385b627fabbf0c1229de396fe39aabf2ec","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.9","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-uoUSu2qo8GpoonMrKtPlpIqPfRTO0vVLA1Gh2bPaDSyZ2zoUukrXCc38pJtYYNVLpvlv+g0PNr/9SheFyVAR4w==","shasum":"78607899d4411fdc6faeca5b4db7654c9d8d28a2","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.9.tgz","fileCount":32,"unpackedSize":96795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdybrCRA9TVsSAnZWagAAQ/oP/iYBC7X7dWj7RGmi9SQe\nJGTH8bWunzwetI1sfRo21rrtOmh/tv3DxC6z+SLiKO5X4rDuHQ/0m+8f98O4\nxI8tpIHPClp4x79sApjVkYbZ/wO5wRPK7EImAG/fhdzM28Jd00IDljRGzKGx\nz0wYOx/PfJbAlc0eoLfOHF9rtpZx5368ujucBK8pk/jqN5A2q0H50cjPvcGw\nDnvY+fl3YC/4mwG68U0HwiT0G82r931cfcqISY73vGX5dkkyUNPazKBBHsWp\n2vsDNnnwQ1W/2Y9kyomwTUrCXJ0tv4n7isl3izGQbUXPmV5CTn5rMpQi8rIr\nLabnZ7DNXofsuZgeMR8t/j4fIeifUSpOsL8DPTl64abHZYkC33WgstkzxY8f\nA32MArUiYaPbv4xcEwCKbu7YAn0NTP04S/w9VH6OtkUzb6BKOKRSnN34UP1m\nyxCJ5I2WCZPh1hcWDYumGwJG+N+0g9v9aJXYd6Ms+OBqgZEv7xNDboWdaX17\n5ND3dv+4OilE+H/MG6UE2papf7NMrZwxisnGU7vrnctLfeKRrycuuu6oZ4Uq\nJ+fgotdsRvahqAkTBAd6yEtIG5eGGiBCoTh/Ab71sW6q9quX80gnOXxLql5h\nefv49BRZy5npkiu0p1Fqfo59aQMTFj5HCZ1JrpcH/xQ0XZ8Gg2aHtQQ76MPp\n0VWo\r\n=yHe/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEZJCb7VemAF7pfaUcL6rzWeF9kUXmGwlCHeGksysvqgIgBrRcW4WWMvdozialSvu6QnQUltb9PSMesRYOf32Tnlo="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.9_1534535403089_0.16291997250204648"},"_hasShrinkwrap":false},"0.4.10":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.10","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"eslint ./lib ./test","lint:fix":"eslint ./lib ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^4.4.9","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^3.19.0","istanbul":"^0.4.5","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.0.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.16","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"gitHead":"237b1fd96fe5cd9450c8189a5c6f62bc5d119ba0","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.10","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-8llkIUAM9o64ou6bhcCzKoyPd78GKSIuErmiyNX5tE7+RhdW8meCkVdXPP67diKYwvp7KjR1t7UvZckAHzN3pg==","shasum":"e96f87ea599af4501c1a69f44ecfb3163bbf30b9","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.10.tgz","fileCount":32,"unpackedSize":98414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuIiMCRA9TVsSAnZWagAAnTAP/1Xbk8t+frpZo8YvhqX0\nbNNSpQY/O3BaRFvy7u8GRytG5n/4lZHQlZwun7pygdh3L//v9hVNhbAwfyYR\n5TnzDhzJabLc6IYGrgUbZVNRL0+4u+K0ttW+KR0E8HjwSiXNVcKqI7hp4lHI\nULbrkXruge8SisdGTcw/MsDCxbkHFdp2Kg675Pk0hfNmVBA2muSo+90R5fwK\n2rWGtRZOc7CRi6Y4CEgZBYBb9FNv1yMz+xKkiLBsB6ilG/Dgy9NMKCyyRUOf\n57tuM4ShLL/n1UGMmGXL5JY46sETnxjiMa/tl4meLVJ3kL3OZbZuQ5ULL4ab\nBnbsqw2QCz6UtEHIfv2kNMZqT62CBKWPqYxH9fzMDRRpQ1ktk/T3YT9onwiT\n4MVDeVBHmXvRPOYBmghh2ZfMz3euFhga/uyp6dPWyc5ZZIbaPacTEPP2aFaE\na8DoZyt5O0BhQzWsJAgJsfc0ZBZen3UboIidkkEJuEVKwaIDnu/ldqDdXl+q\n4WE7QoKM58b2fTsCZuhCmvwwEqAddM7NytZ73ApWPQvnlGyY8mjsaS2Vq4jW\nDnr7fV3YTKnNxTx1WyQAYB57TJHXzjhxse7gDFT91pIzaISqxbv9SxKI8vAK\nuzZRv99q0bkYvhbdJ+K1VgEEbu5yvg3qIb/Km+zijZZIfwte/kp9lU2QHO8s\n1wp3\r\n=Fvyg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh5v4bAKE5WRQwW/WD/A9pdb2QEMSfuKTTe43Jf1sAaAIhAOEMrpwa4e6puDSBBTpFv7ROXL0ChLlXHRgXFM0n86P4"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.10_1538820235427_0.09719388380615634"},"_hasShrinkwrap":false},"0.4.11":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.11","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^4.4.9","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^5.7.0","husky":"^1.1.2","istanbul":"^0.4.5","lint-staged":"^7.3.0","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^4.3.0","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"f57ece232510f490841682d71ddad9bae0822e18","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.11","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-ddbXTSQn8TOS0LWwOKR7tArUPHkoPkOuePu8AVodnOmmlgdwbHX8Vaae7OVnn1+K/L1X0i/wzROUrZ6GhaI+QA==","shasum":"cd36fd4306a74abce5c83f4f5d68164bf0ebe57f","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.11.tgz","fileCount":32,"unpackedSize":100475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0AWxCRA9TVsSAnZWagAAe8sP/AldoN5ftNBCY+OiQ+8f\npVGRKNqC/dJ0z3q1JlF/AIYdg0lA9GwxH0u2ubYh/CRr7xwW365to0MtW/fH\nKb24zSuVpYWT4mDeNS/RQPlgkVq5CNg6ghhrlO8Drl29pPEc3/6SmflHrfEb\nyYmWndk5IsI8OiWge/Okr379vGdeoYR+PDuZE4FO/+7Kugic1jWZrT0zBOzi\n7IHuPiAiQ0jeCCdv3ltFmP+StAuvE9x1f94f5z5RA4P1tTZNjy1TCuN4as2T\noVXI6RYuPt+HfZJUaoM79DvsKLnDNyyKY9UN0qKRbNlPV/NaPDb5evIbswWU\n7AWa27lKxSp5YhVH3gvvqakcXbTY+LNkFc7NV45a2373CnIXOeu65AeeF+Zp\n2D7HMywwXh0CBm91kbkLbLlPXceLGxitlmww9c0Y0ffNijDu9mcnbf/CQ8hz\nU5H2jOgyLGERuiz7cZlu54I79egOgExrXRT9nNXFbXBwBUVB0Ar2SRDo8Bib\ngwEvj2py1Rlr4RQo3AcwsbCWwioXng/oxiBPKlvPsWref/e6ETm2k9BX+JAl\na4ISL5DorPr2TFzNTHNuHXuR12+lTYEfSBiXy0+wSluFqR3CM0R7ia/5EE/n\nryGmLFfg1T8bTpp0U2ol4Kk6wRaFbhLISABsdRuI+fNV3ybsNNddsuyM7RXG\nvLP+\r\n=nOci\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVubF8aHjTA6OS14zCVmTQRgP9VuUikq247u5n73cymwIgTsE6z0tWrQeou9Il+5eJxTNop2uxoj3YXfymGuuEE9A="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.11_1540359600370_0.14678828287741896"},"_hasShrinkwrap":false},"0.4.12":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.12","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit","test:integration":"mocha -R spec ./test/integration && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash.endswith":"^4.2.3","@types/lodash.isfunction":"^3.0.3","@types/lodash.isstring":"^4.0.3","@types/lodash.startswith":"^4.2.3","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^4.4.9","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^5.7.0","husky":"^1.1.2","istanbul":"^0.4.5","lint-staged":"^7.3.0","mocha":"^3.4.1","mock-fs":"^4.3.0","mock-require":"^2.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.16","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash.endswith":"^4.2.1","lodash.isfunction":"^3.0.8","lodash.isstring":"^4.0.1","lodash.startswith":"^4.2.1","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"9e408c5917df47d70a7ba242db9468c653ca3f2c","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.12","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-XoeNFO2Blc+6pkiIct74w+6gWa6VRcBmBsWKMDZ94XVLt8AnrcZcRSUTeEggIkhNa6sN3KDEwYbGXQ4Z3RBbKg==","shasum":"21556b4a1ea498aaa388f081f3546294ac07a900","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.12.tgz","fileCount":32,"unpackedSize":102302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0N5vCRA9TVsSAnZWagAAOewP/33shD9sjxUfyw4likrl\n6xVYz6UWhjlm7N+RSMCNtP5w5Z9kicGVVIcjDiwzUB2sCNiin3urqA41eun2\nfRk4gjBiWkGOXSM85pO5J2mgVPa9ubUAASY6YJeG/2Dh+Ckvdq3beBjoK60+\n7b1FeFcrxcskop2MQowxsXimJuppqOESk2oDJmOwrKk340qQsqMPDqGTWADn\nbZof7vi4QNLzw4aFgVtEI48If1lvjruZvccJkZCYaesAmnVWDB/Nt+VzLF/c\nrtVupj0z1fwC5kytezA7wy3JyctgpLTn9xwkuwlGwOSgFT9+ybw0sd8STQY4\n68F3qNg86cGAvdG5qxFbsdJqoZiQjoWwO3wCFmeu2QVQmEgd+6bvywT+Ng4+\nVnq8WnVJhik4z8Ny30Yn9vwnT7bxop9xOpRt2cTg6FHDUXZ5HNC1q5TmDH9b\nFQmSzP0DO+8ZjVh8bQGSpBw4+d+mEppEL9iQdX6CmBQ43qmLOAoEiLVvC5L/\n+VuZdTNbASddAi4yXfjUDza/s1ICkapLx082yHXRmIgo6ooXKC9iKKylcpg9\n2qGlgOSm/4bT8bl2LmM5npXNRfa+duOmxsVkDD4ef4hCD1lUTtRptjtBeFe8\n2kwjy74d7CtQPQCSZtwNBzNup4ZHSnKlH24ET6XmvwhDgJFJwpQHD3EzGA0U\nz7QZ\r\n=A7UH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClLK2PwpAIl4BIFoAhAn4pYMsKB8yftPJytAhP2gYqZgIgaAbg+cHF5By4ocZy9koim6rOeWowcxYgFcxIyrGVbO0="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.12_1540415087014_0.18555877969277956"},"_hasShrinkwrap":false},"0.4.13":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.13","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash":"^4.14.117","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^4.4.9","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^5.7.0","husky":"^1.1.2","istanbul":"^0.4.5","lint-staged":"^7.3.0","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^2.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.16","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash":"^4.17.11","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"458cd748519c04501298c342de31acf1b2f84336","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.13","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-6CLtMCuRkYkHu17gbLCEVRn/MtT1Fua83PfsD9gANXvtX2NBTOpv8/kd8G3AK2gO4+vGpHuNmT44qUukcl5N6Q==","shasum":"84f50cc0e47b593de7239ae07e668734e6d23d98","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.13.tgz","fileCount":32,"unpackedSize":102151,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0/ReCRA9TVsSAnZWagAAM78P/j5KiCUgah0opbSDMdxR\nkmmffmh1O8BTRrjYfsa29C8nbRckQt2e+Ij/6DEzfHkyEurwOioYLr5miFJC\nDISUg3QfZo4Ha8GbTFjxLF8Lng7hp67zCmfaV+qHvBnBNnTuNy2crVytggc9\nP4Dr7k/rEtO3/74S5Fzn8rK7xAVrqVeLxRu+XKp2/u437bwP22dytApJaSg3\nEwZX3QabSP71r317iVn/aBRmORJS3S5ZKqZbmG1BX/K+VOPKWzlCES1Ddg4p\nZF3+qAbXf6SWUHsqzRjULQSrjee2U1SzD3ILa3aDXocQAa1WDmJUudDWBOsx\nX8zVcjbqxG8Jf0L2tzS29RUo6NtXOVxZ/HspDZpyguQSPzWRI53CyGL9ZB8W\nGaBimsAKqFVJ6q6xLSFvp4Qc8BOJVwN5higvGWKLz0Ll1S4J1A7xZm5CutZY\n+DyS8WI0FMalsWC/E1UidrlBZijHVywduBGTg1A7eiR1bypE6KZHp65dl3LX\nKnvXDW+BhtZtOkvrfuymGx2n1tICulpNFy2ti+kTWFpyvse/wBH/xEImifJT\nkjskmIr6aw5Gz/vUUfvikxJnIxn7kxqkWRaabiuOGI19YzxmN8heEaYRAuHo\nKRK/h7Lvxi0bDgs3K5ssFhQYxb1psHdHEOF1kvdaC37Wb6Fw8R37nIIQ18QU\nSo05\r\n=+a0u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJh5wG1gr00r4anw+8dBR7xBnDXUglbk2qt3Tg9KVulQIhAPcoszFutUgwSlp9XgBea3Sris3qJfSv6Zspx2ijqvxE"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.13_1540617309367_0.2855657345967686"},"_hasShrinkwrap":false},"0.4.14":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.14","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash":"^4.14.117","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^4.4.9","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^5.7.0","husky":"^1.1.2","istanbul":"^0.4.5","lint-staged":"^7.3.0","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^2.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.16","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash":"^4.17.11","micromatch":"^3.1.10","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"7967402bbed2673f5618814c5857332a395c40cb","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.14","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-ADsMTixdrsbhedkF0MlgcAfrCbhVxh79qwLx075fCmReD5Txj/Dc5wdWHUaNg7vQgvjcmRd3mAn6jlCZpw36Qg==","shasum":"ce350708d1c2b4e968819021edbd1cc879ddf691","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.14.tgz","fileCount":32,"unpackedSize":103492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1ZzzCRA9TVsSAnZWagAAczwP/R4/Uux+9eY/YJ1Y7Nkc\nyMtHGy830/QmcvO6sxRzz1DFbLn5ZCJTMeQLCSaeogoO4RcchSP3bRnnm1sp\n9YhC57y29WuF2a00l3OU4vfXwl+BpM9pjq+6e6E/Ns1GqPK+aVn1Ei6L1dBT\nJABEdhs0P4TsG65Ch5I462b8M0Hk7vEv065cwXjThRaAOWCXYoldR0larfT/\nFLGAWECHTNp0f1OuTo7sEb5aLXG4imgmCR6vlAkFcZ0JTRd93mcs/k6ymGD+\nYQ1FicpO06pqT+xAmuHPv2enEDiKCc2ZOCxZi2wUyzftrqkY8XqoseDwDWdB\nH8d/EyRfMuWd2lsh6gsiA7+GjHp7Wt2hrQ2Q9P5Q36weqn1cYbQYe11qA7N8\nd3q89ddMVXOEI/9JIFrHRG7XYSMVV/Lzis8EFD8FFYR+X2JWDbovsd3m5U/T\nYAOOtYs8DDPAx6sPPUMJ7O5brLtVX2cJZE44zK9YC0BtQUDwVchAEPLaR06w\nSlXUIQFiHMCKjdymjd6AlLi7EG6mjnD3kMekuMQsiCsj2Uu7goI360M4ZVoi\nwH/lVd2/xCTge+zXGdFQC/FPQOpp8T6YIFZW5y9WwjaFaPZQQsOHhQItt7Rp\nLze+Bbe84yIU5+fay+Eds4cOvKPNtua9Rb/1wLWTmaRPtxB0m/WHrosZiTEz\n+lL8\r\n=YsWj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFGxiq0tEblP99pwjo5vtmOzCwZ/eoG126XPmiWtOdheAiBadqEOiIT6WsTgK8gFD7FyRmpr170muVkloPFCbipSbw=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.14_1540726002201_0.3523563865174657"},"_hasShrinkwrap":false},"0.4.15":{"name":"fork-ts-checker-webpack-plugin","version":"0.4.15","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/types/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/lodash":"^4.14.117","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.0.26","@types/resolve":"0.0.4","@types/webpack":"^4.4.9","chai":"^3.5.0","css-loader":"^0.28.7","eslint":"^5.7.0","husky":"^1.1.2","istanbul":"^0.4.5","lint-staged":"^7.3.0","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^2.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^2.3.1","ts-loader":"^3.4.0","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^13.5.0","vue-template-compiler":"^2.5.16","webpack":"^3.10.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","lodash":"^4.17.11","micromatch":"^3.1.10","minimatch":"^3.0.4","resolve":"^1.5.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"97c86d66f1b870898414e32e8fc777e7253d9104","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.4.15","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-qNYuygh2GxXehBvQZ5rI5YlQFn+7ZV6kmkyD9Sgs33dWl73NZdUOB5aCp8v0EXJn176AhPrZP8YCMT3h01fs+g==","shasum":"7cd9f94f3dd58cd1fe8f953f876e72090eda3f6d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.15.tgz","fileCount":32,"unpackedSize":104113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb40utCRA9TVsSAnZWagAAyEAQAJKY2N7CDSD8W0k5kG1n\njS3EsTJalg0Id7AdNvI9e5iuDv/3u1xJuXKrXcymZlXjsNshXjbXJRFtNP3Y\n1hzTj4Y2x6RtMsWTV97tnhMwrsscMbpJVCXJrwQyZWxK0k2l1yO0CeAQ/EMs\nbFoH3jFMx/ZFgZA//Tx67fSlN/oOhSQe90Dq7uFZOVQH5Uw6Jjq5HclEZypG\ntdV1dS63KHK2CYTHfgTJLSGdyf2RurQcBeHeEtsptrsK8F5He0zQ0mhdyhSw\n34Dz8zmeJdwuXpl08bAOR3G564S0HrnBRc1W1AtXG5b4zlK73gqkSsf9tAZ4\nuIXrWGC4+913D1FUGNu6+S9pY74nhm5shBdgYSvhK6TQfq4Mf48x7UiZLk4b\naCQ0y4rnbKTFYGoqHflKuHsk3jAiiX7PFEyMxDH/BPQP2urj6ijRaKb3eV9M\nyt9AUzT/gmgHHiJjB72Dvsx8VGz9iD5FjrQz8DWLhTRp10ndFEny1Dq7k+Ik\n5z57f5oDRp1+Z1HUA5CD00/lsPUGoRvjTZDh2gCqYo2Eis0DFXw9vvdS6PeV\n2zPtGp0WXdNauzfXLgKEpT8F5NqYDA3g8ZqoEIZVpxpnwXq9FjE+Cng/26QG\n4OH2GR19DbxtvPNi5LvYN8saIxqRUoiyTPDSdKe7/s62qbIw5ACoHjisql8b\nbvpk\r\n=ghr/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBuxTp5OFrYqRt3wuxMaeBi3u9ClCla8hsI5n4/efriOAiAzN1HU7bNbAskGVd8kX/jT/SH8r0bZGpTM4swNk/cVXA=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.4.15_1541622699987_0.4253260523041733"},"_hasShrinkwrap":false},"0.5.0":{"name":"fork-ts-checker-webpack-plugin","version":"0.5.0","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"5f5d967e07c7da0e860b6854857da145c33c7c0f","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.5.0","_npmVersion":"6.4.1","_nodeVersion":"8.13.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-F8Xh0YBJEi1U0EGaYkTfc7IjDgQvBazGwBkoVytvcEIBeLHcqxYtwh5FkFcQdTsKZLWHGgtSJ78C3//RhpWFGw==","shasum":"39de03c2579368806478024cbce6ac7f5346d590","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.5.0.tgz","fileCount":32,"unpackedSize":97236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9cnfCRA9TVsSAnZWagAA4f4P/i0Hn8FQ1ZdjcvtriPv1\njzWK+x1OiuHFNdakzGtBI60MqUhFtqllNGQ9Nk1xaGtXmC1nrkAJ3F3GA1Kt\n0a+kEHlagm+U3z2XIJ6yhL9Tk8b5KnrZFA3wMSy3WqlJkHXE4+aQr/X48HLn\nDpKWomVEpktaDlUcVDGlMj2q0MykPz8j1i3DDKttN/bjYP9uTh0KRAHZazQx\nuKfehuMko6Exfi1ZfnnjfQCPQZhvVQ00A45DXAxhshiCRSLvdy6b0egaUjvy\nP0Pu00kk/PJVg9qp72aHyGhPgsDvIQx+EtOuNQ/1uT8yWcv3d1s49d4vX+yK\niBmig8qWgz3QNbc1VZz04V5S+iHuBb6em/84lKC3tlVLiXtq8CvpCesNw65E\npFzqpoS8BIOP3YJkZjXujp8I535Mkjgw+pLA03L5isoBq7dSY368z1oNAowx\nvrxPDzmzSZTToj9KrninJ4rB1ISehcpZ31gPCDGP87o+FXVNr13e/dQJLTsu\nqLkj2K+8I/goZjNoj8o5BTO+4cN1lmf2ntr/mJyhskGwjwaBAz4+9rc50wv5\nFBP4Nt0JLXvEytLZ4mbPMEnzs2hWH52n8iWB/jd6/zsjXFYU9NLm+uEndj0u\n5Ah0cnq+L+B24fnhtNr7HH+WtA5i1k8XY6VeKA5FaA1rtuglax+OfQ0t2tiH\npZR/\r\n=DWuV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyIqADURBirfbDmQZO1dprNSUj5oB8z5X13XM17OFPWAiEA8vpDbQFr5Ved5sUf7pspMa110lA9C0mb2VHH2fag3yg="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.5.0_1542834655163_0.9028191753946775"},"_hasShrinkwrap":false},"0.5.1":{"name":"fork-ts-checker-webpack-plugin","version":"0.5.1","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"ca92343cdf113907376bbe710a777396f0db0dac","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.5.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-GTSUt5DN+evvos6z7Sk1t3AcjieQsqSzlvPKsD4zzywZxaiT0SH/OOErz5j1r6ReckgkXmVK3RJUGpViz8lYlw==","shasum":"d50f2c87c16c84b16f7e1b9e020b85b76a94f0f8","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.5.1.tgz","fileCount":32,"unpackedSize":97372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcD06rCRA9TVsSAnZWagAAOhsP/3+T78E0UnWrHui4Jmor\nj73QNryQiiuM6w82ixOYq0YY4bOWT5vuUVZBXADCzSbYM/SwLuil4y6FVxrL\nvmXaH39qHh5Qp7kiRaCkxxMMPqb9iZaEKPlSsEkVk2qcZ++RYxeXDvcKGQqo\nW2or4OxM5vs/W6VO9mTnc3e94zKo4sp0ffcZ6QASyFBK9NCdlkVXemVILNeo\nlQJVUdaq0Qcgqjt+zo3P+Kg8ozxi9/2wGUxmYhls/gjQal12V6qBdVzdOCEt\ndGif6ph4YbGl1vsYO0Ida05CnVYXq08QK7BiFsYKd0mM0nu5JXeQDhBo/58y\n9bNAP+WftaK4S4CaoxdEctcqEtRMD8wcd1NNUUGnarwanNqwppOrqvtRgKbE\nJZmcRQJLjOZjL4OaU0I0HR4yKnaUX46ls2ZvJu9/vRV9tsX277dbCP7nAOVK\ntDEKRwyXREzmhMEEv5vT5XuMgfLBIRc8mmDiyh8A65SUbfg+9Qre7COzS0kc\n8auXD2u1KesBZGW8IjKecVAnVGaogtgVzC6WZlOjNR7pGjB8ZiLblkKW2nv4\n8aemK3i5/k2xg8bq5C+S7i6aEgeKldSR/QO4z3T/9UOOXRiPxBSoPFMMXmvV\nOcJy8bLD6jZ5rVD4nSqECtRc/KzDcnJZ7tI55Npc1XnDCpXjri+D3PwvD886\n/1Yl\r\n=vz7T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCP1cDvWvcg0FLtmHB/3PJdG6aMULdmEgtAySCEfgcH0QIhAJPA/sVafKPh1sesTGilLEasVYY30AnWhIE1dLLvO7U/"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.5.1_1544507051168_0.7423491820463386"},"_hasShrinkwrap":false},"0.5.2":{"name":"fork-ts-checker-webpack-plugin","version":"0.5.2","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"fe2a35da81dab635511891bf40857c33f874716b","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@0.5.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-a5IG+xXyKnpruI0CP/anyRLAoxWtp3lzdG6flxicANnoSzz64b12dJ7ASAVRrI2OaWwZR2JyBaMHFQqInhWhIw==","shasum":"a73b3630bd0a69409a6e4824e54c03a62fe82d8f","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.5.2.tgz","fileCount":34,"unpackedSize":98367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEtBWCRA9TVsSAnZWagAAH58QAJOIyOkAdiCAwrzEB4vu\n2H9UEt2PWRTofmpPDkFKyLb9ja4sAgifsTkCKU4lBQHeRlIKfisdHyf94YlY\nIfNhxDkBybp5RQuJ/rA/RhpUxPEeobU/onQjOuTEbKafKm+wm/CKVFL02Khu\nM0IEeCvuwyVUbQ5HmvcBbDimqXzcjlAQeOOh68sK6MF96GvuLN3t5ak1ZJyg\nuCV1ZPuTCH0ILvNpFpYkPR+rSZFMNJQE7PVO1ROwdge4zGGZmLkhhbO8/KQJ\nvNQbxW8NVt9d/kRamvnQBjTS2NQFKlvDdnyr5vCcAkmD13FfhbqlkJCAU8AY\n8sq5gvb+20LwBh4dIlmqEx6wMffQp+eejdhM7yEujk+fQE3Nqjcy9g1WIXw8\nEWaoVy+Rtwsa2TDStF/8Vx9SqJ1nsRuSPT3SYomhQIHdcTA0YeonjwgSl55e\nhtFdRFX0Wa0OqrKNe1zaqUaHoZ9blABHciugzW+xHDXSodUK/f62wcNSmXIE\nNzr+YLw7fyOZLotkfWWz1S+vHV232VYALvh/YUHQZ+gB2gDL1FOnlX6HC5xD\noT4jG7EKbuWndoTkLJGluJvuUvlLd1uTB1DpQdRjEgoEKhkbNLkiWrn9wpa/\nxJoUWP8eM46d9ENJdZw6FIsr5H1tDWnIzaMUPNhhQi6OWwHiCQVcuxesla0Q\ngBpo\r\n=QLsC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0yyoQ92JQu/RAoFriI0tZVH8T9hFhIggFYlBEmNihAAiAWKEjcCrSC8s+C0WNkLMbNY9RtTFxTGsYav9zp9qusWQ=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_0.5.2_1544736853563_0.21177752538515815"},"_hasShrinkwrap":false},"1.0.0-alpha.0":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.0","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=8.9.0"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"683ed7a9d965f4008514b49a8f6ef53bb53ecc55","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true`: \nPath to *tslint.json* file or `true`. If `true`, uses `path.resolve(compiler.options.context, './tslint.json')`. Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  It will ensure that the plugin checks for both syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```\n    new ForkTsCheckerWebpackPlugin({\n      tslint: true,\n      vue: true\n    })\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n    \"defaultSeverity\": \"error\",\n    \"extends\": [\n      \"tslint-config-standard\"\n    ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n      \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-STngbjbBunbOUe88LcC6+Y4gdaYHZHZLJHziufjtiJoGaIqoBjq9IjKVwDV3M1IkzOWeQ003t5ZLyEPQe0StvA==","shasum":"731aecee448680b4dfa15f4e4410baa8cdbde3eb","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.0.tgz","fileCount":36,"unpackedSize":98832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcH8QgCRA9TVsSAnZWagAA7v0P/A9WIGpnoCHYVsCmnlhu\nmAVFfzjJqJYasNsulVL7cXTdUvQDxV3SkDDt4lGE1AYWEFgMrjlv3BFffwTV\nYIc4YKT/SyZVkj7pjjrHAyiyQPEW/Z57fRKW5G3eV8SpwtGW3wRUpoPU3vcV\nnawNb7qKNsXpXOq8ekPdgBmUxD6x0ImkzXbqvpm21LhGiqh0W5ZAnul3x7Hg\naxWw7o/Y9l94MYc16l70rjZ0H5P0uNhRlXrNfHKAmYm8bS6J7lz5NfQSglRI\nTEcB7QGTxhPI2NNqgK36rTbjHNDBbnS777ZW5tdLibhq3QoVPHNGf/BK4GmI\nmlNTuRCSkqnc70HxoQRAQM78ZyytC1Bw9vOYdkZvk5RsaEQCMkjzrz4b2HKN\nsPDNPUfN8eL6NvRDkCAF6RnezfEKAlU2jpQeejiO9UuAGf/oQUy0mDJIbmcf\n/wWNRL8gNNIYsQLhFfuaTtp3wuMKhVA/VXEC06jA5TDdhmREOJ869MoJJmmQ\nQ9EfDxth4hmgz5PPL6cxbKRqP+0rMA+Mv1ZFvmM3EP5MGPSk/tjuxjmjxexS\nxpzVwsfzRA0vbt64eufzhMZiyefLpy51e+qUJDBPjmKFkA1gE8Tmct63IPre\nNhtP2JHtHhPaoMhz3n90vWauvhIcMJzvyPeyL+kU8i9/ElCapgcxiZ5yrjZX\n7MwJ\r\n=MLfP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9fYMLJSsJ2CDTSL3Om9za//SEkCX4ZEDsVxMvM+04EgIgOJVZ3Lyk6a37xl4r0TlQLdfG4qc6q7qD+SFciYif5bI="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.0_1545585695375_0.7893881528498126"},"_hasShrinkwrap":false},"1.0.0-alpha.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.1","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=8.9.0"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.0"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"51981e79106a771b5f05eddec42c06eb13529523","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true`: \nPath to *tslint.json* file or `true`. If `true`, uses `path.resolve(compiler.options.context, './tslint.json')`. Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  It will ensure that the plugin checks for both syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```\n    new ForkTsCheckerWebpackPlugin({\n      tslint: true,\n      vue: true\n    })\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n    \"defaultSeverity\": \"error\",\n    \"extends\": [\n      \"tslint-config-standard\"\n    ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n      \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-0hj3QiEurHFt+k55B7rOnKf0jgMyu3PJH1QhvWMuW+1QHL/lYQkZ7ryuvaCt9M4bL4bpp+1Xpvh93P+osIOzPA==","shasum":"f0c036fff08d801a5c80eedd21d742c08ac29131","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.1.tgz","fileCount":36,"unpackedSize":98824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcIJNKCRA9TVsSAnZWagAAUe0P/0e5j+bgPwfKBZ9hdiED\nVMWNNNo85bRDj/oz6oNHeJx5dqfVH+xRfDd9nHNkiaiY/t/gfKHUoipDgw0X\nndV52cjntxJq8HAkPiMOxKmcFxZfzRPbJJc1zZO8rhKPPXIlx1TViZmqwpG3\ns6ShqAtSijrIHuyI8I8kEJ/7OhuMBNBEkzWoRhPKl9eGpO5UmlDwiWaj6zUs\nER0/D2ddLteOArlIJXtbmJeQXNf65dymF3SRx8rJEuw70ukgJjRI0SP/HLVr\nBkbkPC2OQiTSN/H7ywnH8k6watJb+MfGEVT7umau+/cP8LN96BRU0dRGeGRo\n68/SfufzCZs8XvvxZWni56iQcGpig46N2WsYcpZP799mTCfd1iGgfq6ygFyr\nS7ZWwWZgs/7YRjvDEbGgLPy4+0xsYDW/asvkLiSxOvQuHTO0plgXwpH9rLS5\nYLJUejn7QQxnWzDsxWSjkhVyQXinXWC18IsfrsB7xqLVzPF9MGv0+SXTKLCq\n4Sq0DlLOVWi2ZnTVy6E5HNh/lZ87FKxC3Wp5MhVVrdJCsT/JYWrWr5WeVdki\n7iM7PDo7ew4U7WbjG/wkm9iQlPMlfNy6bvuC8m5XMSM/RMuHGDpHEj1YZN+b\nSM6NHmNtaMmh9RTr+aijpZRthvtzothVEV+yBBSiar/TNRO1udbRfoyLRWpi\n3Wkx\r\n=Bwud\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIprt+fdfwCn7j7xgKsohHM63qGTiTWYe3rG1SZqHSkAiEAmm5cSXX8hBm72v5wXljYs43ZtleRBRT0RB+I7/5rWaA="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.1_1545638729997_0.6580122132641186"},"_hasShrinkwrap":false},"1.0.0-alpha.2":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.2","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=8.9.0"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"peerDependencies":{"tslint":"^4.0.0 || ^5.0.0","typescript":"^2.1.0 || ^3.0.0","webpack":"^2.3.0 || ^3.0.0 || ^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"3a312ea049c2edeb04debea9ff7dc82d22958cba","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true`: \nPath to *tslint.json* file or `true`. If `true`, uses `path.resolve(compiler.options.context, './tslint.json')`. Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. \n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```\n    new ForkTsCheckerWebpackPlugin({\n      tslint: true,\n      vue: true\n    })\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n    \"defaultSeverity\": \"error\",\n    \"extends\": [\n      \"tslint-config-standard\"\n    ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n      \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.2","_npmVersion":"6.4.1","_nodeVersion":"8.15.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-/mVTPffiVF0rZLij6IcSAVOLB0OpfLCxvhhWXapmHsOz3lWbAcXeFC4GPUYhFVu+AkYMkW1wpk4e1XpVUqrb8Q==","shasum":"a452c53092fe1ab359e64d52bf3bba38b9c0e5b5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.2.tgz","fileCount":64,"unpackedSize":192958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOwvnCRA9TVsSAnZWagAAEYMP/jEKFPg3X2u1tuF4CUQi\nHU5Y4fVldWv48/oVv0Xd2+cMq8M1jWLWz7YQzDckLyowEBMIX/TdehDs9EZn\nZ7UVajCqDLkyWcmzwSW684IAd61WOBLl2tBG+TpJ366JraWip2ssF4CajTBs\nj66VlX0gPgxYzR/xNc2kJTw/Nc9eEg8xonlVbDdf5PtUkQIQZeK9MGMF0XG2\nhy4I/gTFT4OPaRR9FcpYRNnifxj47Tww1nPGzAWeKxj/UM44/EQGCmP/lCEp\n2+d4Sdoo5M1N5VMn5rboaM9DlqJyVO0IcuGRQBRQbS9hFo45DE781sR/61lj\nmF8/SlXY7TBIxoF8gywxDygE2HKYgpWta2GdZKTPFw+dvC0et/OgCKDHpHQG\nRXd1YOMjjyJdqwdMqCPI/1XNFLC+UAeSDf/L+MBfrf52w7O2+UIhyIfFvh7f\nCjrav2ow0Jr7wTeCudb6dU61fXGDsW7ovjkVSgBbqO1MSnf/8HCuY8ikTXaG\nkcYnf+2gPybHL3kVLKSQoT4OuO7cQwVsPtVGWS4EH7LmPetPTvbssVmnmDj2\nKxs31jLe8bz5EsBAEW1zAwqFmmJShmKy4WXhGcuNHgXdJ6ymWIFL8IyRmF1K\nOmyPYLdunHNWUK0w+BI93Y4e4Jn3dZx/laXcvrFPYPhk+BBcgAdByNacNWmx\niVTy\r\n=CTT7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDck3vmnF59fokFaEF7OjNdeDRPGXeBujoxCQRQ/ihjiAIhAIYXIj6sfE27w1jK5AxjTFtk2KgwxCoFP2m5Hwcal/3l"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.2_1547373540212_0.523205952131534"},"_hasShrinkwrap":false},"1.0.0-alpha.3":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.3","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=8.9.0"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"e66e912183d4ef5d57ed262b76ceb788ba245399","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true`: \nPath to *tslint.json* file or `true`. If `true`, uses `path.resolve(compiler.options.context, './tslint.json')`. Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. \n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```\n    new ForkTsCheckerWebpackPlugin({\n      tslint: true,\n      vue: true\n    })\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n    \"defaultSeverity\": \"error\",\n    \"extends\": [\n      \"tslint-config-standard\"\n    ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n      \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-wQYA7e4UXM6m+fxWNad7Kl8d+eRSWoQbotCDquCEdk0kV0aX4EQDJoUdchLK/GymfhsuvPmnD6b4khANskvsrQ==","shasum":"24c56f480f52577a6483f2c27ec46a15e8d42678","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.3.tgz","fileCount":64,"unpackedSize":193916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPmXiCRA9TVsSAnZWagAAqAEP/3D2fSvNZw7e3oPAiMrb\nsRFwMqOL/DHGvTBb+ii6rLuLT9xOas71QlMI3qabAP5uNxsp9OCAzS5IYYrJ\ngPEv/8XlHaCtqYAYFlzQoKixKmE1YusCR57rpww6OLQeJS9D+c4sV9lpJJ9o\n6ixO2Fac/LZEscjOcSLqWiWlM7Djd33cRl/JG2SPTo0VOW2bydhzNC4b1sDw\n1WoqU6UcnKU8iVQHuE3BY5r5oh9kFOdZlFAMeVrF6X4Uda6lgxgxyFSaU9OD\nBCD56iou98MPNpDN+1VZmyN/nsphr3IlO9oWzOZnyb7bvdY3QjzQQEHrIHXG\nnJsH7C6eRYiBNKtb2YnDbqijop9FNALPjfxLrfaIxmOkIYgEK99wPcQ1v6tp\npQBEcdZ9E1y/d3Typ0CwZtNLogiB04TyVuF19ZGyZcAuOjQ8XzsmyIaIASs9\nfTtP5o1syFQVz3ZW5+7I7PCcD7Rl0fSEuGiplF+tCKlfDgV5f0erMOVfHjlP\ngMzZJqCzdc66ZGCuqluRu/+9m7oU3jgRNQ5KkWledLLmbflnMg1lobMq6d0j\nWbZKz5ZR5xZhSzyqsuFV0gHPOQoSduFTJ8xNIj/4RQyK2FrxwL6ugnKLVSoJ\nkHKXLOsrJEnYdxS1Mbs4F9BgRGKp0TR1/ONRcF4AWQp5UaunLpdLWtZGh881\nzL/s\r\n=8W2X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDoUPX3Uyjz2oin5JIxSFMk1+83epjgoVqdai7JvVIorAiEA2kOaEqc4pmczh1E54g48YQfJTUI3P9Pfa+9PgwdXdvg="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.3_1547593185348_0.7201702744003782"},"_hasShrinkwrap":false},"1.0.0-alpha.4":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.4","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"bb8dbf85e2a07e431fd37521f8e18f32f5f1102c","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true`: \nPath to *tslint.json* file or `true`. If `true`, uses `path.resolve(compiler.options.context, './tslint.json')`. Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. \n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```\n    new ForkTsCheckerWebpackPlugin({\n      tslint: true,\n      vue: true\n    })\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n    \"defaultSeverity\": \"error\",\n    \"extends\": [\n      \"tslint-config-standard\"\n    ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n      \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-DDGceXYHUu9Hyqa5/E24WocGsc6vReqxGOt6jpdmmgwMxmM6MVXEsHP2ApgOYeKTzjFtJAVkbE4rmz8WNPSShA==","shasum":"ee969b0c3790dbd8e92e885e1c6ba7f5dc7302a9","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.4.tgz","fileCount":64,"unpackedSize":194268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQkpLCRA9TVsSAnZWagAARMgP/2FtqsvA8PbAjARvz8z+\noaepYBFqCCygPjpWSnuc4cC61jpQBTpJuCqI+NhKXVOOAEW1r/uK7ZO84x9b\nFid8QzyjWDIyi2gLJ9zGME/5godMVQE50JSUprrs77BwvUV3E0sP1+L46wE5\niwORAknnwZ3Pk9Vb2iiGmgjw69ty+g1K3jBPOBXzUcAgi7kV2e/98YE298xA\njRfXsvnkg4kw4vMIrC1KxHqLICluQWtjF2JkgKBy+N/H9AUMiUoRe1wyr/sL\nV+uNPR/tpRMOVDZSamGTzSXXCSxr8i/GdHc7a9/mAjEEDmbmk2P2201u1/2E\npnSbpSermceuNP+M5t7Us3WPAEuudMk/kv0HcGxbf9P+uVKbQklgMv0xby5c\ne/TL0BeTQB9LkRbVHlcA0Ft/Mc8TrAwDAKCzJ7LhYt04uADjC+DkkS8/Z2EP\nVupfNF4SXSA6VKzxlsQpAvcEPueS4GEqCtju1s7fPgEf3MmPkwhE9Xt/Kp5B\ngx239g8uPloIxm2R5WdzxVbgOe0s9ZNB1C9frP5m7H9NbVV5gNc/ijoFh8w5\nNLLZzuHL0T7omZIONnJveYdG59i/hnWoe7yYB7NgINdj0Om8NY+GrJdRs9c8\nQVZbXLErPRx/9siYemAxgH6RBTjL9JDi7pjOn8l8uISs8EVHf8FKoFqfzLVw\nTQzP\r\n=0sHh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMi/C4Uw1aKWCAqdJIQYLtXd/KrdfQTtQA9ZccinLrMgIhAMezMxOD7/pmhbPS9B3TkEFHdeiQpRBjoTUlwwIyyLK7"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.4_1547848265619_0.31741629411670735"},"_hasShrinkwrap":false},"1.0.0-alpha.5":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.5","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"4537c161e26a4961663236e208644ddd3d84a9ca","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true`: \nPath to *tslint.json* file or `true`. If `true`, uses `path.resolve(compiler.options.context, './tslint.json')`. Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. \n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n* **typescript** `string`:\nIf supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```\n    new ForkTsCheckerWebpackPlugin({\n      tslint: true,\n      vue: true\n    })\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n    \"defaultSeverity\": \"error\",\n    \"extends\": [\n      \"tslint-config-standard\"\n    ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n      \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.5","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-W7iKHUzHIuHMBirIsp8FItWUN7eXyMqpDFGX4EwUf+mSeIl2SmP/7x+esxmlIZv/mcvmznkkgLRCSNgUU8ePYg==","shasum":"03f06b9a319834285dcbe7227fc7563d13bc84b3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.5.tgz","fileCount":64,"unpackedSize":197438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQ4guCRA9TVsSAnZWagAAE/AP+wcwoiURPLEDhrg3mtZX\n3FP9N/BGK22esoQ/Gjs+YS7JNqsrtB+VqqXQCqEVGf5dzeJqkwhAAcLAApkm\n6Sebq2Uj1KMgnLBPhfYlNGsTQzex84CuG6Ntso3mw83zJ1wIcwNuq7Jqimrm\n2cDKiEvu77f8kDZG85t5ihIV4L1tGa3JOINn0jwmIA3zEjbxwykrzK/MX8LT\ndi7Sr42zNZVHVOOfcR2xyAS8jC0yNeprYYn7jbBy8CeFUy2SyAhhJMo+ceLM\nErXux4VIUINOllZdE57+jWnexoXv/rgyQAc6rCqw3H7cGaI5nx9mOOPvpGGc\n347XuFRTgqkReGGLDpCG7mnugtjhDsmJ4otf/ThcciHb66XhJCKv2mAgsT3H\n/1t8Kj8GRmYP/zMQoggsqHqDpKNgR1YPHc+nzBHQq/8acT7RUHT//EkbECjj\njnTKUNMdcxpr1jMlZxnEbAE7vcE8jzRaoFDJQd6q7b9lAgiImHf5SHGgyE5T\nFeg/zf5JXAn5x41LhlNL/CtLZAX22sF8PKkTbzlsb1N893V/xS1KxFKQxuHb\nr/8TwS/pNDl4jpz2I5ZnWfr/ESUPHtzJ7ia9RZ+vpLssfzR0xH3V8HWrCUR2\nQTzuFGoNYE9ppGUN8DF6GPZJsebrVANBTJ1WyciFrTBH7HckOS3aE/cWyz6q\nohG9\r\n=KLrK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMxjqOMHTpFVnHhxgoBFD1I+sXREri9snfBdlV4GNESwIgSsfwxlMNv3MKvULWNy2aN3jqeBOa45IpBuQdEXQgR80="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.5_1547929645383_0.9683544310732055"},"_hasShrinkwrap":false},"1.0.0-alpha.6":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.6","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"f0457dd6394a14f8cd9a8b48a748a61e20982d70","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true`: \nPath to *tslint.json* file or `true`. If `true`, uses `path.resolve(compiler.options.context, './tslint.json')`. Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. \n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n* **typescript** `string`:\nIf supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```\n    new ForkTsCheckerWebpackPlugin({\n      tslint: true,\n      vue: true\n    })\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n    \"defaultSeverity\": \"error\",\n    \"extends\": [\n      \"tslint-config-standard\"\n    ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n      \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.6","_npmVersion":"6.4.1","_nodeVersion":"8.15.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-s/V+58nLrUjuXyzYk8AL11XG8bxIirTbafDLMn26sL59HQx8QvvsRTqOkhq4MV0coIkog1jZuH/E9Abm8zFZ2g==","shasum":"826c57048addf8a3253853615c84f3ff7beeaf45","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.6.tgz","fileCount":67,"unpackedSize":200829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRZ1ACRA9TVsSAnZWagAAOfkP/14jIUXpLpXX7ia6aj3g\nMGQ3Lxzr0CPHl4bJDnBvTPV4bxKaFcoUwMw9g1e40OwgjzZgyVu9CydwNxz5\n3Nk8GWdeWKx0ZwcUjqGKECnx1+uqig7NJQb3LXfgNRNwElEnVqGxwNJMzEYi\nu43lpVUPGsDjm5KWGW5ngmN93BZNT7Re2FPdCRNH6FAtijQcE1Smm+4dUzJh\n39KcbNm5iyAbr+M56+UwjgX0fMY+pBaWK+qAIRg7qL3jFJUbsUkvlHnQ+GCP\nH3E3sl43kAHbF42YMDPtHRJKeR1mnnSuAGPfiGGS8Yl8k5/cCVGdmuozujPc\nWCvCNlzeKNNdU//FCZ5ev1JB53B4eYEuxKskn3upwgo0Zbt9L9dJorrUQ3Yn\nVvQgnsU2qPiHQ6REY23U24hYfjV0iGvV0QA28jVHRd1D9o+lcUa0F+9ZGMJG\n9CSpKTl0qqK94nIKnxtQToPnCelDVPYyEt6bm+KUaPa4UYAjfC1FTGxDNMbN\ngJkQEadU07vZmfeAEvRSEUsNTxfUIotmAQOKSDtrUgLKFxEiLcC0ozpVLyso\n11fgG1byhlg7rf7lO6Zh9geaj2+pSw+lJ0YURr7DtE82wr65If22VGb7h/XC\nTC7xu7SuNGWDylSyQ58/6x6ywsupudt0Bzep2NWkveMn49LMiWxkSz6p3Ny7\nBDKr\r\n=rIaM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCP0oA3Mm7q8DKwJAKQJMewPH35dO0DiZaXstO+LF+9nQIgauCFS7fUaDx2xvoNZF3yjxdy486kmgxyooeHpeAGr2s="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.6_1548066111691_0.06026274123143782"},"_hasShrinkwrap":false},"1.0.0-alpha.7":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.7","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"903d1de0fb7a5dc859bbfab2a1ec825bc24250a3","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true`: \nPath to *tslint.json* file or `true`. If `true`, uses `path.resolve(compiler.options.context, './tslint.json')`. Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **ignoreLintWarnings** `boolean`:\nIf true, will ignore all lint warnings.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. \n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n* **typescript** `string`:\nIf supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n})\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\n    \"tslint-config-standard\"\n  ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.7","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-glZKOMamE8ZOU4cj+vvTQwSrkT3Zzxt0TA+JWyV0es3o02v1udszNvrdRfIptA6Fi86oEePFZLy8b8Y7cIZHJQ==","shasum":"17f5e4d8648ad1689ce1bdd973b53be621b1ae10","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.7.tgz","fileCount":67,"unpackedSize":201660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbPwpCRA9TVsSAnZWagAA038P/01dJS3HcuziO+X9WXBU\nRISkHtoXWVFAJzWSFHVp1UP7dS3J3OIepHQJsklkkhCDlJi5JBTJy5ndRscX\nHzcooF3Gdvhdtb0hAjEoNV+L5w4XOpGpD9xNEy9HnatZ/huSJKc3gXgUlK40\nkQgCWIn7JE4YkHnKUSUYafEasMv2Wgs0JcFQ7O111/26koyhXHCReO/mefTU\nX00aMB8mAKB96pqUjc8EXBSHiF82CD/jFOQchDgHWZ8pA3c7aK92ZFkfLLKP\n1na7gITs1M9jbOciqmpimA83T+QiyO7aAsQauz/Ji6oPcat3xdtlzR6wccWb\n0d6M/ltgtij7+jqZodOfiETT0K+A8bh7HGMY9ojQ3vN1gmW7ybz28Pcm647i\n2o1VI3J4I99gLqerNX9/M0w06U05LSQ8xNQG6SqOafLJ+aZHtF92Tcehe0RF\njaY23UDS7cd1HZlB5cLoz6StAT4hXl2fBA4wv4LF0JSk2cMC3OHioJDDePz9\nYlnIp15t8lmUTcvtawjcahLH8SRI061e1mWno4MPtKMhGAOihpe6/WsSau5m\nI2xYYaHHXMOqGLL7N2F2KfHvFunyAyum4dzZojzB1Hy/PF2QoCn6SQsT+Xu+\ndmxOoZAj6NNVuhiqDVwWdPmpHwuJIFOuE5vGNqakphKapulO7NaUZXzTuzWd\nkQ5F\r\n=d7sA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC836i5Aa83VEqFVV3iZa0ZByQHwvj1y2IuzgnKo/O4cwIgQIf6NaMh6//C+oJlfL1meYpSTslsog7n5yDkATy0zuM="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.7_1550646311869_0.570354389070787"},"_hasShrinkwrap":false},"1.0.0-alpha.8":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.8","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"03c612ed742e6e6002c32cce2ddfef5bdba7b220","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true | undefined`: \n  - If `string`, path to *tslint.json* file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n  \n  Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **ignoreLintWarnings** `boolean`:\nIf true, will ignore all lint warnings.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. \n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n* **typescript** `string`:\nIf supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n})\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\n    \"tslint-config-standard\"\n  ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.8","_npmVersion":"6.4.1","_nodeVersion":"8.15.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-UTiFaQVU+RUR6xnIMzhhxKpFa6nsIT/ep/HGo9evyyazjR5wNb3xGLZsVrHAolT+ClBv1Ds/9/WrOlIpvrDwVA==","shasum":"b1ec9a8da6d62abb70f5d95a861aea8064ddfaa9","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.8.tgz","fileCount":70,"unpackedSize":207021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccU0ACRA9TVsSAnZWagAAyJAP/0gOLMz3vuC5k5wP773d\ngeS2ovZsnxWHvXOeaXINvPtdRSg6A97/9i9Gj0RBccIWHWsxL8zpY6ql5cg2\ndkCyKmIS2iUbHNK2QtB+lzYKBS1cajPFGzgOcqhRJ2bMByHApgX4DlIW+U3n\n5v0v5TWcHKUM9fCMFYCrEQfFutHrDUz1J0Bcao14QM+R9Yx+vFMkEP18lMeq\nzoLoXm9Fjb9LT1J7Awr7nR/Q/+qb/x9HgAq9V0/ccXHeQwEdyGNyFcun+b2q\nmKZ+qNSHzRnDBbdwI5WkE9kErI8zSS7ZakLQjS/ZmtBvYnEw5qKM26NxiB/t\nZJ1fZ1Xj1Ez+88iz1/CPoHjqpDEIvOjz6yzeXQ8B/Xq3Hdjnz1x4xh+AHhfW\nR7RaBzKKIUAKttxjGuqy6o/yp8iYnwXoOIGZshPObzF90Ef+9CA55jLd2t10\nSmHhPDwwHFebWTW+a2SqwuH/fBTKSXm/T5azumLgthR0J9JvunmRX6Sy9FQv\nr2JRQe5vU0N56tCeqKmYYJbfCoxl6TYCbTM4U6xcNepbprXQ7yC9tACgE9yz\nFkSHvJh6vJtRW7yAuwUl/7+3t7ibngbrbRHT4x9Gvcc+CBRp73GLNEMSC2gS\nswJRjl5M1C65H/zx6//wmjnfezz+Ruui8O1Rc2KF0z0HCQLMqXP/ikcS68m/\nbMDL\r\n=yL/x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEPC541mTLXw37Fi4mb1hRi2pb9gCH7G7MoVnC+W2C1iAiBGAx8gUmrn0gjzpkMaEE0KxQ+DWBBRhm9Tjn0lNYonaw=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.8_1550929152256_0.7407574054914801"},"_hasShrinkwrap":false},"1.0.0-alpha.9":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.9","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"547d0871955f13db62338f0ff712efb178c5c475","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true | undefined`: \n  - If `string`, path to *tslint.json* file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n  \n  Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **ignoreLintWarnings** `boolean`:\nIf true, will ignore all lint warnings.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with typescript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n* **typescript** `string`:\nIf supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n})\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\n    \"tslint-config-standard\"\n  ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.9","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-LqZW+xxQs5N4wsxWseYvIZ6Z+pIJPh9wNCNRKn8S5v0uWWIfB+wps2U1f10IOmWK1leouJUrc7/qDZ/sRecaSA==","shasum":"71fcfd706454ea51cbbc3736cf4de222eb33e33b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.9.tgz","fileCount":70,"unpackedSize":207527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdOaXCRA9TVsSAnZWagAA5LkQAIQbyJ7XhGXBT3Rgu9HO\nh4nbvhNRaxoqfo6S6s2llbfMPuw8Znkh8E9/3NEzCEZPIVP+N1a+SPnsZHkI\n581aERMGms/qjyq/bA5N622D66T2fCJwzCUWnuxz1+l6ovY7++YSZBYrkyMU\nOrYOweWuRl6YVRdG2lJ8zPCLoI1guLCnMCQPqVVCDHxrqUZE939I6WEfNSLa\nfpLKbQSAM05ZKxos9tIPL7RCrpGkmivmDPT4elWHRExZimZXfbraNr3UUr5I\nZKI65BsOI3HDEhyDkTXFhz30Qc40WR9ZH1Zm6K3bvuaZLCWjFPpayueU28Id\nNjEIFdE1oR82hI205FZax3qCG+o/WMGbrLb2mADGUmyu2h8ziq68sSZc52W2\nMAEHURvgdkHZbHjqhK7CXXO7QMXWddLdpCCeCj7U6mcp9qTcQQLtbPP7WN7B\nNndIg9RcXGTSHNN+iu1+yglEqNQgWzv+a1lYyjVT4s0Jz7VRJqCBKqW+pNQT\nDTIMNFa/YhxZTH9WH+W4fsvz9vyDaZwptVrwCAzqAGjchFI3XUuvCOsiZGbw\nqqBe3Kx06v+awxCrK0SnguisvVU2CvFeyHhD+yPwu2FiKyWJosq+VhHSHDJy\n0/aSqTFXFbimcuk+jL1/jsIXCvLq04lBeBjckHKv2mFBJZzixAAKg2ILfp88\n3+3b\r\n=pf8Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgyFiRUxH0YpNHzIHIwNtAQv4RTEoQdwpgDcaj2xPHBAIhAJ96prQrmezR5Jl18UoRm5/2bkjS/FASl+2xZBJRHYa/"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.9_1551165078755_0.11112207176448652"},"_hasShrinkwrap":false},"1.0.0-alpha.10":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0-alpha.10","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"2dad93610c499bde22d03aad11951af4d2a80d69","readme":"# Fork TS Checker Webpack Plugin\n[![Npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg?style=flat-square)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![Build Status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n\nWebpack plugin that runs typescript type checker on a separate process.\n \n## Installation\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true \n        }\n      }\n    ]\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin()\n  ]\n};\n```\n\n## Motivation\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares \nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not \n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example \nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because \nof performance. The goal of this plugin is to be *as fast as possible*. With typescript's module resolution we don't have to wait for webpack \nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or \n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file. \nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n* **tsconfig** `string`:\nPath to *tsconfig.json* file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n* **compilerOptions** `object`:\nAllows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n* **tslint** `string | true | undefined`: \n  - If `string`, path to *tslint.json* file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n  \n  Default: `undefined`.\n\n* **tslintAutoFix** `boolean `:\nPasses on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n* **watch** `string | string[]`: \nDirectories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n* **async** `boolean`:\nTrue by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\nWe recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n* **ignoreDiagnostics** `number[]`:\nList of typescript diagnostic codes to ignore.\n\n* **ignoreLints** `string[]`: \nList of tslint rule names to ignore.\n\n* **ignoreLintWarnings** `boolean`:\nIf true, will ignore all lint warnings.\n\n* **reportFiles** `string[]`: \nOnly report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`.\n\n```js\n  // in webpack.config.js\n  new ForkTsCheckerWebpackPlugin({ reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts'] })\n```\n\n* **colors** `boolean`:\nIf `false`, disables built-in colors in logger messages. Default: `true`.\n\n* **logger** `object`:\nLogger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n* **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\nFormatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n(see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n* **formatterOptions** `object`:\nOptions passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n* **silent** `boolean`:\nIf `true`, logger will not be used. Default: `false`.\n\n* **checkSyntacticErrors** `boolean`: \nThis option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds.  If `true` it will ensure that the plugin checks for *both* syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`).  By default the plugin only checks for semantic errors.  This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n* **memoryLimit** `number`: \nMemory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n* **workers** `number`:\nYou can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you \nshould keep free 1 core for *build* and 1 core for a *system* *(for example system with 4 CPUs should use max 2 workers)*. Second thing -\nnode doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\nnumber **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n* **vue** `boolean`:\nIf `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the \n[Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n* **useTypescriptIncrementalApi** `boolean`:\nIf true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1 \nworker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation \nmay be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with typescript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n* **measureCompilationTime** `boolean`:\nIf true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\nespecially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n* **typescript** `string`:\nIf supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n### Pre-computed consts:      \n  * `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n  * `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n  * `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n  * `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`.  It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name | Description | Params |\n|------------|-------------|--------|\n|`fork-ts-checker-cancel`| Cancellation has been requested | `cancellationToken` |\n|`fork-ts-checker-waiting`| Waiting for results | `hasTsLint` |\n|`fork-ts-checker-service-before-start`| Async plugin that can be used for delaying `fork-ts-checker-service-start` | - |\n|`fork-ts-checker-service-start`| Service will be started | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n|`fork-ts-checker-service-start-error` | Cannot start service | `error` |\n|`fork-ts-checker-service-out-of-memory`| Service is out of memory | - |\n|`fork-ts-checker-receive`| Plugin receives diagnostics and lints from service | `diagnostics`, `lints` | \n|`fork-ts-checker-emit`| Service will add errors and warnings to webpack compilation ('build' mode) | `diagnostics`, `lints`, `elapsed` |\n|`fork-ts-checker-done`| Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed` |\n\n## Vue\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n})\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\nto `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below): \n\n```html\n<script lang=\"ts\">\nimport Hello from '@/components/hello.vue'\n\n// ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:  \n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:  \n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\n    \"tslint-config-standard\"\n  ]\n}\n```\n5. Ensure your `tsconfig.json` includes .vue files:  \n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:  \n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0-alpha.10","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-YAt5ZoG/V8VtFbyx9yJTW4Fsp7PnnOJ6eRnvQwIhQIAuo0E4STzrDi62LML4uSRh0KQ45aSDlXfcF+eSpFrmGg==","shasum":"c59b8879b861e41404040b3488fe9a5944c2e2f5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0-alpha.10.tgz","fileCount":70,"unpackedSize":207700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfOp/CRA9TVsSAnZWagAAR/AP/jhDnH2T4z5OXvL9SE+a\nqbu+KqS12m4NXjj9pMdCNDNdsSbq6VafatezxNPSQTMhunKtI1RowHBXm6p2\nLpW3w0I931e9KBPWa4S12UH8k2ICO7zLjN+xdnie0a9RvzFBNUwIfpx8LATG\nCWDJU0viCxt1Zo2fQgw4dO3IdSkbCCu1D+mYbY78zH+EC3LcBZz3rYBKHxqe\nJTGmHXgS+5s/nXO7Gv/Cgd0q4/UBecQVzJNyNZbQkOlnG7EGrNbu4kKpRBT4\n3RYZMk/rLNRt+DDq2PR83/CIXHUOVnmTqPzBKVEj3aEUlJbtFYZvRVInSy7e\not433EIUVrAoMxWktRaOP/TU0fD0NEGKnagyT0YnZtKide4Ju9owovBmqFld\nFMiRgzgXEH3DSBnxWeLd/AggiU/F5RjNayXPWcvNA4EPxro1REWOgm3pEuG0\nbUw56XYjT1LOjjykA0BEN5hEJunM3FJmSLEfTGMGpq4WZQMsKCjMc6szJudL\nqCGt22qIw0FTp8879C3CD9H6mQmOR0ZirDHAD50mg8XRw001AfX30U73XI0A\nExHm96WehsR9cBIyS9u0yvcpoGrI3IEp1yrmn7edGf3Dh8+PLzQl/c5SyfMZ\nTaNNdstytzCg5+Dk/W+pIsMQw1NOlVWGKQA7PrfXzvy0pFjgzPsusw63TS75\nybQH\r\n=Z+sP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEqpaMJZCbLEtVm/jnbJcqBcgAwKeXz+9qbdjTMabZ9gIgUFOE21H3W5TNIvwoxX93CA/CbMSaXynUrlkZvNEstgQ="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0-alpha.10_1551690366794_0.03406687160554722"},"_hasShrinkwrap":false},"1.0.0":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.0","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"2c03b7e45a9fc023efa3053403cc05ecff9146c0","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.15.1","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-Kc7LI0OlnWB0FRbDQO+nnDCfZr+LhFSJIP8kZppDXvuXI/opeMg3IrlMedBX/EGgOUK0ma5Hafgkdp3DuxgYdg==","shasum":"0f9ff0219f9b6f1a1b10fa25d7cc5015e60c997a","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0.tgz","fileCount":70,"unpackedSize":208813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgEcQCRA9TVsSAnZWagAAF/0P/2pKAo68+B7KlE0XjrrG\nQoU47bMUm6KOyIjP5xtJweq5Jy0QJ6KDdwhtMzoUctUoYEfIVdluuVdhpuPh\nY02OqWaugxt1R6DLekTkDN3YoswFpmH7hnZLhk4OJ1deFxm1BRzMTUgDgfCm\nlsig/+flLE0iCRlnN4Pxn26cZp7tjrJoUkgFHYdaVsNfJ5MOBdse8tOcl/4F\nw8IAog2vwKBEFchZJB5IDBFySbsTlYqNlZvI8GtjeFP+QWcNonTqqt4MqFZY\nsFlX1BkCOekv4V1hE+2Zuu4WcWdLDkpCTE3GM3yV/WFoZaO0rKIKQzD4uvM/\njqZkR/K4ebj/0hpI7S0/AUmDT/KElP8cteQ5cJbXYZ7L6WVp4h+7bSpEBL9k\nyLNnXtMGpOnJ51U6ZlROacG80TjiBDCHQ1QzoUJWhnN02KtZHhSay0beUQBl\nMx7NWxcWi1db7UeQxzw7IdBVd49OmoZVWECtGweTbwjjePibfaud9UB/NRzl\nJZUocq/7yA/zAR9CN0Ej6zkM3RQr0C+Mrh3COAJ93V2MXFKCc170EG8wFMEj\nVDocneBSoC5tJIVBCQEpLmmIEjVyxmPhUX5eTHTxQmjiDWviQJ0A85oIMGSj\nsRv0440DDsbXD15RTrk72/vU1/9Srih4fNeZqhj+cm470EDfbMgrkeJo8zSr\ndPn5\r\n=rN+E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDLfa/aWqFIHDsF5qRbm3Q0xQHmxV6VjnXPcmyyVzZNzAiEA+9BRprmkvbgIrBatsWiy8Hya7iEiuJQbVzU466VBqU8="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.0_1551910671148_0.7286049680213305"},"_hasShrinkwrap":false},"1.0.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.1","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"06f565d2b803c6fa2070a59b80fc2ce2660ce30d","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.15.1","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-RrVxSiNtngsFDLQpP2QlrVaJK1zqRdwhtwslmDUWQTg3t3GW8QN7D3EpW/EAI+oqTqL0dGvLyluyYQ/eIrIHvQ==","shasum":"140453c4dc3dc35937034b7416b66a3bacfbc3a8","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.1.tgz","fileCount":70,"unpackedSize":209073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcm7GPCRA9TVsSAnZWagAA+voP/jy3HUAmpnrCHtnbf+XB\n2hJHv9ZF6YiOiyz/jP9PUTs9yurqIWfobV0SQ/VrRUGeuNFRxceuo0yHSfNL\nVyuvb4cJeP52h3laP6E7jSCEp4SrCgWVLQyvBTu1Vjgcmh0uz+ZNrb4yKh8e\nbaYEaXYZtTXSU6evEL+OKgumB3kupqGs5TO2gpLP17q91x1In3i9LUVLFO5j\ndcoETgZe2MwTMV7NKtzvJR5pOmF/ssUsa1ECvFFfS3xNUKFFdM/hyYQMIbQM\nFVlYLQGYVsc1LaBOzfFZVYmvmwxV5zAbzIMo86+w7+8BrfLOtYvQQF9M1ZiL\n+SxPBD5FHDQ3oI+NXYqr/U7cfi/6b0XUtJbHIctSybWheAA8sjjN0fjJMXSW\nXRUkGKHmLwmNMJ2x9yCf+mbu6l/8b+yUYlnJC5+2FELIwiY9DdG7cOkJtOKI\nLDabRw6nP2/MsYyfVAClE9IsaM96P56AvF264M9IdAkqDrl9TIBnT3r3EMgw\nbi4SQy6ZlDdlGcMDct1zlORitjP8OA6lRuTZ5ysm3Y2+fdCjWXNwQr5QgLFz\nWDgkQ/3B8OvqtXvEqROKPZfU6EuQj6Wjfc1/vSS2IDb0OMgk4oaolovXTIl3\nLEGFtFba7MrCSKs3SEQfrPihYjyDBh3rVFAw/PxJJ0AjUYdFfrl/KQWXYx9M\n7Q3X\r\n=ESp3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCc39ffh1L6kw19j2ryZa1k2NdjcRR1pIYLJgef8fBHRwIhAPvFXp3k/2hXdcEf2MtC/QofPvmE3JWcM2Hgws9dPuGt"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.1_1553707406126_0.23431756662583214"},"_hasShrinkwrap":false},"1.0.2":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.2","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"6bdf63264b6188668f475258e4c8081c0aaf9918","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-DAyBgXAoJoSTXK8LSTvNgYJE+PmawnIyh2qZUfV5vB237ARuyEEq/H1y0i9UdhXLY6QlCH+5LojGyaHwD9W2RA==","shasum":"1f40585c1f60ffc3a420cd5f6a8d8be25b5635fc","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.2.tgz","fileCount":70,"unpackedSize":209582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrzGHCRA9TVsSAnZWagAAXTIP/1+elxJK0U/xGDkH1Kxh\nWeSqk8StpiNEN0/PFWg9CHGjREWX93wkC6J0efwQL3O5ByDvVYztQPehFUGB\nrvV9z4Pup3Qm0A/SKXV5CD5iAlS5YPkHhOLEpZ+Q/Y5JzcKgoknqpSU3yn0S\nFNjSjspmhgZQ+cqNrpKhjYwOi21kP5j3aCwtUH31Mx7lF9rZGIwlX8OPI5mU\niAxR4WTUOYsi65MlbvoSrmKCrDwkGbKgEd17jz1Go+cHRGtSgJa3jUe+jSU6\nS5UqUnh2WbMD8g3qPP8ha+xUn2Jv50SqMNU9FJylrEsNU7bgCYa/saVmvo7O\n0k7Gm+A7vpMPaIu67WvDs/eAyxZXyibSxx84LcrQL7upSjUEcKF6PjbkKGhp\ngsMFdbWihgge9KjFWqKjH9YWyoQafQbIKTuL5RyPDf7QQzqU+DOYpGIF018A\nyBHT1Yjxhl/H3G0Bo48XF1uktzj+NoFYuZomzppzas6CYCR7ldT+JM4jmzVT\nlgJsEBZbUmbCRUPmmcBkXHGVaKxWuVpiT/x8wa55VxsHcN9Wy1ll+r/QT3ts\ntUsFcypqUC0rd3SFPvs/J1Ik528u+2rMVNg/xAMHGX2NIzhnSKwrqJ93WM4b\n8JzSoqFgMviWIGB8TnMNavAQ+vlOS1EvHdGeo6gUruvgE9at0Sy1gpU1gq7Z\nKFaq\r\n=AXUE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDntwE6/1dRf+qwbiinJvQ3FGXzJYr+UINiuBbOme57vAiEA03uDIqmfFum4eglhRRikORleEA8gQgzopG3W7+ixQKo="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.2_1554985350821_0.30137684040352597"},"_hasShrinkwrap":false},"1.0.3":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.3","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"0cc9d8ca94dcbf68f2c3cb1d4914f0cec5c2db91","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-rz28Z47lsRagYbNYXPwlIyQCnqRI9I7kWKQGKqCjTDxQv13ii6oEFrSdREeEJ18qPQxXEBMfblrY0W0NDuwG5g==","shasum":"3647f7ae168982b697394f23f7bd9edcbb1c46c9","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.3.tgz","fileCount":70,"unpackedSize":209982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJct5tzCRA9TVsSAnZWagAAtXYP/0ACqTfG00rWnGliTeKx\nb8kq/edUyE7MTdYBA9JGxabFbS2fAeLYO9f4ch8jId6jYA2blWAcIvYcv89D\n/d+5YJanWfvvRz2brMg+QLomlTSEXeT+ptW3fAaky5Hyd4pWsWCABTPtPLSZ\nhOUrjpMnkcgbFCbQaJW4MlOe+016lShomjsSFmPSRzQ7uWV1N5rOYxeFXtmv\nEbVMvDfY5HzpmfxDBWwzb2DYs7ZwfZ4An3xTstHWIMsBPFnz6FFiRAR8VsXN\naeuubieF733z/FJhmPWntAzKY/5RH5TOXa4WPcUBwdzoaOKk+IcdKrR9jl3s\nGaFI4dPVmXzsd1GifzQrHMxibvbcCh7UQ2M0A6qUCKEm3HpS4Cvxr+xB4Xmd\ngQmKAUSTEDauoqPQ8VlbSQfMKv3V42uRQ2qUg+5SDVupbExdfL+DWl8BL8Ay\nfEFYZuVq4TLuNVILy2jWsZBTOW39B3a4rSawpvnL57vaKdt7hztSfXfk3afZ\n34w6mRDBKdTRCATt95i+MSoVUmMV+0ZcgFEsLfYXPsusYu5jfql0QrYFdUB7\nOnN0m03m16reJcS4n/CX+EDDB0Mn9nPC/wVOvMWy283M4imGLynOeec5OzA6\nF6a3E0jvakKnO6bfgvLTbEwkLJFdhGu1jbqP+9uZ73dtHEFm4fnoWXTph8FD\nXsaJ\r\n=P4Np\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9wwFk5/5EBFHPJBSy01B3TcCKJ+X5PJCu/X6v5jjdoQIgS8fViBPg50FM7rPCFF36avVvcmxqY8qGmi5e9EWxK8o="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.3_1555536743809_0.4814344330264744"},"_hasShrinkwrap":false},"1.0.4":{"name":"fork-ts-checker-webpack-plugin","version":"1.0.4","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"bbbbfce41e8ae37716f8534e90588845f43d738f","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.0.4","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-zeZKDo03ZzV2MPS6UCZ162XUCJnKnIxLwb9f4cOhwgdQ/p4KjmLaRnEn/8+JY6tsEZcUfvTOKA9FOj/bJJ8ziQ==","shasum":"bb247350913f1c102f4bbeca30951af20be7c3cd","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.4.tgz","fileCount":70,"unpackedSize":213928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuhEkCRA9TVsSAnZWagAAgEgP/2Zts4aU/bwtr6u5MzNv\nAb+fvJjZ4s6acksmp9OXihNyNx7jW2PaGOX5vgxwo9k97HrFJwkEmSn0BfT4\n8GADcaMGulN+ruK6szwh4POt6FyigRnawWoB0CtHIZziRhmO7T2im+D+jyD9\n0rfzg/HRKlSeCvR17NhpLKlF0Xn5kKz+11BQZcRiWftklsPEZe/47oT6kecG\nF5rpNpGybmKzw0AK/Z2yiST5v3I/8FXkOY5KPJfblFq5RP6sJUcx5+gra2n3\nX3e0G8vv3QlAnMXauu32nJZMJAifiWgRiwgimR+ZnIwJtuy3Qd5gAhE2PG5e\nYf5KmtSNX/lPInFNwWXmhOhoVyLOOwvERNOD7/lnN7e5s4d5HM5TxIOO7ljg\ncmkqd33gG3xEdmw5lO3fjSd6uxosCT8DQCH4vKSKaZYy1bfOSnghf5FHw+GV\nH7dOkCkAc7Tim2ZL3gmxDGzQQY6VRoRuCuZtFxSBAUkQbvTyGmKkieI6c272\n5Lg0lLCnhAOSy5uweRKAOGp39HlC3gbu3w9J+H4udXvnn2Z4gMMLQyFhfobT\nNx/GP0k+zvELHGsmUgcdT3ZgmdlhTZAf2YgzxCGfcK3rypS8zGmILTek4L80\nmH09nSi7nd2p+Yogy2nPa8OVnlmEdgiDl+dkEXb2fUFkzY262FKv+Hrm0a3F\nNSXb\r\n=xF67\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH8zIDJx2/3tCSDU9o8UONmBfL+MB8TrjxEDWEiFSOY1AiBQpRmWReaGoUynxxYe23dY+FMwTZ0hN8h66RAswc+t1A=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.0.4_1555697955679_0.18612286258017408"},"_hasShrinkwrap":false},"1.1.0":{"name":"fork-ts-checker-webpack-plugin","version":"1.1.0","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"dfd8933f23da7ca72aa3a864e5811725146323d4","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-2y0etlSxfJ17wfoC+dLDj/k9tZDcAJa5vqoiNGZTLr6NM8OzycDQDJhuY5BboPw4xrMG6syo4E4o9UkLWzd9qg==","shasum":"b86ad22bd87cc243763e2bf384fe5192026238fc","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.1.0.tgz","fileCount":73,"unpackedSize":226548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcutIWCRA9TVsSAnZWagAAJ/UP/Ai+qWEdqsfhejqcLHy6\nQRK0Rz9NjlefvjqSlDXob7Pw5Dz8Lup3Yi95iU+WjWBcIETqcH8gn+ebXJwQ\nUNca/Nn4Am5XjbOxR1uvXboJNJhALeWq4RR1WVIylkTqPY4uvEP6kPQmRSbW\n6LcT/eCklrf9gQhneccip/XWXEnLG/1WtdCMQuW8iT3tzvvqSjqPR5EGooSr\naSCdtKVLazKUB3D+ITvNYUJFUYjnQRffg60t+wdHg0v7kwd0GUNl1o8wUdFm\nGqRgqvb/7kN1Qhcs3k8bmKszfpTNtbrLxsBcnb6ZQWjlEE0fae+iDrZFB0cD\n4a8zVtQd0XR/agr2AFqiQReUt+MLwyyO4a0BLef059MtApD3bvl5yN800dM0\nnKosFUsqFUHf/YEtk+VRCD0HPGMcycM4sdkz1Wtt3+lokK2VOkvcxGo9L46o\nxtKfWHdiioUfSVi/l/TEUylbel3guliJ03GTMa9IJieUPYnOTDiR2ea37OFu\n2jdSKeRaFRqkJ1xMls690p1DJYiNdOdH4vfuu9EttYiAjK6Pklfo73tsFEdM\nsiraDbW7bbAf23slcY8m+OmrYtvGyDlEcsRE1ofCUgq4ZvuaaXKT7fBIkHJH\nxbYCy3pFz9Lkcw7adZ5xXIZlQjhfM52iJXf4rW9dueM0VFvYfLLpeiBuE0Lf\n+Pwx\r\n=qqyq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHPrV9AjFvDlHH1tm6uyAN9iWC7FUPlDLn/hrl379SVnAiEA4pH4CpqDHBUlu6Eb9A93Kt5kw7pOD72r7Nyr5RT19cE="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.1.0_1555747349993_0.6538577510201831"},"_hasShrinkwrap":false},"1.2.0-beta.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.2.0-beta.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@semantic-release/changelog":"^3.0.2","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"7e4264ced84ffdf835969f21738a3387250a501c","readme":"# Fork TS Checker Webpack Plugin\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nWebpack plugin that runs typescript type checker on a separate process.\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With typescript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **watch** `string | string[]`:\n  Directories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of typescript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **colors** `boolean`:\n  If `false`, disables built-in colors in logger messages. Default: `true`.\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\n  Formatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **workers** `number`:\n  You can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you\n  should keep free 1 core for _build_ and 1 core for a _system_ _(for example system with 4 CPUs should use max 2 workers)_. Second thing -\n  node doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\n  number **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n- **vue** `boolean`:\n  If `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1\n  worker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation\n  may be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with typescript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n  <details>\n    <summary>Code sample</summary>\n\n```js\nconst { resolveModuleName } = require(`ts-pnp`);\n\nexports.resolveModuleName = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveModuleName\n  );\n};\n\nexports.resolveTypeReferenceDirective = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveTypeReferenceDirective\n  );\n};\n```\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n</details>\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Description                                                                    | Params                                                                     |\n| --------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| `fork-ts-checker-cancel`                | Cancellation has been requested                                                | `cancellationToken`                                                        |\n| `fork-ts-checker-waiting`               | Waiting for results                                                            | `hasTsLint`                                                                |\n| `fork-ts-checker-service-before-start`  | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                                                          |\n| `fork-ts-checker-service-start`         | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | Cannot start service                                                           | `error`                                                                    |\n| `fork-ts-checker-service-out-of-memory` | Service is out of memory                                                       | -                                                                          |\n| `fork-ts-checker-receive`               | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                                                     |\n| `fork-ts-checker-emit`                  | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`                                          |\n| `fork-ts-checker-done`                  | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`                                          |\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.2.0-beta.1","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-AWSwutTA4TEzBjWD2Aqd0qkL6ewOrb6zL5P8ikeUx57zacyCRLQ6+RXs3HJwFzLjw1n6QLVkkLOyAIn5+4tNZA==","shasum":"d1b37ff9ee919d4344a422276d15ac76c6695bbd","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.2.0-beta.1.tgz","fileCount":74,"unpackedSize":231256,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvZN/CRA9TVsSAnZWagAAvuMP/iwW9fUiug73BKYPtyM/\n17sag+jE4KPWdtqpWBEtb4Z6T8aPOBjHrRD4Mwo2Ng3199is2CQ/NTf8mHiM\n6ixb44q4wTEXqCEW0J/hxFVVHAp9monDfup13WvoiTi1QSyAS37ogY6m2nug\nhNw6Fd5llo8jYwsDhmYM37NI0Fo6rWkMcsUP9z5Z7rVnA4LgtTStNn8our9I\n2jw4wSj25F2fHIuvJNl0Qx9Em4XPN9fUQFR+7jvKATefSpurDNwmA7Od2QJz\nyEyHx9cZFQq+1q7fJhOUZVuDB0MkuUowJZVYgss/hfDuKvCgur8p4+bf+ZPG\nOlh7AKWVyezak/cg10vXNelJgbGwi0R1WSvscdQseQLGxDe7E3ygyYXkgR1y\nvDU8Ag2pxzqWOASYFJb0K5ezWhrCsMH5bwNJ6HcU7yyZbf8wgclIiOBmyPJu\nAspJ+hW97TbRGW+Ocr4ZYxs3xZ8K2nZfIp0hEntBVgKUy+BoYUPhaX4WG+Uk\nNuTV5TqUNsK/hgUwbnvVGBaYJ9c3SuFkH6QpSogO0bsGM9WFZNQ+2/wtqq1g\nOjfYVBmprpjXlkcFnNurkapOzbSckyToLQXObLG+/DE3FXZmMRfap1F0ESn4\nJmCpYQj1Mhs4X/E73hasT0Ypjd/PMfIv8v22Hhm0qDOkNAUeFHrdAKI1oBHk\nIg2S\r\n=HtUs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH2bwkiE9EIsw6cUcV2w+veDrlTiTQUoKzb0hXGRBuOrAiEAwIWbSn2kB4xeGyIaRFrrMTYfGd/FEOo1gBQWUTAk2QM="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.2.0-beta.1_1555927934773_0.966407616007328"},"_hasShrinkwrap":false},"1.1.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.1.1","description":"Runs typescript type checker and linter on separate process.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --version && tsc --project \"./src\"","test:unit":"mocha -R spec ./test/unit --exit","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test":"npm run build && npm run test:unit && npm run test:integration","test:watch":"mocha -R spec --watch ./test/unit","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","watch":"tsc --version && tsc --project \"./src\" --watch"},"repository":{"url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git","type":"git"},"keywords":["webpack","plugin","typescript","type","checker","linter","fork","fast","speed","ts-loader","awesome-typescript-loader","increment","webpack-plugin"],"engines":{"node":">=6.11.5"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"license":"MIT","bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"devDependencies":{"@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","css-loader":"0.28.11","eslint":"^5.7.0","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"concurrent":false,"linters":{"*.js":["eslint --fix"],"*.ts":["tslint --fix"],"*.{js,ts}":["prettier --write","git add"]}},"gitHead":"3990a135cb93e336ef0890061f6c360e7efc2f4d","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-gqWAEMLlae/oeVnN6RWCAhesOJMswAN1MaKNqhhjXHV5O0/rTUjWI4UbgQHdlrVbCnb+xLotXmJbBlC66QmpFw==","shasum":"caf2a210778fb1e171b6993ca0a40f9b6589e3b7","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.1.1.tgz","fileCount":73,"unpackedSize":226598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvZtmCRA9TVsSAnZWagAAI40P/2/HChHulwVKnOwg8wkD\n0PxPPbfM7giqSrO6vzwMHCEoWPNScF0Qf1dHaiz7PXQGGwx4y1erc3MxD34r\n7OUzShdfFNS605u3Cxrex9SU3Wz5vLzqkbfpG5//aZPH5YP42p58OBjlP2c+\nI4EvSEtnCVgmxBRb3Xyn/vIzHrodglIv4rHwJwsrwBjt1/R2R2l599i0PA5+\nZ7wPG6Q/5WqvNX6oQvwXMkgSiqebkQaXS+oL3agSgOgkedr3xd1NoBRrRtyM\nLTiydgAoN3KGOnTbPdj8VvsZyTyd9pF2uCkKtssy54Fq1q/jZ3zKVmLoehvY\n8CzRDdzCKETRpjvSHIdj2NAx0pnlEeLLBadD9Jqayk+s8q1Xf0fPSG1/h0z+\nvhr3ZSFSOVQeC2fl01l4JabDav6V4azpp3+InKyWIsoKlZG30QJqvvhFU55y\n9xTlvncUqQhsLlKdox7IeT6Vv5QNRj+6BeSe2ANbZ4eRlx+Mn2DTKOGRKgk/\ncEsodqIKqk5JjeW6mgkd0NBB02B8v8SL9A4M/zs4t9nvNPl59Po5cf0uOrYe\nIYhyfGgG3ATdDaO2oLs++xeX7l7vl3l0cDVxnJ0PuyRch1BV8pFZGd0vxRmG\nSGtL9tlf+fmTr3K+o6lRzfyVyDLnQ6f1CEAQLDYsz8E+qUFWjGRnqtjADhDo\nA6L9\r\n=j4ms\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+KdabsU4Oxti4/gtpxgbzMSw3jwzYvMOeSxtTuBA6pAiEAhOdffxQfQKH9JJWZHtSILS1nOlCt5RdlL75UVmA44Is="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.1.1_1555929957263_0.5009209486836097"},"_hasShrinkwrap":false},"1.2.0-beta.2":{"name":"fork-ts-checker-webpack-plugin","version":"1.2.0-beta.2","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/git","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@semantic-release/changelog":"^3.0.2","@semantic-release/git":"^7.1.0-beta.3","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"38fc908139fa89d4ca79902ea3c51c87651147b7","readme":"# Fork TS Checker Webpack Plugin\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nWebpack plugin that runs typescript type checker on a separate process.\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With typescript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **watch** `string | string[]`:\n  Directories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of typescript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **colors** `boolean`:\n  If `false`, disables built-in colors in logger messages. Default: `true`.\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\n  Formatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **workers** `number`:\n  You can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you\n  should keep free 1 core for _build_ and 1 core for a _system_ _(for example system with 4 CPUs should use max 2 workers)_. Second thing -\n  node doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\n  number **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n- **vue** `boolean`:\n  If `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1\n  worker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation\n  may be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with typescript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n  <details>\n    <summary>Code sample</summary>\n\n```js\nconst { resolveModuleName } = require(`ts-pnp`);\n\nexports.resolveModuleName = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveModuleName\n  );\n};\n\nexports.resolveTypeReferenceDirective = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveTypeReferenceDirective\n  );\n};\n```\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n</details>\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Description                                                                    | Params                                                                     |\n| --------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| `fork-ts-checker-cancel`                | Cancellation has been requested                                                | `cancellationToken`                                                        |\n| `fork-ts-checker-waiting`               | Waiting for results                                                            | `hasTsLint`                                                                |\n| `fork-ts-checker-service-before-start`  | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                                                          |\n| `fork-ts-checker-service-start`         | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | Cannot start service                                                           | `error`                                                                    |\n| `fork-ts-checker-service-out-of-memory` | Service is out of memory                                                       | -                                                                          |\n| `fork-ts-checker-receive`               | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                                                     |\n| `fork-ts-checker-emit`                  | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`                                          |\n| `fork-ts-checker-done`                  | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`                                          |\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.2.0-beta.2","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-KO6IeqA0hvqK+hD7BGO8jrmcy4GGxR/68IPEJj6yKHC/e2ZwvgqIah9uXynBdttR3v0+pLHM4ltaGzsmuiqnHQ==","shasum":"64fcddb4c44f38ea0c76667d0c23fd2207a41e12","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.2.0-beta.2.tgz","fileCount":74,"unpackedSize":231369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvcAFCRA9TVsSAnZWagAApwsP/28nzYi0LonwgNcGmYZr\n4KRSjBD5TH0BfX1bWYjs1GtpO4PHMLeVjwc00JbxhEEn8e3vRZEEPVzROHLc\n1+b3ICtkBs+301cLmW2fo+eAqDIB0H3V/3tdb34DhmKAMa8uqXfbVvI5lpzr\n3wP2PkDOgy9SOGfyk0pKTT+qdAeQzUtXsiWPcNuPwX91Q3h+g/H/+pNGJF/r\nSwRCnXbugB7jcrGC+aJMVXZ0ixHkxAiBJ+utRZIyZUJ4/pmOfv4YkRGK+aN1\nLDp1yvBvyJaJb1pgGUaVrTAQ7f61Nl6hAzegQD7ydjtpu/lRV5xwLLeZYfDM\n4dTZP94PdoaZzs9vlRgiknBP2w7GtpOiNdffPUkL2KpjSTjHyfLtl3C/c/L9\nEKcrPG+5PxjPdVzftind1dZmaMy/e1+RDZfKCbGJKlFVbMKj3Lg6KvQKOB9P\nSREf9x5o2NW0IRZ28jeHIlVdu4IPnv+nVL5E17juB2/4zvByv+DS0rvhdzjx\nGXYVYAP7nAn7tGiptXsf8YxOVW5w09uZrcnraXXc+ugmv3zW1d1B6M/Risnf\nqXelqgKrGcUATDst6fgfDOKA+jjWJHolCZqwYwDq4LhzmfOCoEaGdHeATeyN\nlVolIYfhV6DdHrqLpX80Uh9rwmRqU5m8O1yb5WquRBWaFyUNX3+MXArVSacb\nlQpQ\r\n=b6wv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFQKE5XRvKZSzGyBPSa1lpy+O0YoM0L1Jj1rlt5AiUV8AiEAgInYjN49yMq1zk+JINDctsBK5R6kOVCSAf2KlvrELZQ="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.2.0-beta.2_1555939332436_0.9497541625821877"},"_hasShrinkwrap":false},"1.2.0":{"name":"fork-ts-checker-webpack-plugin","version":"1.2.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/git","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@semantic-release/changelog":"^3.0.2","@semantic-release/git":"^7.1.0-beta.3","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"71bde90ead3661decede2b947111fdd741571662","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.2.0","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-JY+qctuwZkg25tt3GdX3q4MOAI4mddWTs4ugAZD3EhJ12P3K0xtg0wvU+MMRPNBP0zT1hvQXemT2xeeQ8DYSWg==","shasum":"2d0b0d94ef6a2479ac94f44cb9edfa9e8f1de160","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.2.0.tgz","fileCount":74,"unpackedSize":232067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvewECRA9TVsSAnZWagAARKAP/A10Lh7INpdWAajhLW/b\nQRpNnZeZKY6O6sXMOZ2f1b9SvVO/6uklCOSgJYSYw9cQUKUkCAOGb6S9oBnN\nmwsSfzEnrm9rmB+2LPG3liVYja0GkoOmt+LfrXeVrL7fMLZAfn8XGusSM8Q+\nlBhyWHMeH/Ons6tB8NpPDxe5zM2qHPyZXkXN4KC7gPewuMfvTbON3nBxpL5c\nJ2wPXjT/ait3NZrQmA224Dh+AYPSFPT7QdDMvfnIhvJHMV/jZH80SGqNob04\ndGq/T4RK1w6heZqdBBFKG753O+iiSpj2cCdJZC6PCzgbxR1xcVLRv7J/8WUH\nkFEXFq4etd7iiQ0xkjnhzfqRNTbF7zvQ0PYq18QxHWOw8fVFpezCFJeYBRE2\nS8vqAJSCbtyIxpvY8jNiQlzWbtQramkuPyGyDEkBm0iHUib2GAeLYxif6QxW\ndW7m3xhWSjnOMou8RIpRS9QWgF9uWxKP4LsGCE9FN6AoJXfMIPDhYnnXnUch\nGoa56BWK6PbFMWKhON2e5svg8GQ3BOIBPzyg/sMvcLvgXj0K9EY6MSoa52sV\njzk8kff8Gaxi7+YpM20EarOmvOhNJwYmzzkgARmMm6t+RDdWNVyjacanDHZS\nVU5llKvOhydpG5EHMUq0wisq9RMX/4PnJ/jXpDWMA8/xYjxUB7kYTfDYeNza\n4TJD\r\n=uheR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD291Molxsh2okRSUc5nwlfqxkQg7SgfE3Uz9onm38lowIgXJQ8evAxcI3YfuFFo3MXrGyPg4Eaup3FnUrmtkt97Z0="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.2.0_1555950595348_0.15168137590826092"},"_hasShrinkwrap":false},"1.2.0-beta.3":{"name":"fork-ts-checker-webpack-plugin","version":"1.2.0-beta.3","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/git","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@semantic-release/changelog":"^3.0.2","@semantic-release/git":"^7.1.0-beta.3","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"1d70a8c86893b672a4c92bce7894f299bdec913e","readme":"# Fork TS Checker Webpack Plugin\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nWebpack plugin that runs typescript type checker on a separate process.\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With typescript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **watch** `string | string[]`:\n  Directories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of typescript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **colors** `boolean`:\n  If `false`, disables built-in colors in logger messages. Default: `true`.\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\n  Formatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **workers** `number`:\n  You can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you\n  should keep free 1 core for _build_ and 1 core for a _system_ _(for example system with 4 CPUs should use max 2 workers)_. Second thing -\n  node doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\n  number **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n- **vue** `boolean`:\n  If `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1\n  worker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation\n  may be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with typescript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n  <details>\n    <summary>Code sample</summary>\n\n```js\nconst { resolveModuleName } = require(`ts-pnp`);\n\nexports.resolveModuleName = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveModuleName\n  );\n};\n\nexports.resolveTypeReferenceDirective = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveTypeReferenceDirective\n  );\n};\n```\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n</details>\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Description                                                                    | Params                                                                     |\n| --------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| `fork-ts-checker-cancel`                | Cancellation has been requested                                                | `cancellationToken`                                                        |\n| `fork-ts-checker-waiting`               | Waiting for results                                                            | `hasTsLint`                                                                |\n| `fork-ts-checker-service-before-start`  | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                                                          |\n| `fork-ts-checker-service-start`         | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | Cannot start service                                                           | `error`                                                                    |\n| `fork-ts-checker-service-out-of-memory` | Service is out of memory                                                       | -                                                                          |\n| `fork-ts-checker-receive`               | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                                                     |\n| `fork-ts-checker-emit`                  | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`                                          |\n| `fork-ts-checker-done`                  | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`                                          |\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.2.0-beta.3","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-VoP4ZMZnHPLtptY/FI3bFZ8UBeHiIQ6ouzDC5NqC2l5ApBUQfQarGfXg84UzfqNDG+so0pBSU6T/u7Ns89Q9rA==","shasum":"12e00c7dae455c5c0c1ee3086a77b92745d86860","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.2.0-beta.3.tgz","fileCount":74,"unpackedSize":231942,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvkiJCRA9TVsSAnZWagAAqIUQAJEFWOKpyZZf0CFgaSE1\neuVTXd535w+D3nJko4Wxfwf/WiO6Djkhn5SPUL+LQdUsD4qx/qvfXKWJTghm\nN+ywthzd1L3D6wPyqo9QGR32b2iNURXOCKCEnbKfXCcKXItfGfbb81mCO1Y9\nZsiq8n69QhXcsqB19fJGxkPtm/ehGf9q6apsboxrsVpGMTJNT3GBQ0JufTPG\nZYctQvO4Khu0UrjnR+TaqrXRzBuvAtmo8sKsF5rjH8n0r5rCr1bR2J/Qy79p\nYR1vXcuu1pSZFm9tiImZ5fxGxJpJ1aAlJgCHDZTDs7vg7Kn03NGDXDgFba/v\nGfV/Ek9HxvJVhwDKR+js/8MJy54nk/YtIMziB94zr8DPQrP7U7bINxzsSuIi\noK0429FnoXFfkTFaJUEsq+NyGp5w4M0cChYiYrIuKy5km1efUsq9odCc7WuW\naN99U3RRvKxozcv5vkfIEPd+kDw+TKDf6jyJh50McqbKYI3iETtZQ6XpZD02\nR6/Bh6qxOPi24Tz1vVpV0uRvT3Iop1EhIyCUBLm25Gyh8nZpJ/2htc+oCWUS\nlya6LY2LahuK8JqN8y71SWeZhjm6Vi0/eKoJDLksGlTMT1bkFu+a6KvKh1yH\nbfIPAuaUicemhBT+5psMr5pg4EVB8+FiTLpI5TcQpIThfPT1lCbwXCwFU2vw\n96tX\r\n=7Xcg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGuy+4ABaumJTC8bfpeZieAaOriOIcUzMu4SUKnyaoOIAiBAz9zfhzMIOFjSs/zjrPCs5Brr5eBW/N+b2idsD8I6vg=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.2.0-beta.3_1555974280824_0.25127051695446134"},"_hasShrinkwrap":false},"1.2.0-beta.4":{"name":"fork-ts-checker-webpack-plugin","version":"1.2.0-beta.4","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/git","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@semantic-release/changelog":"^3.0.2","@semantic-release/git":"^7.1.0-beta.3","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"4bde6f1bab8d6aeb8647c3bf0b02c83428b0d03b","readme":"# Fork TS Checker Webpack Plugin\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nWebpack plugin that runs typescript type checker on a separate process.\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With typescript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **watch** `string | string[]`:\n  Directories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of typescript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **colors** `boolean`:\n  If `false`, disables built-in colors in logger messages. Default: `true`.\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\n  Formatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **workers** `number`:\n  You can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you\n  should keep free 1 core for _build_ and 1 core for a _system_ _(for example system with 4 CPUs should use max 2 workers)_. Second thing -\n  node doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\n  number **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n- **vue** `boolean`:\n  If `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1\n  worker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation\n  may be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with typescript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n  <details>\n    <summary>Code sample</summary>\n\n```js\nconst { resolveModuleName } = require(`ts-pnp`);\n\nexports.resolveModuleName = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveModuleName\n  );\n};\n\nexports.resolveTypeReferenceDirective = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveTypeReferenceDirective\n  );\n};\n```\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n</details>\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Description                                                                    | Params                                                                     |\n| --------------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| `fork-ts-checker-cancel`                | Cancellation has been requested                                                | `cancellationToken`                                                        |\n| `fork-ts-checker-waiting`               | Waiting for results                                                            | `hasTsLint`                                                                |\n| `fork-ts-checker-service-before-start`  | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                                                          |\n| `fork-ts-checker-service-start`         | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | Cannot start service                                                           | `error`                                                                    |\n| `fork-ts-checker-service-out-of-memory` | Service is out of memory                                                       | -                                                                          |\n| `fork-ts-checker-receive`               | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                                                     |\n| `fork-ts-checker-emit`                  | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`                                          |\n| `fork-ts-checker-done`                  | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`                                          |\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.2.0-beta.4","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-oh5W+49Q8txqZIaRP6yzFYAG0Q10CB+VwZBuE93b/VEhJ6mothUfygGLD8Xn6oMUGfN1UfcCEP1RlQNKPJhS2w==","shasum":"d456f6bf16d6104bb80b928079279fbbd50e9a46","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.2.0-beta.4.tgz","fileCount":77,"unpackedSize":237832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcv1ccCRA9TVsSAnZWagAAJ+wQAI8yQLRPnt5UmAGgsKlm\nR91dt/uhIQhIRPyB4O4HnPTrL2TkkPFpHBMsVUCeW9rqLR1WcOb1VVLsI/wX\niYs0aUZ7PWCH79cMM+FbO+9j2skOX0uAVllScASRcrC/Opb+4/Jf2H2jNp1d\nnFgpo9ippw4RBq6a9hHX8hijy5UgsGXZU21PWJtZWcgCi27MU0WJjHCCxTHK\nSUXBbaqoK1j0lyifgCHHHLkaGO+aqinEv/7bUU9wN6jh3HLe8tNbDJt7VR65\nPyDxANnr7C4YACVaxhOi780/EF3J3sxPITTnppCksU0rtr6c/Pt2pUGPSOXa\n7JMAqaXP3EmzdKXNblGkS0G3i/K01hI+3Pkru4B2tVz9uXnXYV/+snNRRBhM\nLwOsalWQtgfubO2iGkbp0zV0MqJwN8CqdiOCNl7YUKL6fphjBoJ0yK+QwrQs\nXVMiSVIIzXIC7Fm7uoCTGKfBcJ8nzT89c6Zh0nuHYyiiIMECWyVQWjg0HveU\nWTQZGv6PodkLe3HkmBfFPqIVlsBmyNMCdHcqrZIk7YvuX7qms0C5K7OeZrQ9\neR9fsyADgkMHae0ZOKU5kJX3QQqbbeT1iBvaqbStY5aaGzv8ffQ3YV0MGKX9\ndWpu/qkp5G/izy1nAcEwTa+N6tLEcJRJjJIb5xqPrGA0OAOs21UbmpoNg0zf\nrW2P\r\n=X8zW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDGi7R4ARPNRk3X1/3j7y/U5QVX5y8FQCmB6DNR7wbqJAiEAzdlAfCXS2Tk2iz2qZhSOzQInUehjHaSuH1KzfGirg18="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.2.0-beta.4_1556043547957_0.9791699059985328"},"_hasShrinkwrap":false},"1.3.0-beta.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.0-beta.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/git","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@semantic-release/changelog":"^3.0.2","@semantic-release/git":"^7.1.0-beta.3","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"8537e371843296b7d3750fa671f85eb15ad88e89","readme":"# Fork TS Checker Webpack Plugin\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nWebpack plugin that runs typescript type checker on a separate process.\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With typescript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **watch** `string | string[]`:\n  Directories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of typescript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **colors** `boolean`:\n  If `false`, disables built-in colors in logger messages. Default: `true`.\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\n  Formatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **workers** `number`:\n  You can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you\n  should keep free 1 core for _build_ and 1 core for a _system_ _(for example system with 4 CPUs should use max 2 workers)_. Second thing -\n  node doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\n  number **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n- **vue** `boolean`:\n  If `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1\n  worker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation\n  may be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with typescript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n  <details>\n    <summary>Code sample</summary>\n\n```js\nconst { resolveModuleName } = require(`ts-pnp`);\n\nexports.resolveModuleName = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveModuleName\n  );\n};\n\nexports.resolveTypeReferenceDirective = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveTypeReferenceDirective\n  );\n};\n```\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n</details>\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Hook Access Key      | Description                                                                    | Params                                                                     |\n| --------------------------------------- | -------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| `fork-ts-checker-cancel`                | `cancel`             | Cancellation has been requested                                                | `cancellationToken`                                                        |\n| `fork-ts-checker-waiting`               | `waiting`            | Waiting for results                                                            | `hasTsLint`                                                                |\n| `fork-ts-checker-service-before-start`  | `serviceBeforeStart` | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                                                          |\n| `fork-ts-checker-service-start`         | `serviceStart`       | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | `serviceStartError`  | Cannot start service                                                           | `error`                                                                    |\n| `fork-ts-checker-service-out-of-memory` | `serviceOutOfMemory` | Service is out of memory                                                       | -                                                                          |\n| `fork-ts-checker-receive`               | `receive`            | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                                                     |\n| `fork-ts-checker-emit`                  | `emit`               | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`                                          |\n| `fork-ts-checker-done`                  | `done`               | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`                                          |\n\nThe **Event name** is there for backward compatibility with webpack 2/3. Regardless\nof the version of webpack (2, 3 or 4) you are using, we will always access plugin hooks with **Hook Access Keys** as\ndescribed below.\n\n### Accessing plugin hooks\n\nAll plugin hooks are compatible with both [webpack](https://webpack.js.org) version\n4 and version 2. To access plugin hooks and tap into the event, we need to use\nthe `getCompilerHooks` static method. When we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/),\nit returns the series of [tapable](https://github.com/webpack/tapable)\nhooks where you can pass in your callbacks.\n\n```js\n// require the plugin\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup compiler with the plugin\nconst compiler = webpack({\n  // .. webpack config\n});\n// Optionally add the plugin to the compiler\n// **Don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin({\n  silent: true,\n  async: true\n}).apply(compiler);\n// Now get the plugin hooks from compiler\nconst tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n// These hooks provide acess to different events\n// =================================================== //\n// The properties of tsCheckerHooks corresponds to the //\n// Hook Access Key of the table above.                 //\n// =================================================== //\n// Example, if we want to run some code when plugin has received diagnostics\n// and lint\ntsCheckerHooks.receive.tap('yourListenerName', (diagnostics, lint) => {\n  // do something with diagnostics, perhaps show custom message\n  console.log(diagnostics);\n});\n// Say we want to show some message when plugin is waiting for typecheck results\ntsCheckerHooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for typecheck results');\n});\n```\n\nCalling `.tap()` on any hooks, requires two arguments.\n\n##### `name` (`string`)\n\nThe first argument passed to `.tap` is the name of your listener callback (`yourListenerName`).\nIt doesn't need to correspond to anything special. It is intended to be used\n[internally](https://github.com/webpack/tapable#interception) as the `name` of\nthe hook.\n\n##### `callback` (`function`)\n\nThe second argument is the callback function. Depending on the hook you are\ntapping into, several arguments are passed to the function. Do check the table\nabove to find out which arguments are passed to which hooks.\n\n### Accessing hooks on Webpack Multi-Compiler instance\n\nThe above method will not work on webpack [multi compiler](https://webpack.js.org/api/node/#multicompiler)\ninstance. The reason is `getCompilerHooks` expects (at lease as of now) the same\ncompiler instance to be passed where the plugin was attached. So in case of\nmulti compiler, we need to access individual compiler instances.\n\n```js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup multi compiler with the plugin\nconst compiler = webpack([\n  {\n    // .. webpack config\n  },\n  {\n    // .. webpack config\n  }\n]);\n\n// safely determine if instance is multi-compiler\nif ('compilers' in compiler) {\n  compiler.compilers.forEach(singleCompiler => {\n    // get plugin hooks from the single compiler instance\n    const tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(\n      singleCompiler\n    );\n    // now access hooks just like before\n    tsCheckerHooks.waiting.tap('yourListenerName', () => {\n      console.log('waiting for typecheck results');\n    });\n  });\n}\n```\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.0-beta.1","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-3FOsqA2gi0ks6TB3MZtn5rnReaFwcDH2+qid0xktrrdNAX5006F1KV8kGTn3mySG5nnWAJN8rJIFA2Z6IshF8A==","shasum":"6617eed6efb1c6cf316278bc0fc1552606505f4e","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.0-beta.1.tgz","fileCount":77,"unpackedSize":242865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyKxyCRA9TVsSAnZWagAAbBYP/0rgEvcYRGY8f8BD5Yig\nkOYzuqkGZYvMgWQGsK89sqMhRgG78IiDYOUwan+yw9gdcoWe9hUipVTrazr/\nHO9KEupfeuQKAw+Un/4FcwTENi9CkVXFsE3fQOpV2e9qQvayhblpfS2MEpRb\n99Iz7zeF/ySlLHuKzhJPpnGxj74XdEC9Fw0BKqoDB/mbvjAgdPojHykkXf8K\n5IaNx5hQpAlVbvh31jLaDHrlEhIifzNiGbY4tl55EW2SasKNn+06dMIX4o3e\nWJe4LoDxnPuIuAk34c4y0RUZqeThQULCDbez1EEq/kesMBX14J585VWZixoV\nLSTjIpCMjZ1oXnh/3ltc4rwyXj0QxhDCosRw16SwNyynTRiIgyN32D5sBAxa\nBItRg1IVtLaUafv7Dt0Sw2OhGsS6V0KZmP3k5kQgHStifBT5uL53T9Nr7p/S\nZ05EdtPp39Os0iCUgUKmCJ+6lodgXyMojb5Ml4qdW7RPbSZ40JFmAnPgzkGn\nKCztnTAwFrJQ0lGagZedmMx1yUW2W9ieVTzz3BfeKCGD3+hE8eE+vM1hcqIC\n2fmjFV9X1gZQmgSxQOUPW/fPMVMG2RGm9tf7wWphVcgbmPrU4VaplhF4jC0J\n9rkCfGMOsDyWtus7LsgbD5pu+3E3lbmLZCGbtlLhuXmOZ2V+KqwDiDUQSgDt\nQZnl\r\n=370L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHu0fN3Emraf2qX5sNj+SzpQJzJTqVuE0dq8/ImF9h2GAiEAuYVEOOSw/QgPu6/ZgxgZrE5F3hae7zvsXkSIlH/NXnI="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.0-beta.1_1556655216957_0.8342065337219831"},"_hasShrinkwrap":false},"1.3.0":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"e9ee9adad9d55cbd31ba5cdea072f6b6fcb11641","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.0","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-38nL1h4nRLrU/0oCAvjQY7ZJw0JpcsOOwSMZQSaMdVi2d+vXNcyvVg/n6q4mRcvGmVW2z2EIlj5ufaITk0M5bA==","shasum":"1f5540467c5e971d2da69f76103354b3e6665d13","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.0.tgz","fileCount":77,"unpackedSize":242691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcytpYCRA9TVsSAnZWagAAAPsP+wf0L/68gPpuQf3F6/Wj\nxg5trtODRXIw3EX4u7OOSCZzRGMAD+piE8DkTe30lwrp5cvYBpAad7iHOcrR\nqlaNI3/aEv9xeBVPTpSokJf9/bHibHRrzVtEU0jE/geTQQgPHTufUV8i9DvI\nmjBCAwddZim7jgC/5XmAh1LMMbetse4cr8ua7kAxE+4cuUn6Ol/MTerIrK8G\nMj5qpwkCnTZF/LgD3JAbZDxvBeATjGYOeC4Nfn72UXloyyPMT5+WGUp8yRY/\n4LkBxbRrmfVHACp7+UWW2aDw73ldF5jKK4DWghHy+bkqbeRqg0r0ehzfK1j2\nft6Z0ZXX6jBE9Ana99O1R+j11a3sQOpmo136sQTo0m6Z+cH3tP1zOTpb6Fxg\npCUhSH5mHNUifvFtSYmTc9kA0vOqHkM2Pfsn22f7gbnJ9E7eYK4095q+F4SX\nZX90v8NTSVdiFpIDrzQS0ZjFZXqj8pjtsvhzH1h6Fbs+brJiqa7/AzV5SpSy\ndz+QNChloAuct1/4SGtjPVT7Fz1XRLnZpUErylN0naaCiqGJaNEjJ/3TMkeJ\nNyA7YPV1bxSd5LnLIB0jWkFTT4OWwantPsBytZmB3Brvebi8lra2cqzMYvAq\nAuLX3sSU0UzfptSmTG6NDjslL86D4UEAI1hbOnGjE281rniz89KYbMR6iYUA\n20/1\r\n=XMRc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEaw0lUqtzQKxiI648v9a2l2X9EJs7aqQpgXKy4ZB1K2AiEA12Ch3eatGSDuB8kHLvTafLv98sA49vKqj80Oc/Wd754="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.0_1556798039957_0.1811667089350495"},"_hasShrinkwrap":false},"1.3.1-beta.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.1-beta.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"@types/tapable":"^1.0.4","@types/webpack":"^4.4.19","babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"c10f72e7c6fa0e97a849a6fc6d9842617f2b941f","readme":"# Fork TS Checker Webpack Plugin\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin.svg?branch=master)](https://travis-ci.org/Realytics/fork-ts-checker-webpack-plugin)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nWebpack plugin that runs typescript type checker on a separate process.\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **typescript 2.1** and optionally **tslint 4.0**\n\n```sh\nnpm install --save-dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nvar ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nvar webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere is already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we use [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why we've created this plugin. To provide better performance, plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with tslint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [typescript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With typescript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug typescript's modules resolution, you can use `tsc --traceResolution` command.\n\n## TSLint\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from typescript's diagnostics.\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **watch** `string | string[]`:\n  Directories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls).\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of typescript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **colors** `boolean`:\n  If `false`, disables built-in colors in logger messages. Default: `true`.\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | ((message: NormalizedMessage, useColors: boolean) => string)`:\n  Formatter for diagnostics and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/NormalizedMessage.js` and `src/formatter/` for api reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **workers** `number`:\n  You can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you\n  should keep free 1 core for _build_ and 1 core for a _system_ _(for example system with 4 CPUs should use max 2 workers)_. Second thing -\n  node doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\n  number **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n- **vue** `boolean`:\n  If `true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/Realytics/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in typescript 2.7. In this mode you can only have 1\n  worker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation\n  may be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with typescript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n  <details>\n    <summary>Code sample</summary>\n\n```js\nconst { resolveModuleName } = require(`ts-pnp`);\n\nexports.resolveModuleName = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveModuleName\n  );\n};\n\nexports.resolveTypeReferenceDirective = (\n  typescript,\n  moduleName,\n  containingFile,\n  compilerOptions,\n  resolutionHost\n) => {\n  return resolveModuleName(\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost,\n    typescript.resolveTypeReferenceDirective\n  );\n};\n```\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n</details>\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Hook Access Key      | Description                                                                    | Params                                                                     |\n| --------------------------------------- | -------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| `fork-ts-checker-cancel`                | `cancel`             | Cancellation has been requested                                                | `cancellationToken`                                                        |\n| `fork-ts-checker-waiting`               | `waiting`            | Waiting for results                                                            | `hasTsLint`                                                                |\n| `fork-ts-checker-service-before-start`  | `serviceBeforeStart` | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                                                          |\n| `fork-ts-checker-service-start`         | `serviceStart`       | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | `serviceStartError`  | Cannot start service                                                           | `error`                                                                    |\n| `fork-ts-checker-service-out-of-memory` | `serviceOutOfMemory` | Service is out of memory                                                       | -                                                                          |\n| `fork-ts-checker-receive`               | `receive`            | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                                                     |\n| `fork-ts-checker-emit`                  | `emit`               | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`                                          |\n| `fork-ts-checker-done`                  | `done`               | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`                                          |\n\nThe **Event name** is there for backward compatibility with webpack 2/3. Regardless\nof the version of webpack (2, 3 or 4) you are using, we will always access plugin hooks with **Hook Access Keys** as\ndescribed below.\n\n### Accessing plugin hooks\n\nAll plugin hooks are compatible with both [webpack](https://webpack.js.org) version\n4 and version 2. To access plugin hooks and tap into the event, we need to use\nthe `getCompilerHooks` static method. When we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/),\nit returns the series of [tapable](https://github.com/webpack/tapable)\nhooks where you can pass in your callbacks.\n\n```js\n// require the plugin\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup compiler with the plugin\nconst compiler = webpack({\n  // .. webpack config\n});\n// Optionally add the plugin to the compiler\n// **Don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin({\n  silent: true,\n  async: true\n}).apply(compiler);\n// Now get the plugin hooks from compiler\nconst tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n// These hooks provide access to different events\n// =================================================== //\n// The properties of tsCheckerHooks corresponds to the //\n// Hook Access Key of the table above.                 //\n// =================================================== //\n// Example, if we want to run some code when plugin has received diagnostics\n// and lint\ntsCheckerHooks.receive.tap('yourListenerName', (diagnostics, lint) => {\n  // do something with diagnostics, perhaps show custom message\n  console.log(diagnostics);\n});\n// Say we want to show some message when plugin is waiting for typecheck results\ntsCheckerHooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for typecheck results');\n});\n```\n\nCalling `.tap()` on any hooks, requires two arguments.\n\n##### `name` (`string`)\n\nThe first argument passed to `.tap` is the name of your listener callback (`yourListenerName`).\nIt doesn't need to correspond to anything special. It is intended to be used\n[internally](https://github.com/webpack/tapable#interception) as the `name` of\nthe hook.\n\n##### `callback` (`function`)\n\nThe second argument is the callback function. Depending on the hook you are\ntapping into, several arguments are passed to the function. Do check the table\nabove to find out which arguments are passed to which hooks.\n\n### Accessing hooks on Webpack Multi-Compiler instance\n\nThe above method will not work on webpack [multi compiler](https://webpack.js.org/api/node/#multicompiler)\ninstance. The reason is `getCompilerHooks` expects (at lease as of now) the same\ncompiler instance to be passed where the plugin was attached. So in case of\nmulti compiler, we need to access individual compiler instances.\n\n```js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup multi compiler with the plugin\nconst compiler = webpack([\n  {\n    // .. webpack config\n  },\n  {\n    // .. webpack config\n  }\n]);\n\n// safely determine if instance is multi-compiler\nif ('compilers' in compiler) {\n  compiler.compilers.forEach(singleCompiler => {\n    // get plugin hooks from the single compiler instance\n    const tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(\n      singleCompiler\n    );\n    // now access hooks just like before\n    tsCheckerHooks.waiting.tap('yourListenerName', () => {\n      console.log('waiting for typecheck results');\n    });\n  });\n}\n```\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.1-beta.1","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-ywy/BGJ9G3//sB5QW6hxDadeKrSUey4ew6kOWhpK3RRBpB+0gEBFqFr3lKbEDC/hYQynnPe2OYZOQFfGR+oigQ==","shasum":"ddf1beb8f045a607698946a9e4911012362ba06e","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.1-beta.1.tgz","fileCount":77,"unpackedSize":242730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0pbkCRA9TVsSAnZWagAAdcwQAIelXkhH+RjNRT8f9N3S\npjoiufMhM9NeUbdWQYSBFQ+3Jw4uPWcS6CFlefygHwWHE0/n8jNCBS52F9SL\nOP02Bz/B6klWJUIAiW24/L/rnoS0kdzfats4X6+x+Ap0NLC4PCu1rvnWIJWl\nXeS5CKSzB41lp6vSi/W9QQkibyfjZ6hAyhTCL6Wty5D0VuiWNnRLF7apP1i5\n4DsKi6z6qF7sRVM1yj+zMOOzKf7iFi7Zyc/c6npjAYYhchha8yRdpxL8LtJD\nGq5b+q2z8+FTMz0yuP+odai4N4nohw7lzJXDqmmYBG0Im0gu0vsS5AuHd4QO\n6gcgIXa3pqDaRYizykrypw5k/DZuesb5e8eEZM4yF5UuCMpBIK4+G9UlgF4B\nyWQmjjwuoR7vxnn9iwJYn8MEK96XvOiJtIuP14rueEAPi69JEVHQjuU0z5U8\n4A7WCRsb62DcoZfINERvps4f4c2z+PyhmuGzOMIvHt99sF9BlEjR98UKXH2o\nT/KrrFdKhfbK72A5qSJBFowkUisw1FPM+qpw2rSXjYoZset687v4zBjposBb\nLwKp3+0Nc7GWeFzNlvhTmOXxJ5d5bzgViGBB2Z6uV6E+whxFqwoy4W5ek7A+\nJVGlQYnzVlKMTnwfFpX9Qqvh1iWXUNJWTyBYtYVU+QSBDTzZMO9OB6gn3PRA\ncHUs\r\n=ulZx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4B7K6kn3AxXyMoTIYT3/bP7HoIdyWXT3ReEIjPbf6+AIhAIozL+nXLXZpYvhyBkHUEGfC+oKoU+PVkGLNLxJH5ffI"}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.1-beta.1_1557305060279_0.6744943961422056"},"_hasShrinkwrap":false},"1.3.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"@types/tapable":"^1.0.4","@types/webpack":"^4.4.19","babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"3f66022e55062b2a5fd6a9f1ac28bcccf8698346","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.1","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-glTh+croAr7G3B4nJ9JU77o+vGem6h27bYsKEY1WDGgphwDoEUqH4vYEcR3nObb7l5axwTC9J161PypDiyuAcg==","shasum":"56f7282973fe1df059173a6b254c0bc21f64bb3c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.1.tgz","fileCount":77,"unpackedSize":242723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0q3BCRA9TVsSAnZWagAAKecQAIOCeK6/AgH039lRiDcy\n6+6D1n0svqMx1jO///q7JlVKWAbk2YW89Cgz9b9RYsYf4Y4EPomZyi6mDIyO\n6dPiJCGi/HkkZ43jqozKlwheTqwEJy+iMgIxC4DPbyt6jqOhbKrre0hDG8Yv\nek7v7UXH/tz138vztXb4JT1Bu+vd3QyTjbdoQ35sls4IQ+5Za4cQnDNHY/uK\nhcTnpx7HnqGEDyigy5MJJyuWOQYuPU4y7FsB4Rn5saimBCvPlG7VuUN6jX5s\n/aE9NmtKnbKtYuGl74cvrDXjUsK1bgNlJnA7Lw1fcBa5FdUVdKteLa8/ojOM\nghEipDUVkZtOaDtwy/aGGRsUlePdtpQfvyYPzZpoYZ0Sl1I7qI3jPVEft06L\nUJMwHaH32CTJYMcyk8DcuECvk6mTjVDXwmRhgfX8aNqCnVxP2OwDAJ9oPJyU\nqAKeI4I9x86wZV9SW9cgvPKKxkVFHp6GAyrm07MUjXHeORSYFiievZoTvjfU\n3mK+QTmXPWfLp6B6E9rPDbPQXNEvrxmgs8nuiTBPhB9r5GzFMEOTgFgomk7z\n8vGmAy61wzOdbewnffEiXwN7REsTOatH5/mE5Y2gTW/u08WBn8gZx4oJKnIe\n4/R2jl9TebRr93Jdu6VEmoLwwUv5Mu5rKMNGLgdIejD+tVAut41baI4sC7fD\nDvf0\r\n=Sx0j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFA4BpbL/oKupyClAm8PzPfW34Vxyx2mXuQeoZpwruZ5AiAngKJT+QuBqBm8Gf15r24u1DOxnz93XpOxbKUPnzoJhg=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.1_1557310912433_0.37346673207009395"},"_hasShrinkwrap":false},"1.3.2":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.2","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"40f167cd1be185d5ebca227684a24862602d1b1f","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.2","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-wy1JEZvzI4v+NYB+ybbbZX3jkb9FUWLr7ue8b2ZEDDG3Aw6uPqI+l7bFEYGwvAYFS+SIyoobTtK5mhwvEbIkdA==","shasum":"5de6cfd84dc175e95ace01d25e751956a5dc24e0","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.2.tgz","fileCount":77,"unpackedSize":242137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2WCJCRA9TVsSAnZWagAAxSEQAKI21voH/dmEOEOZA4i5\nHwYM5d7TKRm0eszVhNpu1QirRCVhNyRrM21dl9+AW21k2AGcCYqbJn7KdwxU\nVGG2GWdR0lz6HOmYpY+9PPocKvQpkPxQr7qfe4KhJ7Dk4oJpbIWQJYVZiYM5\nuQ9nocJbw6TR2Di+xc3to4gg/CCETb3TjpJx4jfabaNW5pxEt9mbn8sDTIzb\nVEivV6F6oTj18kKwz0hEKkt3zPwJviYbTEe9XEjKZhdAMM30myQu7agEapdF\nagrt7YLJjpQM11JvbKY79kpVviedjyPiZ0rH7k4vUF0OYVpCn9Yr5x2oPW9u\nYjRs2jd8+YHAHvYFGz8x5MHIbi8qQip5+jjaAxq6PgLCCXu+hQ5jH8mH47ya\nqNCfc5RMrrG2jkoPTEDqS+YLubjIgiP6jUpeY4RiFxeP2J9CbIqVWXeULl12\nk/kv9dXDrA7sQ9AU3ua6ZP40RZnyBwzobKuwAcS4Yw1XUMfNZAQyDhUrLqjF\nmoS9sJb2be/jtwdICbKNlUg/Oex2wPURrfYVh3xgYoNzriGVflIDw3P9CXS6\nnnT7WDTJ8VKmAIWNJ2EEkO8b9iI3wDyjQ4to1fLw48ZxSTzx0wn2j9V5UiIL\nEAeTgo3wrwcf4xsYVZe/Gyj1kgcmu4JhIvDu8y9nz+RE1dvDNAUVeobhrVeS\npF85\r\n=Y9XE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDqPbEzC9PkM2PAWqrB2kDNwmpxTpbEwdeJ/aF7/8R5zAiEA6hG7JPg0X1nepA/tRIXiLpERf4wNOOCRvOFGe+I60jQ="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.2_1557749896396_0.5741618416334855"},"_hasShrinkwrap":false},"1.3.3":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.3","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && istanbul cover -root lib --include-all-sources mocha -- -R spec ./test/unit ./test/integration","test:integration":"mocha -R spec ./test/integration --exit && rimraf tmp","test:unit":"mocha -R spec ./test/unit --exit","test:watch":"mocha -R spec --watch ./test/unit","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/node":"^8.10.38","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","chai":"^4.2.0","commitlint":"^7.5.2","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","lint-staged":"^8.0.5","mocha":"^5.2.0","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","sinon":"^7.1.1","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"d066f153c2c79e4ced2bc241770be7c7c3890279","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.3","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-XrSkBRxE3MfCSFfMSmbEI/LvCYV9UPUWN1RDfF6r5jXnrhR5qzqxEHxjCwQlnN/uH7IlSfnaVtD3FLXQBznX5w==","shasum":"a7a90d0b8273fba47186eeabc9457c741c0335cf","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.3.tgz","fileCount":77,"unpackedSize":242143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3PDwCRA9TVsSAnZWagAA5PAP/0QJbJ6rG/g95YBgqI+z\nwFF2gnBszmyRKwSm9lD/AD7cCcQgtOKQelkeWF2LomsD3Y0NoQD1ldR2q9fk\n2jSQR+Sp6UcPpAgeejjG12auebUh01oRs/E7YjwgaKsFoCdKtFqLv7PbQ/B2\nM/npVDuh1Hf5Dw7klRJDssnwMXqr/PySFGBshUheac/Jqadv2nbOGw3s7bo3\nsMI+1NRFI1YDj2F2CyhgG7hXJw2wRsSSTgplwrfVfsptM4xifSxNPFmAkdl2\nj3BGf2LFvvKn05nibRVOKT/DCNQjM7uSMixw6+57mUOh3l4oFn5srGUiKOGC\nUfQR3PcC5IOIdgU01WHFVQCeIQvTweEnrKF2aGpWsDKExVRqPE/i2PYIXr+Y\nL1ktDzNXv+QfPRx7O76svrf/0XNibo3Rrie0OOQvAxFS22JYELnDOOjqLThG\nEbfPiIr82NgmmRo4En8OywyN86ehQUdHtS+vnR1XeruYz3ghezbwveYoJ2aj\nGsEt7Ax3sf+mkZTb7bTU2i8907jupJtu4HSBb5pTh7lMj1zllMyT+ELsfEIs\nzbFu6/Tqewq0LpCoceKWS1PUzUrAiyaSuu3rNPeBMEZ8BHGZBHIOFnXb0y6d\nTiOPLBO/V7YfmrO/W1SGoBLsks9ehuQJIQkEokTlhm93bXpyaSe54YqnXQIS\noeYt\r\n=n5wO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCySgXJ8qWYmSf83QNWnKQ7r/3K8HGwPH5TQ7u0sgN5UgIgIpdhn8Ioo/AoPxYWkw/qd/gQXYjAqeJNWrGTV1f+5Hc="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.3_1557983471284_0.7387130776726505"},"_hasShrinkwrap":false},"1.3.4":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.4","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/jest":"^24.0.11","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^8.10.38","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"c06ca75a7dec776881b70fe538a9368f76bfe33e","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.4","_npmVersion":"6.5.0","_nodeVersion":"10.15.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-2QDXnI2mbbly/OHx/ivtspi2l4K2g+IB0LTQ3AwsBfxyHtMFXtojlsJqGyhUggX08BC+F02CoCG0hRSPOLU2dQ==","shasum":"a75b6fe8d3db0089555f083c4f77372227704244","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.4.tgz","fileCount":77,"unpackedSize":242755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5PtVCRA9TVsSAnZWagAAYWsP/3M8ef5VCUOfxOgRsEXM\nSU8Gljgr11h1nO9mOusbKXFDM9kWCkWd3pP4CdKVIOPdVAPJIEtbg1AuBnMS\nSQ5YlDn3S6gFr6yz29LTWSP30l9JPI2+cv7DfemKBxlcBoLDWZOLBrwnO9/O\n4fSHWLRdtmI7JsTG4yvOE5VQFXJuN3VX/ekjdtf8XncAU3dOc9LNIJkRL+d9\nGm/c/rVaJjD3FJIJX03v/srfkHPWrFxJwD3wUJ718ETRRrZTFsXnIjdeoy2l\njkALzw41yGsPd7w/xEwxUQkx2Bjh7Y/5wG9A7mXzNkegzwrXVq0uINATtG0K\nsaBwCheFu9kSDpBhWyEjkmgb7zpfiisi4Rxxon22CCGWRY1IRcBrOzFa82cf\neIPsq3q1gaVFqcHuJvkLmgUn3JNWvlzE9bsUfGuxHLJiKisulhCV3MTILW9g\nCnZmYgeKUfGIgcEPnBAqRl8AvXux2tdhe6EofIYiaE+OHLD+PXFkFp2NsIzR\nyCAEHghQ6Zx63PeqDLMFRiT7I0QEtaQExfujK3pJrgWmSj/hspDnlDW18PKr\nG7voo+j3UpnrYtpxQIdQ98/YXPanTcrbBaAYQr7L0z2ppTIvkeoBcsSPc/VW\n5VQ5Eqj796wLGEINS7G3ZRom0G3Rsq9G9WwrkuT/2OEx5P/1CdKodjQiWsw9\nyT3z\r\n=Ylus\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFiYc8yOagJVzrHdv1Z5CWfwbJ+Ruolo5FAHEOHw+SBOAiEAuF41pwnKjiUFUxpEF3iDisoKJod+Zdv3AqsppofPraY="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.4_1558510420596_0.8241401171705991"},"_hasShrinkwrap":false},"1.3.5":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.5","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/jest":"^24.0.11","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^8.10.38","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"f6d52e71e5f8a6b1bec5cfdd102b4b1f79031f96","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.5","_npmVersion":"6.5.0","_nodeVersion":"10.16.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-LpjSKaEVM17pst4MZeZWoYxwozZm4AB+bz4fR5oY9ksSwea86Dhj7J2dDEiHLlb+HtEwarh741kgMi25i+V6iw==","shasum":"dcfe8f03bf32ccdb795ed32dd658ada8f150cd64","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.5.tgz","fileCount":77,"unpackedSize":242755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9ahCCRA9TVsSAnZWagAA5fAP/2vf37ihpVjLV8Kckplp\nhg8wJbgzhq6lLu2qtljiqy5kCyHCfQTX/MIJD2zD2G0us3nOgMQHNQTtu9ja\nzaR/LD6PgEjySxbz+3Xh68WgPhJCglXeuyUVVNhVz9UmVu+UqTTAL0vKQivR\nyk2IjS/nUpiQqYxV+Dh5iwkNCZwmhWAhd5vLI828a4SWawLdwTvQj5kgNhVh\ntBXx2sW1d8e6XcOnb+au9zxhwu8eokh9wtJhCvq/Qz+OKt8BFvfDXSgDNz64\nxgDhCo+KPFO4U6CqG0Ip9lcLelCkjz4hlvDq04vJovXebZMYFyXQqPnOKHCY\nxhsno8NMZ1M41hUlhn1/R0ZKgUSEgXogzmdKfYCfw/80nCLYIxB8hkcjoDQV\nGal1CeR6hsEtZeHoeXw9+4KigLfRce3Tb70l7261eexIL0N3hljB/nSFZeYX\nG7NK3EtTeZG/ercjvpIdmmV0rOKtvHez5AkdBHBbSV1ZqDovYcojf+YfDCnX\n5Rilnl/mX4GPYW2au1kqPAG2DedSwPwgBXyYZ9gU66jBJNnnTksAiQZ2BhNQ\npVVCdzej8sNmF4YRw3hBLfzFQMG6Mu+eUHvEQvZbEjKPxhuXJ+SLHQqpLPK9\npvUavF7s7vrDtQmzg9HG371WbabW8nJPkZEAWRvdz8VZmHhc1MFMcF+MpC/d\nVhr1\r\n=6CVQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIExFZD+rYcw/H+aSN9ifRiGrW1481DvFLs8skxO2v+P4AiAkbsQfTQXa3XXPK4SZJCS6RiFYJSwy+DbAJFRu/KiyUA=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.5_1559603265340_0.7274307285018791"},"_hasShrinkwrap":false},"1.3.6":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.6","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/jest":"^24.0.11","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^8.10.38","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"489dc89b1d4b043128837c8588d2c3c9ad6dd4ec","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.6","_npmVersion":"6.5.0","_nodeVersion":"10.16.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-QcF2eh2IWLyvIA9TYw41chGcGz+BfEAdjoDdIdQkzUARcljgkozEkYATKnY/3amT+Dx4FHJpCTCyJTZmvHd48g==","shasum":"56e3ddff3c6844b54a596118732f75dd5d3919da","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.6.tgz","fileCount":77,"unpackedSize":242761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAVetCRA9TVsSAnZWagAA970P/2oB1AP4+Kjgakbg5sgk\nbIp29dxTM0sLpkPIks2Rkj7PjXWoG7q62kMR1waOafMkVKlRuPHIp3P49Utu\ne41LjndM9R5aoYmTfABpMp76O3n7UJCxj14mWzXaM7phVECZVJEQQZPPGGWO\nHjptFVBauznzb4xPsWxXt//3rVJvwUVZniItXhNga5HSuWbOfuVLRseEc7R8\nHyan0rLOTmNPt7awnasYXFpWiIJlS0NUdiIbZdZFEjrhI5dANYOQ7lxlVqV/\n5t0meYYr0c5wREhVBvLAzXgD4CzwCNYc8xz3hc/rJUK/Oq5llHE40bM9qJBG\n3xxZYzSHpZQwk7H6r/d4Xj7ukDsyMSIIjT6YAT41HotivaAVKCmOhtX2PS5N\ncLXoE+9CLTBTyv9qrEg6Ds1+mZJk8FgdBglf7wKXtH7TKdpLFH6KHAHYTpvG\nTBkr0EE9HbIr4W8mTvH8Xyta6U2RnBfN9yaYL6VkvxftAnTd7S3yqMpA0d5l\nVHHZ98LQEqNkQzde58ALMSZsQmf9wWXeyVPgE+3wz4DefJ2PwURdzUfzQqC2\nbThq1wE8lBkDsRNZe5pXAN9Jw6BagnOPk8KFUKe+C5RQOF57klmSj897WPrI\nHrWvTvQ6tHxEJ1qeu52l1S/U8e6NpfzbDrkBpPxVlzQ0jRVp2uQd5/8thRq1\nyv+G\r\n=miYF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQJ+9gj2ZbrBBs8monSwTDdXhef9fiPq0crxGQbzTdNAiEAz30ybXjMZ9fUUNaA7xFDQHYGubBkNxIYN4ynARDpjRc="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.6_1560369068680_0.8812856690927164"},"_hasShrinkwrap":false},"1.3.7":{"name":"fork-ts-checker-webpack-plugin","version":"1.3.7","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/Realytics/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/Realytics/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["tslint --fix","prettier --write","git add"],"*.{yml,json,md,html}":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^8.10.38","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^5.7.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"aa950cc7b135c78709677efe4d5abcb7ac0dcec8","homepage":"https://github.com/Realytics/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.3.7","_npmVersion":"6.5.0","_nodeVersion":"10.16.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-n55O6fIIZrPdWFSQ0WYBs6Umdx0EatCvCM7xstegycDucnDQJmyUO9tc1lvabTh8ojL6a9aN/Sh0iFXZxq4mfA==","shasum":"2b9d50f1abcafe2c0b9c6e8cce76ee384fa661a1","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.7.tgz","fileCount":77,"unpackedSize":242857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdArEsCRA9TVsSAnZWagAAq90P/2PIVfrzz6nHjw+CilSt\nVBLFXx/wRBghz0qvJ3yCJtqyINz6yWgAL3X/OkpPrs/9rmADuWyueJdQVydG\nQhIyV9NajSEJbcxbJ0zusRAIXgrXYdvq4ZTwm+2T1li38+kGNVqcPoCzSYjg\nVRcfrYZmpWYEXqC5935MWhqJzxHPDUH+sHf/ErZd54uUerHnAWCglqtRifhL\nvAbzY1vpPb0pfvkEROCvui8FekN8kdnyo3/jCa5OgMVwJJ90U8eqrB3JmV0g\nngwKCERlmj4YaRLuIL3XbSV2jD4eYqo+A1E1gtDXRHxzKenUnfNIkL9pTRhi\njPby11vXmUazGGDR/ZffArysQ3c9d8dY3DogBrrJ3wdxv4BvBOVdm2U5Lsfq\nHS2zLMh/IQ6MnfmivWzAoSxlt6x30h08bpN6+nsQbZxiZ2gO65k6xRX2llV9\nVvnERZWxSNQ0vD/tvxhYT5UjiPxx5QvsCPFKIugV709x6m85tKKPUcyedcip\nv9SjubgGUAFCx/69x+F7nTw+exIYo+7dao/9AVh2LrQYuAKB/Et4bIWPJgIm\ns38iwQg3u8xrHBpbnEP+BXBpOX2UFO3FfbzNHIO6cRASGi6bdU4RqEvV78am\niv2YhGF3e4N3etg9uv6xS+hhzw+rlVFHYAsQQvahS/SBBmSiTB1wLFTgpILt\npXVO\r\n=MNNj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+jvgYFJ/9oCRnMY1EUKJznHsvLf+1h/dm63d4i1XSgAiAHtuPUAgcFW14vnggSblQ5eXPccHTnkwGYQsy3m6Xwwg=="}]},"maintainers":[{"email":"e.deladonchamps@gmail.com","name":"etienne-dldc"},{"email":"piotrek.oles@gmail.com","name":"piotr-oles"},{"email":"opensource@realytics.io","name":"realytics-tech"},{"email":"vincent@realytics.io","name":"vincentnguyenhuu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.3.7_1560457515204_0.4058366606423023"},"_hasShrinkwrap":false},"1.4.0":{"name":"fork-ts-checker-webpack-plugin","version":"1.4.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^8.10.38","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"544f2050ab01a14ac42c6c134d9d6a192885e8dc","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.4.0","_npmVersion":"6.5.0","_nodeVersion":"10.16.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-Sy8rowZZJuGbu5NoBhk+XiSFpspxt9vJO6XOvPNonajm+8SFddUM375697Sn5b3RVVu/xPD9fZyNHCIbFUGnRA==","shasum":"56a91667dfd7746248557d4f533772892e9ec474","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.4.0.tgz","fileCount":80,"unpackedSize":259742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKBdFCRA9TVsSAnZWagAAdTEP/jZ7FOqv4G1mA1RsflrJ\n5IJyFrK95rtkHfQWynhUSL+btnpizzPC1ZLD4UM6P6KPkw/tP/iVff3il5tI\nWrUcDjia7eMRZdvahr4lBw7xgj92yOyf6q5oZ56aMXkOFlqpcxczJcvUDM74\nSIwgpFqPDKVVZrX5z6B4VqB1rl9nrIM0CeuxBHZYjBHS91phnXse/LFZ8xpD\nnZxctAd4NTcxe2gE+qBiLF2TQ1tbzk977aXiQokP8mtFGOptwNXHobtYgBYc\nOiF6p87C3GKturDFWerMAOF8XW7cuoFD370U+REwDOxqNEURYElol2hg9uTk\n7ZIU+9lo4LTzBg44GBTHFspL9bAqw0BF0iuownDprdaBNy49w2OVDUxGCCwq\nWYYtTEU1UKrHgU7ei9dae8BJNKcyz7YFqPg18rmEvG29UfdMZ4OHG93m72op\nCg30KNH7Mfa4y2ELLQ71TYV8F9WPfxAlIa2NXLC5xGEg73epWWZ8TuU5joyy\noAddLAQaZywr3kxIkuDP0uEIehZF56pYDnyelLEQBVqdTLc47oFXcxQv0W9J\nN5kXrmfU9NxqgfxNdAj32Tk50OzvW4eLdnIONZpAH4cW99qF4JobsKxki+0b\neVScDg8zZ94DgOvgK6d+NSPe+bY0AgdF+u74aaqT5A+Qn3RyrY70NWwj+OPO\nJeNh\r\n=n/Sm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpdeCygqqo4nx1Zltctt/m/QDregqJrfCWNeyb/9LiowIhANpUgZeknZOs3DQ2EgoPip1cSPrFnl5/oCutVAhr1UUI"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.4.0_1562908484960_0.13638109850167668"},"_hasShrinkwrap":false},"1.4.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.4.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^8.10.38","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"cb31caefdb272675bb96058efd14ab67b228b7aa","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.4.1","_npmVersion":"6.5.0","_nodeVersion":"10.16.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-/tlW8hhWR9kgFEanM9UmJw5QIOF+fPTUtOuIQNiYw7gSKyMNxXd157B5Yxaic8TXqQ+wTaWTSNyylp+ObgtEJg==","shasum":"fd546242253dbe66324ac5c3793db0ad506d070c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.4.1.tgz","fileCount":80,"unpackedSize":260206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdK4h2CRA9TVsSAnZWagAAWY4P/1VArkZ96/HP3L98Ki5J\n+LwByP94ih+LKRK7mrfIfZY/2hQQ0nPqDIsaW7w57xKypmFPN2KJX2M3iogG\nxaqoMtUZXCLz/TPWR1NZ9mu3A0nXn6rmBKTfmrgum+adqqcSRRavYtI+qERw\nWjYRlSovrzSLv+dfIc8BZGoKV8TpLHyT+5ozMRc4TkffEIfOBeuoK2vyw4U0\n14iyAuysTbOrG5F5yd8WYwWYTGepLZrUvvF57qshZhceO3iqyadCipooqgxw\nivo/fqXFAtIm21JP5MiWYQkGjoKemT3md18JibPm9Dmom/783J8GoGdwiQKG\nh8EcQlvKHR013SKrS0OC7QPbX7+YCaHRm5xex9oyyfK9LtV/PsRvaqrl6LUU\nlw2KhPw6MGruLL6sNnuoQqU24AfNPrpHUG75t95iZVOW3U3RErFGQyWtdVyA\nUvhDQ0gPcKFg93vAfJaWZwD7eF5pt/D47j3eqPjRAkifW2CaWXg1BGoRpnAZ\ndB99s4nV1kBcuLiDa8rf+pF11EdiEQHZvVFabgpLEj3yJZ4Nve1l0yxWUh4k\nt1bcHlbT/LPCnts5XU7X00FeBZwyI0w4z213uh+oQsyqlixREH6It4VF3IUW\ncQqrcU2fx+dSvtJxrqbnfaB+WaXYyE2UROok/0ZHyry8PhKH2X8WpOx150Vg\nGOLw\r\n=4hPW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICx5F5xI8FoQIkPvZDxzu12URzQtk9RI4DxulHQ93QGMAiB+hw4o2wfRPHZV55N38kn04iiPM0uEBZyXko611tEPRw=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.4.1_1563134069995_0.36143251089609585"},"_hasShrinkwrap":false},"1.4.2":{"name":"fork-ts-checker-webpack-plugin","version":"1.4.2","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"f292028733f87a341c10f41c4d45b713fedc87ad","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.4.2","_npmVersion":"6.5.0","_nodeVersion":"10.16.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-y6A8nwRp3/mq1nEpuMKneTWz3TGBkXytkIfpcBdLFO+tsADQwdhIg1VvnMSi7q86r1UGJcSruRboYLwo1RF5Ew==","shasum":"3929c6cc6577d0497cecb57238fb0499be87fcb7","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.4.2.tgz","fileCount":80,"unpackedSize":260453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLD7YCRA9TVsSAnZWagAAg0AP/RwMv0I7bQfAUglVZTeS\n0WNXU3F1ikwpgo/6ZEbBSaC/2k7uw4XPdce/fvKm1mGixMBzQfjhl7w7cGS1\n+v6Ublb9se4+A8c2BHfzpeX9WFXw08BhYj0NojTXIuxGbdZ7ys7nOBSD2Tlc\nzv14uktTMbluhHJ6KPf8rFTdMwz1o7Vl+ukpjecdUb+FesVXydjxNBocMLCP\nw2wqsKTkMtmFlepHHFL1ouAbAijyg1acm6sIcfbs0ldI9G9ORbBDdZMMH8E7\n96eZma+lAcOrUobiFNjcPxT3z9t2eGYRvYJ2aNW9DlyFfuwhNYWjuXTySRhj\nJHrIvssXcsKvPEnxPLH+8vtCj7Hjuax69UWAgHBsJbKcwQffmnmTRjJlwUrU\nbB/5vR2odJAMOFWVI0ktbh62wmc5ZUGUejcw7vscTIEZSfX3pN8DvB186mIu\nGiTVfthQRyOTPW5+fOHuo8+BigNvxWFwCw3KGm1GyzKfMPvqmNsyhcL9jBB3\nB2Gvht14pZys5DOswQvoom2hzfzNFRmMciT+fSD53QxUotVzaC9fri8yNiAa\nCZnq3HdyLussmywz5+tbMbU9YbuJHNOiSEps3bjwDJxPiil05W1O0Y67nd+X\naBpWDvGdaPhqncCG0ynEZfmMDT6ACbo83rmBjCQuzZBxv/Mtajpk3XZJ5fRw\nO29N\r\n=3YwH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAdbFWblnaZsmUlXbNww0PGenl58c+1SGrn7+B0gYTsmAiBFTwuq0BbJP59R+S+5K76xL57zjIFsCUcMPmOiQeS6yw=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.4.2_1563180759419_0.19238909671931093"},"_hasShrinkwrap":false},"1.4.3":{"name":"fork-ts-checker-webpack-plugin","version":"1.4.3","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"39fbffb8356f84981b1ff7853638bb8eee457643","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.4.3","_npmVersion":"6.5.0","_nodeVersion":"10.16.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-srf43Z3B1hCJNrwCG78DbHmWgKQUqHKsvFbLP182gank28j9s05KJbSZaMKBA0b6Pqi0LBLpAFWeB0JPbc1iLQ==","shasum":"2252c1f8ad1b25313e056835d939b423ea240cd6","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.4.3.tgz","fileCount":80,"unpackedSize":260835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLjbmCRA9TVsSAnZWagAAuvAP/jP0AjemhVkvLVUWxZEo\nTY33Oar0JWDN4UXhvOg3r38C/b6HzZtnO/IZNyIsBtYjEILX7XKj+TYkH7gc\nf21Osp4ul519hYEZeBHp8/k+Ch/0lUY3zxXHIWWwwvdFjfxmFhCq+Np3GvSU\n6irJBAgW7nktZm4PKQhz76QcBMbnoqOOq4+iptB3UI7Vey/Ve5SjcTT8437e\n2aCJ9cheWwoF7XYmmoobOmw+jjMj+bSzmKH3WGBFm3ZsHgQLRJk5xOd9dZ4D\nXaP3Z9SYjgP9Mcjl5yM0PZqYbHoGlnbDm9FdnQ2AbuhjMj3evREIKRdD1SN7\noM9LF0ipopaCOHKeYTj9kfOzC1FMUpXqDdAxCbbFApUJtxsIqy2Ps8QtwDxI\n7jHQza9A+ZnXcZSoCvqaCVCTIxOpCubVsmf7k7kjHDOiZSXEfjpsgKBlgFlw\nnaCGKRJwfcm6wcVoK7rJN+fZfcERMqqRRTeVxVy8cEq0UUsJJ98yabacjr0V\nRpaRkSDt3L2I+mq+TKW8ywLjUMEJmQ2B5YjQZ37+F/TMj0YvP0Rs3iqARsCy\nt+HPRERi4xZW8qSjefhKtGTc1qmjVy7WTawviaxuxkpxOsoDuhGe4LDbe391\nxrnTsv6tMupAuRcWGn3Vi5Ofq4+W0oWSaIfVoi8CNwjr2FmSh7Gr0PlxcJlW\nLEIB\r\n=EGcp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0DlwhwE+sEll+z5HL2TCTH7p8Jzsq7Xk3LhVR9lh1fAiApbHaAvqqo3UigkDnokG6UUB3e58xGpj7RscGqOswtRA=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.4.3_1563309797417_0.5049595603079142"},"_hasShrinkwrap":false},"1.5.0":{"name":"fork-ts-checker-webpack-plugin","version":"1.5.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"4e8c6f98fb14dced5f40a56723b459e519d59362","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.5.0","_npmVersion":"6.5.0","_nodeVersion":"10.16.1","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==","shasum":"ce1d77190b44d81a761b10b6284a373795e41f0c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz","fileCount":80,"unpackedSize":261031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdRMTrCRA9TVsSAnZWagAA7oIP/jjLQ9LGRLP7Gcpa8OQX\nlXeubTjqAS5KINVRpUI1ZmUlpsgKt4etV7W3umjF2h/ahYSBDHGaFPSlcQqZ\noIpxbPcznsiRk4xkUEoXNOFWd+C0J7ADUhwYR/OBb70TUe5rqIHaAIOWcwUs\nBhb9G/utSxCDE9vdcUc8mXRAnGX6AW7hXssuV2TfEY2bSH6WZqdi2EZoGCSe\n3bp6cXM6yrJ35AXxI1YSMOvhynnS9gTxnRkP29+0bi7z0XGN/VGLDNQDn7cK\nLoHX9NWJgAZ0LdwBeRz92frAG2f12EZhhJ/Se2YTVmniNbStRSTaeO7tq7Uy\n0ANsBKiiX3/CthACGjVA/tn+Ge7JJDNhkbuQuKWlRJz1kWrLBgOfb8CE5CdZ\nwVpDb/GvWpKwYra5LmdQa9+tVd8hNQC+ElHafUiXSK4+HHrfTOw1/99QLIXN\ntl1srRMr5Z2HbrGcw3KeJQVzD9Wpkb3Z40A0+p+/s1rKpoEC0qJDy1rPTLYS\nkB6iaxqfJYBUy1jKSY9LJZevpez3ksGY7BeFdJO1BYn+ZXb/hnDyWQekSFgJ\nSCoCl3+LpA0I6ZtsjqeW7Dqfai+Ed8AiClhoz06iKpFoBjQ+WXoHiXpRCPWJ\nOW6BIQdFFP7MNw1WtvxKnl5Xn0Iz2dgTx7CTWODfafBSfgJ6s2s3tufvoYej\nGjTu\r\n=n1DG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGV16dKkpph3mV0PMLdO2nvK/i+2JXtc+QVCHWW9WgriAiAriBQO059pM7fTH0c8FKnA0Vn4Zt+7Lz96hOZPQyE6GA=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.5.0_1564787946129_0.5657504295217106"},"_hasShrinkwrap":false},"1.5.1":{"name":"fork-ts-checker-webpack-plugin","version":"1.5.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"a89fdaf081b845e82eb8a1b578c597da6e24d2a2","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.5.1","_npmVersion":"6.5.0","_nodeVersion":"10.16.3","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-IbVh1Z46dmCXJMg6We8s9jYwCAzzSv2Tgj+G2Sg/8pFantHDBrAg/rQyPnmAWLS/djW7n4VEltoEglbtTvt0wQ==","shasum":"f82d078ba8911c7b2c70703ffb3cbe588b33fbaa","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.1.tgz","fileCount":83,"unpackedSize":261957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpD53CRA9TVsSAnZWagAAJSYP/3lWFVlBATV7nEuHSHsD\n3AN5MqiEqgKcArwWBhIrcxaCV9whJ4DwibfHpm33dZJo+JODVzj327T3hfku\nWBtKpzqJpH1Ytkr16yLF9X0D90rBSd6Cy9BGxW8eFZG5sDf5RBqauGPHAQMJ\nKnNhzNS7iwHaYKKPR0dpUlTWSj8ZGyRogIfqNty0WK0UUVIXkQSaAqexrcdX\nPr1zPQnHfxnX/xwh36pZ6S+yv9JZ9iS0xdo8LhV/VeuyKGJ60MYc8zJfWIxY\nfxhwIjuYcg5R9eLqp0l465dLzY1EXgQBDVMYL8JMfPSsBWfDoU7HAe0f3KPw\nUDI/Vkr9f5Bqyxlm6jXKSGUzpFBcB67aCCHhSFNMowpTBpDN+eUdBkG1XGFP\n6KRhtOeWPcyif87oRNhBFZBIxJYYHAOUbpYxum+n29Lp9a8A2L9ihtD/sNil\nYjmn3shqHzeHwSJXtT0IExA/glql8mj+Up+QPCmUBCgMyirGqL5n8heBngd0\navov7XZtIviAkucEAElPj8ZukfuNqiLfFIs3pEK7Cgm1XiMbg+ZpRGfbcnre\ngPpa2XUoAAAs6048NlHmZbXw5CdY46n8O4/VJBcUQqr/nfnVUNZqI0s+k6tj\nPhn+qsSe8RY8kLEA1aFpK+j+gU6QuMSf6NJWtgSA021s52Ej/25fv9XL/hPb\nptwV\r\n=x9jc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaTc7zBcXLJgY5OyaUAFjByN2TxBc6b1Cah/QHGhb5JQIhAISCrk6m/qtyxPOfarCBPzTnxfcAlRIZuKn6X2YUi3KI"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.5.1_1571044981516_0.4470139080136739"},"_hasShrinkwrap":false},"1.6.0":{"name":"fork-ts-checker-webpack-plugin","version":"1.6.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"9c37ebcac8ad9882e9191d74cc2f42bab866683c","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@1.6.0","_npmVersion":"6.5.0","_nodeVersion":"12.13.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-vqOY5gakcoon2s12V7MMe01OPwfgqulUWFzm+geQaPPOBKjW1I7aqqoBVlU0ECn97liMB0ECs16pRdIGe9qdRw==","shasum":"a81fd1c6bf5258fa5318cf3e9a7e9bac006f7917","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.6.0.tgz","fileCount":80,"unpackedSize":261022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsTtICRA9TVsSAnZWagAAlhkP/ilctIz5ZYiCNs3QzbiL\nT0UshDdUkX02/5Ydse+MtOzN4MnumLetw8iB5mDvfrTVoqMLqv7ODJej2hCX\nl+BrT/OfLMPDlm8pVnPmZdYl5EhXvxHe3Xcd0GvEuDO/sDy5PlJiICsaFPyf\nwd8QoDNqFPzvDQrYvVTUv76vxsA14ZAEe4eIeFs+nC7OsfwrJvSyN+TpArpi\nsS55R1kxsIT3R15t5grd21No9BL24qDnA2NSWYoYQxHWQIQgzXLc7b+BpO8d\nvxnbgu/12BjcEPj0Q6+YTGd2T3qjqd8523Ibq20XQA2Vb029LpBkflhXHUYF\ntmoOeioLyvgx+rc8I0gFHFtq0fHXGNzx6iYUAKpghnymh6bmdsGihdb1V5QA\n82I+4h5c9yOzdOaQMnVohRZb1PSxk5taB3l3VzhrLSiy90Tcd3BRz6JyBZVm\nU2+JQOzyNx6E6WBNJ2NcRz0E4RQ+VfMvOQumpiDGExVfpUsE/pON+fdKzdYX\n/rRKvY4O6zIu40f1WVIewunneJZt1laY+sy/xMsgSaIq1seFihAg4q1RLAAR\nTeHggLTjVj1EP8xmZbps8kZaNaCuZ2ePR1oodfC2jkDXBFJdEECb3IfUu7XX\nkavyCntaVW+CCbD36c1TNXg1gcHMnZGkLb5oDpsg5HntEJnL/DNzMts6uv7F\nm7rk\r\n=8+wS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXLmRAlgYRR/7ecKc278IhDZ9duUMReinmLGR6RITfhAIhAK/ettD0m0M4mIzPuYq/8vyOZAJYh1gRLQXhC+JBNbJE"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_1.6.0_1571896135332_0.08183836735093619"},"_hasShrinkwrap":false},"2.0.0":{"name":"fork-ts-checker-webpack-plugin","version":"2.0.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"dd410b0cff61b02adc952601a007a06ac7970659","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@2.0.0","_npmVersion":"6.5.0","_nodeVersion":"12.13.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-9FWDlYAkuJFvWW6/uykliAAbhneLOS1PK3z9DjFAt3BLaUsCcFHFFzICSot998J4VPvT6aA8F+XIlxE0q0G6Tg==","shasum":"6b77f0ba7edbe03246721a9f0519e32eb5765f41","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-2.0.0.tgz","fileCount":80,"unpackedSize":261295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsuyoCRA9TVsSAnZWagAAubgP/R+BA75m00gaYwMbEq76\n2ebnqdom8bjQVILWeAv/antFoIj0CN0gd1U6rehpu44IqQo6it9E6/HUMKPz\n42ktH3nOlxBI9Vw6y+Od0E9mxWQGeyXFoIcPonxEajO5W1/xWYx0Kx6kEngD\n17HWu00Id8NoIPGXaL6Q3ZEhvGIu6vKScVh6NaaOi+c8ryoxKDHrtOIvRwR8\nd6M9pgi9z/q6S7QAQfF5eTsyFLSAN7yPCLF98g04F56wU82z7ryMFghyV6oe\nlMk6DEskf5gzmqNVn4vHPkwt7YCsMrawZB5irhVBbbAZAdqv6bQa7yKeRMfC\nloVMB0c6TmHWxPngsizwnCpHtfUH5/eA/05m57E/As/xHNUq1239ZYv/tHfE\nckVPrV4cHuZeZ5+x0cqQiAVId6ARU9UvdOxuKw1ectyc0KWSoqkd0F+6nYQY\nHBpZPX3FBSnfJ3H77UYzxhi7jRIKvhIKSI5EETx0hpMwrOeBKTFde+lGbKli\n/4vb/wYqKzo7Pe5f0+ptKVUM7qMtJLXWbKUvQ+fprPZPHHp25ry4EtD/7OWF\nRhQkVBEz368YGtvJU5pS+zv4c8ke03Dqs4wRjuzc6uhqA4k4P8BpOOOYipKS\nDNXiTyC8HE7NGijgan5L3fce2JwhnI6OPkkB/mf+deRQCMuyQdHEsBC5O8ow\nR9hD\r\n=eMj7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWez0Ubc2YYcuN+VgemOTIGihHA8BX66hpcKpsjNZ7vAiEA2LSX3YdB6H57thAr6cUJv+NRyX30rBRA8cFuZqzlqGM="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_2.0.0_1572007080460_0.26621443558260016"},"_hasShrinkwrap":false},"3.0.0":{"name":"fork-ts-checker-webpack-plugin","version":"3.0.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"074b2bf036e670ab528216ccd89523161246cdc3","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@3.0.0","_npmVersion":"6.5.0","_nodeVersion":"12.13.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-WArJLuWoQJz3gli0tc8MjuSl+arIeXPU5cADg0LxnczoNYngXlo26AYpsqgj1X+79q1GS8dNUAHVjtQ+Z+WQZA==","shasum":"9d1eaca50ff4c006dae7f882849481a39e27634c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.0.0.tgz","fileCount":80,"unpackedSize":261145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdt9MOCRA9TVsSAnZWagAAjDAP/2BppPaEOrTEA5t4e2Vn\nMQpC/lZ0NYGLwCiK3m1limWvz/td/HLXbSaJyRK5HrYLEkqvWgqSrrfvA84h\nLb/Hc4AvKOzZVjkdGDTvSMpKxkPY9wKOL9EudnGCyZFaHavd7oCGJ/u/s+RB\ncV1wXm3bo3r7u/+Zu1BGqOwhaFKjGJM7wG/tBWoT7hZ0HkIezibTk6ejvKLw\nJXQxESw92CLuqlGRdQg/VDPrekDkZrw8MNwDvdOZqIs0eKmNwuogsGs6sgU/\nRdzh3+dikCVCSH1DTFWOi/ELPuW7GXwRlP/ug4lDOHEonV8tQRIaMMuPufUM\n9OQv1Ld9KsWsl48gwsxR2aUTJlo8eN1DMyvupgOaPWKe3OofxIacHgZWjO6t\nlWpMNWea9fOCWFcuP6N6ZFEabCk3dhjRMzz6ccKQOGXGNUUKxZKPOFB7Fr8E\nnmWduHFvpl4I82NRLhDvw6LxYfi25FNy+qaJDqfZ2ktbO5yDN6IlpNupkzZF\npy719oZlJ5K9YIy/jIw9AIxSD0x/BgM11NRL2BsVp/1Q5irUmYauPcQAxE4z\nZ140XqMbHF4d/ciUAiO9NrRvFf1ML10iyGGiXo/V2tS1drSz8ZAEpyu2ho5V\nTuoUgVTniELws62siG+8m0gMJNQKGJxvRlXeTW04OWTENrAY0GmKDdgZ5cot\nFAXN\r\n=dYYV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHyudTutcqb0crBOm/sskEnPoU45QZ6a4CwSwC2K6zZ5AiEAx1Y9Zti5Hsb+BwbDb1UGB/xlB7DhhHXSzn+zteoKEvs="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_3.0.0_1572328205556_0.7623229434363012"},"_hasShrinkwrap":false},"3.0.1":{"name":"fork-ts-checker-webpack-plugin","version":"3.0.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"73e3903d5b5323b7cfb9379a9693506bd579de6e","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@3.0.1","_npmVersion":"6.5.0","_nodeVersion":"12.13.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-du52HfZF2e2VaUHjaSua0KfyDy+FDFLbuDjCtEYvdOt05cZg6VpeIxDxK3sT1QOSNHwHkJGSZluEqmHRj9NffQ==","shasum":"cd4c15827da4c6198a004aeef750f5004672d7f4","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.0.1.tgz","fileCount":80,"unpackedSize":261137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduAWfCRA9TVsSAnZWagAAV2QP/35LbGnrVq/AeYWa15Oe\nrNlYMEh2zt2TCNjbB3B0pnR5Ze/CjmX8aaoGMLWEYEKfWiJFfiNZYWulrGqk\nY6NxJlIL/I02l+nWzdmruHO1s1+r+XyEnp61n57cFLE4OWvrAC+ho7E+WV2g\n5Hu75QRmSfNhEk6CR9qvmA6hetdRuX5azMPlwFrY+OfX+CZV96pP9VkNL2dN\nE4wfi/CXcitJ7CXqYMPk9DzEleIWmmtMoJdqzuwZK7fyOmnwq6dV5/jnGmxW\ntbnQZVx2QYqVfyrJotPHAslwHs564sOi3HnKAmH/qUFRT8ZHQmcWxzxylmVO\nqG6rUz6wFVo58r+5hPjhaSIpnApQAM2zjBFd6rDldawTAxRHrohDbRcID7a5\nhnE/AubPnGLVgWzPSNVYIou4gGr2sappht7k+QWQWw+XrB2ilwIZT1ggrhWL\nesDCB7lBmE+8UuQsV2aP7ulzAe7EcsFdY0DkIpDXHOz7TxXT9xyCaz8029Ck\nSYD1uLgAaeXv6FZCmdyyVon8WhUoE7LEeqiL83MBBOaqTsYtOPZwcmBQkeYy\n0l259E0PQNSNeT0gLruGviDzPZW7DYQ5HUhkcnL+i4MaX47n6Y+QTlAvCEwQ\nXJ0VqVPkUqO6GJqYlMlnrBqAGTkp5pXmhlcbl5XjqDnBFZF7jKXsxL8gULpt\nx6fL\r\n=cY9S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQYn+EW8EJh4RSqsFvR8SY/SIcnb85zfhC3JGFv3YPlAiEAmTllLeUoI99hQcRLUZqIFNtSiIk0eTFSS6LUYr/pCBs="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_3.0.1_1572341150373_0.6145985312312834"},"_hasShrinkwrap":false},"3.1.0":{"name":"fork-ts-checker-webpack-plugin","version":"3.1.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^2.0.4","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^1.7.5","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"032475e8d58a2b9d55c70285c9778cae2ce2aa96","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@3.1.0","_npmVersion":"6.5.0","_nodeVersion":"12.13.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-6OkRfjuNMNqb14f01xokcWcKV5Ekknc2FvziNpcTYru+kxIYFA2MtuuBI19MHThZnjSBhoi35Dcq+I0oUkFjmQ==","shasum":"fb411a4b2c3697e1cd7f83436d4feeacbcc70c7b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.0.tgz","fileCount":83,"unpackedSize":263780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxOvwCRA9TVsSAnZWagAA624QAIV92hJelmyYjVWPFINH\nILgc5pH7tsaoJVpRXgLfM4m3be/0UoJ7wsMhS+b7ibuyW/iZ7jY6vhY0kQsp\n+GRpAhvOC2jgjZWQcs5wwlOdJNxe84xzR37rJlgh0/+xTDE0tS2ivwjRQi/4\nwgpWjGkt5HGGPtymBMWjfHLE9gSEdmmk/cd/5HQniJkj3Nqsxq9TIJoGgEjT\nD+ttGAoCOiFi2sPABNgBpubeeZncnMaQxlGPySZ7jmSQIvlTeV0EsddU7I1X\nOkNbtxan0o01Q8L8HePCSl2DW90CJYqPNoYvOKW0OjJzBCrrS+ucywk2VXz7\nnILpn6D1jCKeIS9c+Rnb1lKwn0PJDWkqBiDtKzkje1O6XBib6timHcRPEb4e\niQHGvRIt782Xnb0loEpiUAxeJKSHBrsodsBlV2RcHEeOgQkijLdwRckUXqIm\ncvJibzDqr3BIEmD9TyD/vDZjNtv52jUZ3wqCfewfEnyNjfMKmrP5Faj1Cv0m\nwkQWYeiNFTybZtnhv3b5QNbYI8FQfK9m0j8Cujv+RVwM2rm+BCuPv0lOAqyU\n/GYdGIPGstSDWSaGjCaVz+S2gPqqkP5c8GhU7po1X3snnH8OJwRSSGEhX0K2\nGAnVlIAPyy/XW6F/kxS06Q20pMk/LIarKDOyfN1LuEM68RKE9uN5rCN+7A3w\nIFim\r\n=Ee8a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAfHuieHOTEfZAYVxvoM2l9EqGANc4+Ngdn7iqQx+S9uAiEAmp+yCA0wIA4E21280vHGbd6wq+r8N03EnNUktIMorW4="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_3.1.0_1573186544227_0.9053939169414318"},"_hasShrinkwrap":false},"3.1.1":{"name":"fork-ts-checker-webpack-plugin","version":"3.1.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^3.3.0","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/core":"^7.7.4","@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^2.1.3","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^5.0.0-alpha.5"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"04581f4a8cc999563e9ba1c63bfee7efb97e380f","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@3.1.1","_npmVersion":"6.5.0","_nodeVersion":"12.13.1","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==","shasum":"a1642c0d3e65f50c2cc1742e9c0a80f441f86b19","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz","fileCount":83,"unpackedSize":263809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2+6FCRA9TVsSAnZWagAAyxkQAIc4ArKzcRzYpBmtm69u\nXdwa2tMFb1k6g+wMSFwq6nVu7K+Hi3Wf23qu/rXHosBuW9PAxAQJFOBBUul4\n3JzuY6q7/pzx/6pIGdKG5t9Yj7rSyg2YWpFjvUwem2MgOZfR4Sl+Dl54OqUJ\n4jRtcLcIj8PJ00+/G3S9zCihVvcGe7x08V/VP6cdeV7HnP0FD02rm4wewXVr\nHn72EA3vea5xqd5lYuUC7p3b8HQ0CLc90lnIllONkVlwuxL8kdrZHKa0IS7r\nUKpGl89Ht6rJm/z/MdCh4mf2Gw806fTmYw4dwlnE8MPVaLW/acewl06BB6OH\nNK81WriVXj2A8EPiIbuU1+mIgaZo6b9APNMIpPvyrGCRBrpMsxgE9R29DWJr\nbsGLgyTWs/O85t3h0HuaFCKdmVIAsTJzFPp91aZXxahZwodAGlW1E672aFKl\ngWnLdPB6qKg56I2qdaasyQqrsuqqpN63+HRTfQf7U+yxyfsBiXOj9zuzcLYt\n0w4PeNopynJ9KBICqaOdCbKMueCUerZqJmtg247p7ekiKS5P/ny+WzGuRsEo\nrpPU1euQT/f1LJP11dwMb26GF919lc0u6xObC1t6GfszTIb2ZlpLqLoThwEa\nidKqVnfEiOtSQwmz44CiMwhYPqZ11E/Wu03NorEtvydsJB9DaCQdIyL++YYa\nicpY\r\n=9FY9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6T4Dfs3k41/MGgAMA6raxURbzKSbbEChygZN9OL6ySAiEAt2b0Zn+woMF3vCVsymUSwLBq9xYomTsEBlqa3L/Q1wY="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_3.1.1_1574694532650_0.6950877118602441"},"_hasShrinkwrap":false},"4.0.0-beta.1":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.0-beta.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^3.3.0","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/core":"^7.7.4","@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^2.1.3","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"a033017bac7ccc33de28678fdd5afd9f65bfc0a7","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **TypeScript 2.1** and optionally **ESLint 6.0.0** or **TSLint 4.0**\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere was already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we used [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why this plugin was created. To provide better performance, the plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with TSLint. It can be scaled with a multi-process mode to utilize maximum CPU power.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With TypeScript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\n[ESLint is the future of linting in the TypeScript world.](https://eslint.org/blog/2019/01/future-typescript-eslint) If you'd like to use eslint with the plugin, supply this option: `eslint: true` and ensure you have the relevant dependencies installed:\n\n`yarn add eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin --dev`\n\nYou should have an ESLint configuration file in your root project directory. Here is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // Specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // Uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // Allows for the use of imports\n  },\n  rules: {\n    // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a good explanation on setting up TypeScript ESLint support by Robert Cooper [here](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## TSLint\n\n*[TSLint is being replaced by ESLint](https://medium.com/palantir/tslint-in-2019-1a144c2317a9).\nhttps://eslint.org/blog/2019/01/future-typescript-eslint. As a consequence, support for TSLint in fork-ts-checker-webpack-plugin will be deprecated and removed in future versions of the plugin.*\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from TypeScript's diagnostics.\n\n\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **eslint** `true | undefined`:\n\n  - If `true`, this activates eslint support.\n\n- **eslintOptions** `object`:\n\n  - Options that can be used to initialise ESLint. See https://eslint.org/docs/1.0.0/developer-guide/nodejs-api#cliengine\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **watch** `string | string[]`:\n  Directories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls). Not applicable when `useTypescriptIncrementalApi` is `true`, in which case watching is handled automatically.\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of TypeScript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | (issue: Issue) => string)`:\n  Formatter for issues and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/issue/` and `src/formatter/` for API reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **workers** `number`:\n  You can split type checking to a few workers to speed-up increment build. **Be careful** - if you don't want to increase build time, you\n  should keep free 1 core for _build_ and 1 core for a _system_ _(for example system with 4 CPUs should use max 2 workers)_. Second thing -\n  node doesn't share memory between workers - keep in mind that memory usage will increase. Be aware that in some scenarios increasing workers\n  number **can increase checking time**. Default: `ForkTsCheckerWebpackPlugin.ONE_CPU`.\n\n- **vue** `boolean | { enabled: boolean, compiler: string }`:\n  If `true` or `enabled: true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in TypeScript 2.7. In this mode you can only have 1\n  worker, but if the changes in your code are small (like you normally have when you work in 'watch' mode), the compilation\n  may be much faster, even compared to multi-threaded compilation. Defaults to `true` when working with TypeScript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n\n  <details>\n    <summary>Code sample</summary>\n\n  ```js\n  const { resolveModuleName } = require(`ts-pnp`);\n\n  exports.resolveModuleName = (\n    typescript,\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost\n  ) => {\n    return resolveModuleName(\n      moduleName,\n      containingFile,\n      compilerOptions,\n      resolutionHost,\n      typescript.resolveModuleName\n    );\n  };\n\n  exports.resolveTypeReferenceDirective = (\n    typescript,\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost\n  ) => {\n    return resolveModuleName(\n      moduleName,\n      containingFile,\n      compilerOptions,\n      resolutionHost,\n      typescript.resolveTypeReferenceDirective\n    );\n  };\n  ```\n\n</details>\n\n### Pre-computed consts:\n\n- `ForkTsCheckerWebpackPlugin.ONE_CPU` - always use one CPU\n- `ForkTsCheckerWebpackPlugin.ALL_CPUS` - always use all CPUs (will increase build time)\n- `ForkTsCheckerWebpackPlugin.ONE_CPU_FREE` - leave only one CPU for build (probably will increase build time)\n- `ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE` - **recommended** - leave two CPUs free (one for build, one for system)\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Hook Access Key      | Description                                                                    | Params                                                                     |\n| --------------------------------------- | -------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| `fork-ts-checker-cancel`                | `cancel`             | Cancellation has been requested                                                | `cancellationToken`                                                        |\n| `fork-ts-checker-waiting`               | `waiting`            | Waiting for results                                                            | `hasTsLint`                                                                |\n| `fork-ts-checker-service-before-start`  | `serviceBeforeStart` | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                                                          |\n| `fork-ts-checker-service-start`         | `serviceStart`       | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `watchPaths`, `workersNumber`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | `serviceStartError`  | Cannot start service                                                           | `error`                                                                    |\n| `fork-ts-checker-service-out-of-memory` | `serviceOutOfMemory` | Service is out of memory                                                       | -                                                                          |\n| `fork-ts-checker-receive`               | `receive`            | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                                                     |\n| `fork-ts-checker-emit`                  | `emit`               | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`                                          |\n| `fork-ts-checker-done`                  | `done`               | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`                                          |\n\nThe **Event name** is there for backward compatibility with webpack 2/3. Regardless\nof the version of webpack (2, 3 or 4) you are using, we will always access plugin hooks with **Hook Access Keys** as\ndescribed below.\n\n### Accessing plugin hooks\n\nAll plugin hooks are compatible with both [webpack](https://webpack.js.org) version\n4 and version 2. To access plugin hooks and tap into the event, we need to use\nthe `getCompilerHooks` static method. When we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/),\nit returns the series of [tapable](https://github.com/webpack/tapable)\nhooks where you can pass in your callbacks.\n\n```js\n// require the plugin\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup compiler with the plugin\nconst compiler = webpack({\n  // .. webpack config\n});\n// Optionally add the plugin to the compiler\n// **Don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin({\n  silent: true,\n  async: true\n}).apply(compiler);\n// Now get the plugin hooks from compiler\nconst tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n// These hooks provide access to different events\n// =================================================== //\n// The properties of tsCheckerHooks corresponds to the //\n// Hook Access Key of the table above.                 //\n// =================================================== //\n// Example, if we want to run some code when plugin has received diagnostics\n// and lint\ntsCheckerHooks.receive.tap('yourListenerName', (diagnostics, lint) => {\n  // do something with diagnostics, perhaps show custom message\n  console.log(diagnostics);\n});\n// Say we want to show some message when plugin is waiting for typecheck results\ntsCheckerHooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for typecheck results');\n});\n```\n\nCalling `.tap()` on any hooks, requires two arguments.\n\n##### `name` (`string`)\n\nThe first argument passed to `.tap` is the name of your listener callback (`yourListenerName`).\nIt doesn't need to correspond to anything special. It is intended to be used\n[internally](https://github.com/webpack/tapable#interception) as the `name` of\nthe hook.\n\n##### `callback` (`function`)\n\nThe second argument is the callback function. Depending on the hook you are\ntapping into, several arguments are passed to the function. Do check the table\nabove to find out which arguments are passed to which hooks.\n\n### Accessing hooks on Webpack Multi-Compiler instance\n\nThe above method will not work on webpack [multi compiler](https://webpack.js.org/api/node/#multicompiler)\ninstance. The reason is `getCompilerHooks` expects (at lease as of now) the same\ncompiler instance to be passed where the plugin was attached. So in case of\nmulti compiler, we need to access individual compiler instances.\n\n```js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup multi compiler with the plugin\nconst compiler = webpack([\n  {\n    // .. webpack config\n  },\n  {\n    // .. webpack config\n  }\n]);\n\n// safely determine if instance is multi-compiler\nif ('compilers' in compiler) {\n  compiler.compilers.forEach(singleCompiler => {\n    // get plugin hooks from the single compiler instance\n    const tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(\n      singleCompiler\n    );\n    // now access hooks just like before\n    tsCheckerHooks.waiting.tap('yourListenerName', () => {\n      console.log('waiting for typecheck results');\n    });\n  });\n}\n```\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\nOptionally change default [vue-template-compiler](https://github.com/vuejs/vue/tree/dev/packages/vue-template-compiler) to [nativescript-vue-template-compiler](https://github.com/nativescript-vue/nativescript-vue/tree/master/packages/nativescript-vue-template-compiler) if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue)\n```\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: { enabled: true, compiler: 'nativescript-vue-template-compiler' }\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.0-beta.1","_npmVersion":"6.5.0","_nodeVersion":"12.13.1","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-TStO4qlpu7qYZ9CobTeVo43EyotG95ketDCKQuqKAbSGaDyK1HDcRt/2XJ5eBw8cv4BFd/MQ83j5HNVDxtK+sQ==","shasum":"6805ccf06e8be17269d9d372682d465ed2ae4ed4","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.0-beta.1.tgz","fileCount":131,"unpackedSize":269637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd91GLCRA9TVsSAnZWagAAwXYP/1NQl3STz1uHsl1pEdsv\n/9FU4u0sXUORW5kml92cm2LLsOOMNHl1nTmvMnbAdXH8Bzge5hQGWbpREFLX\noERMjcDGhA6TKlnFC5hK3V2Y3lndjGBTvu7B6C5JX5LbGS8b6GpUChKPa0oe\nGkjXh0SQBf7icq5p5lzYpTkieZuThb5QC5dO0FbzU7nxjKMIqnCA5Om2pyAD\n5El3960fN5kXdS2K7isLOtYG9rkOlJX93fMQ2oOq/qrbHigRQ5UiS9Wnl8lP\n4JfbMFdHlPMUMwsohUKf6atfSXGhpZ7IRGb3qfte7vK5jrNP0RK0xmcrj851\n3G7Wp4jlfuUrf7lUdsRGz93qswsTyLfFZlQmA0pS0ahbBsbj+nzzTJg7G0kd\ngg1lm66xnJnWwxvUPBzwnRF64hMiKe9+tBcBMrbxvDETgswg/dUoHrGOr68r\ncs00/1ZYCqc8dXP0IyqPd7TzNuhUcy9wOnAMdfCkousj/uCAk14ZdGk38gfS\nPkDB9bET5NXpEfDOAC7Pectu9RJLu8Ry1WmrejHJ1vE5G3eqypAKj/c+NRRG\n8SkOds8kBU1SJ+l+oEv8BuVjcRZ9c5+GP7EkzHLwNhs28GTpza3dgLnkUZRR\nazBSFzk0tbni4ncS9T6n7YV6R7NErKN9NQydUh5TcYm1sw5K8/IpuL+Vl7Gp\nliHJ\r\n=gywi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIr5VmysYRQHBZcd/VUNg4XxfMnlfC6TpdULNl1W1q2wIgQWycNkfW+6ZehTnaiE9LyhNcR+qJEJ893aijYOV4Koo="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.0-beta.1_1576489354724_0.28418752312204054"},"_hasShrinkwrap":false},"4.0.0-beta.2":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.0-beta.2","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","chokidar":"^3.3.0","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/core":"^7.7.4","@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/chokidar":"^2.1.3","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^2.5.4","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"1a9697b8778826f5999bb76ac3fca6624e9b8ac4","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **TypeScript 2.1** and optionally **ESLint 6.0.0** or **TSLint 4.0**\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere was already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we used [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why this plugin was created. To provide better performance, the plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with TSLint.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With TypeScript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\n[ESLint is the future of linting in the TypeScript world.](https://eslint.org/blog/2019/01/future-typescript-eslint) If you'd like to use eslint with the plugin, supply this option: `eslint: true` and ensure you have the relevant dependencies installed:\n\n`yarn add eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin --dev`\n\nYou should have an ESLint configuration file in your root project directory. Here is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // Specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // Uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // Allows for the use of imports\n  },\n  rules: {\n    // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a good explanation on setting up TypeScript ESLint support by Robert Cooper [here](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## TSLint\n\n*[TSLint is being replaced by ESLint](https://medium.com/palantir/tslint-in-2019-1a144c2317a9).\nhttps://eslint.org/blog/2019/01/future-typescript-eslint. As a consequence, support for TSLint in fork-ts-checker-webpack-plugin will be deprecated and removed in future versions of the plugin.*\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from TypeScript's diagnostics.\n\n\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **eslint** `true | undefined`:\n\n  - If `true`, this activates eslint support.\n\n- **eslintOptions** `object`:\n\n  - Options that can be used to initialise ESLint. See https://eslint.org/docs/1.0.0/developer-guide/nodejs-api#cliengine\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **watch** `string | string[]`:\n  Directories or files to watch by service. Not necessary but improves performance (reduces number of `fs.stat` calls). Not applicable when `useTypescriptIncrementalApi` is `true`, in which case watching is handled automatically.\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of TypeScript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | (issue: Issue) => string)`:\n  Formatter for issues and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/issue/` and `src/formatter/` for API reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **vue** `boolean | { enabled: boolean, compiler: string }`:\n  If `true` or `enabled: true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in TypeScript 2.7. Defaults to `true` when working with TypeScript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n  Don't use it together with VueJs enabled - it's not supported yet.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n\n  <details>\n    <summary>Code sample</summary>\n\n  ```js\n  const { resolveModuleName } = require(`ts-pnp`);\n\n  exports.resolveModuleName = (\n    typescript,\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost\n  ) => {\n    return resolveModuleName(\n      moduleName,\n      containingFile,\n      compilerOptions,\n      resolutionHost,\n      typescript.resolveModuleName\n    );\n  };\n\n  exports.resolveTypeReferenceDirective = (\n    typescript,\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost\n  ) => {\n    return resolveModuleName(\n      moduleName,\n      containingFile,\n      compilerOptions,\n      resolutionHost,\n      typescript.resolveTypeReferenceDirective\n    );\n  };\n  ```\n\n</details>\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Hook Access Key      | Description                                                                    | Params                                                                     |\n| --------------------------------------- | -------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |\n| `fork-ts-checker-cancel`                | `cancel`             | Cancellation has been requested                                                | `cancellationToken`                                                        |\n| `fork-ts-checker-waiting`               | `waiting`            | Waiting for results                                                            | `hasTsLint`                                                                |\n| `fork-ts-checker-service-before-start`  | `serviceBeforeStart` | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                                                          |\n| `fork-ts-checker-service-start`         | `serviceStart`       | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `watchPaths`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | `serviceStartError`  | Cannot start service                                                           | `error`                                                                    |\n| `fork-ts-checker-service-out-of-memory` | `serviceOutOfMemory` | Service is out of memory                                                       | -                                                                          |\n| `fork-ts-checker-receive`               | `receive`            | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                                                     |\n| `fork-ts-checker-emit`                  | `emit`               | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`                                          |\n| `fork-ts-checker-done`                  | `done`               | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`                                          |\n\nThe **Event name** is there for backward compatibility with webpack 2/3. Regardless\nof the version of webpack (2, 3 or 4) you are using, we will always access plugin hooks with **Hook Access Keys** as\ndescribed below.\n\n### Accessing plugin hooks\n\nAll plugin hooks are compatible with both [webpack](https://webpack.js.org) version\n4 and version 2. To access plugin hooks and tap into the event, we need to use\nthe `getCompilerHooks` static method. When we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/),\nit returns the series of [tapable](https://github.com/webpack/tapable)\nhooks where you can pass in your callbacks.\n\n```js\n// require the plugin\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup compiler with the plugin\nconst compiler = webpack({\n  // .. webpack config\n});\n// Optionally add the plugin to the compiler\n// **Don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin({\n  silent: true,\n  async: true\n}).apply(compiler);\n// Now get the plugin hooks from compiler\nconst tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n// These hooks provide access to different events\n// =================================================== //\n// The properties of tsCheckerHooks corresponds to the //\n// Hook Access Key of the table above.                 //\n// =================================================== //\n// Example, if we want to run some code when plugin has received diagnostics\n// and lint\ntsCheckerHooks.receive.tap('yourListenerName', (diagnostics, lint) => {\n  // do something with diagnostics, perhaps show custom message\n  console.log(diagnostics);\n});\n// Say we want to show some message when plugin is waiting for typecheck results\ntsCheckerHooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for typecheck results');\n});\n```\n\nCalling `.tap()` on any hooks, requires two arguments.\n\n##### `name` (`string`)\n\nThe first argument passed to `.tap` is the name of your listener callback (`yourListenerName`).\nIt doesn't need to correspond to anything special. It is intended to be used\n[internally](https://github.com/webpack/tapable#interception) as the `name` of\nthe hook.\n\n##### `callback` (`function`)\n\nThe second argument is the callback function. Depending on the hook you are\ntapping into, several arguments are passed to the function. Do check the table\nabove to find out which arguments are passed to which hooks.\n\n### Accessing hooks on Webpack Multi-Compiler instance\n\nThe above method will not work on webpack [multi compiler](https://webpack.js.org/api/node/#multicompiler)\ninstance. The reason is `getCompilerHooks` expects (at lease as of now) the same\ncompiler instance to be passed where the plugin was attached. So in case of\nmulti compiler, we need to access individual compiler instances.\n\n```js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup multi compiler with the plugin\nconst compiler = webpack([\n  {\n    // .. webpack config\n  },\n  {\n    // .. webpack config\n  }\n]);\n\n// safely determine if instance is multi-compiler\nif ('compilers' in compiler) {\n  compiler.compilers.forEach(singleCompiler => {\n    // get plugin hooks from the single compiler instance\n    const tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(\n      singleCompiler\n    );\n    // now access hooks just like before\n    tsCheckerHooks.waiting.tap('yourListenerName', () => {\n      console.log('waiting for typecheck results');\n    });\n  });\n}\n```\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\nOptionally change default [vue-template-compiler](https://github.com/vuejs/vue/tree/dev/packages/vue-template-compiler) to [nativescript-vue-template-compiler](https://github.com/nativescript-vue/nativescript-vue/tree/master/packages/nativescript-vue-template-compiler) if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue)\n```\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: { enabled: true, compiler: 'nativescript-vue-template-compiler' }\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.0-beta.2","_npmVersion":"6.5.0","_nodeVersion":"12.14.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-mJ1If5mhtoDQHVfi3BPtRth4G0SDOgBLsG31K3/MfBztPDij74fb1KeHQY4uYxtTagpsWm0amC3+IVX4xVFAyQ==","shasum":"a18eccdb3e808903261e208356881f8b8f5a219c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.0-beta.2.tgz","fileCount":125,"unpackedSize":256601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+ZX9CRA9TVsSAnZWagAAY84P/j4S3ba710e0hSWK6t+7\nX/8xCqOb2/q4g/ZxBvM1PAgqrCdeYjJgR/vxvLdFA/NgJn4oucwxA1fHKQTr\n02dGyhP+kIZGIDK8XPYi1ekxDCY1azLJQdm+XMJVYWvIeQN+M0L1aPHMFkpK\nXsMPKMmq4uwwBq9QWdC6R8znL/PL/Upa9CyEVrHsXkpIIYvkH5jSv79boJ41\nF2F/GQIyEwyKb5Tjl/u6F+nUfft0gXfsfYGxxWBHVGTfYRX+GpM3wEA04Cru\nBtgcD2rK2A8EANAgQyYcSeKtiEtZRtpr1u3+Yx54VdrKWsTgtjeMpKfZNzaP\nrpQCrRlD0JWgcz7XbiuUEhHAWzq2vfnDzllva+unmc7OWE3tWy+pSRq1ag2N\nwqZyTQroBV3BrRpeNEvqLmZ23fPEi/5Jxax2+O0T9uhV8SEeo1dmJ21vgdlW\nB44gQ2pjfuC7CNZrXSn4YA7OekUmEhO2aTzUHO+2x4kXtzpx1zdclpKkEn3L\np4mLkQbXaV7FoLH5NH7SABMmsrS4ZLvxinrVlVdBkzyaa0T4HC3Ka7FAKufA\nmdbkk5sxwICrd2C/pJ81GoxViJIpOJaHrZaQxSsY6oce4cV5Qm9W5txT6nHm\nyq8F93OyuQ46joiovq5rtru2kgsZfgAxQ1dzcw/2bWx2bGJDtKGyMzPXJjME\nYHX6\r\n=qiYj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDS/nsLnfrII3fYuYsapUpGoFitjm/YpuzWOCq3uoU/OAIhANlT1JHF7q+Gboirp5LTMIBL25TL4sI1roiTGQ4fGgSZ"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.0-beta.2_1576637948684_0.49747944732178895"},"_hasShrinkwrap":false},"4.0.0-beta.3":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.0-beta.3","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/core":"^7.7.4","@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","semantic-release":"^16.0.0-beta.18","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"a7dd2a2fc1a94e367f54fce4a47a7304e6dfd20b","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![npm beta version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin/beta.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Installation\n\nThis plugin requires minimum **webpack 2.3**, **TypeScript 2.1** and optionally **ESLint 6.0.0** or **TSLint 4.0**\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nBasic webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst webpackConfig = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n## Motivation\n\nThere was already similar solution - [awesome-typescript-loader](https://github.com/s-panferov/awesome-typescript-loader). You can\nadd `CheckerPlugin` and delegate checker to the separate process. The problem with `awesome-typescript-loader` was that, in our case,\nit was a lot slower than [ts-loader](https://github.com/TypeStrong/ts-loader) on an incremental build (~20s vs ~3s).\nSecondly, we used [tslint](https://palantir.github.io/tslint) and we wanted to run this, along with type checker, in a separate process.\nThis is why this plugin was created. To provide better performance, the plugin reuses Abstract Syntax Trees between compilations and shares\nthese trees with TSLint.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. For example\nif you set `files: ['./src/someFile.ts']` in `tsconfig.json`, this plugin will check only `someFile.ts` for semantic errors. It's because\nof performance. The goal of this plugin is to be _as fast as possible_. With TypeScript's module resolution we don't have to wait for webpack\nto compile files (which traverses dependency graph during compilation) - we have a full list of files from the begin.\n\nTo debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\n[ESLint is the future of linting in the TypeScript world.](https://eslint.org/blog/2019/01/future-typescript-eslint) If you'd like to use eslint with the plugin, supply this option: `eslint: true` and ensure you have the relevant dependencies installed:\n\n`yarn add eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin --dev`\n\nYou should have an ESLint configuration file in your root project directory. Here is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // Specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // Uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // Allows for the use of imports\n  },\n  rules: {\n    // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a good explanation on setting up TypeScript ESLint support by Robert Cooper [here](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## TSLint\n\n*[TSLint is being replaced by ESLint](https://medium.com/palantir/tslint-in-2019-1a144c2317a9).\nhttps://eslint.org/blog/2019/01/future-typescript-eslint. As a consequence, support for TSLint in fork-ts-checker-webpack-plugin will be deprecated and removed in future versions of the plugin.*\n\nIf you have installed [tslint](https://palantir.github.io/tslint), you can enable it by setting `tslint: true` or\n`tslint: './path/to/tslint.json'`. We recommend changing `defaultSeverity` to a `\"warning\"` in `tslint.json` file.\nIt helps to distinguish lints from TypeScript's diagnostics.\n\n\n\n## Options\n\n- **tsconfig** `string`:\n  Path to _tsconfig.json_ file. Default: `path.resolve(compiler.options.context, './tsconfig.json')`.\n\n- **compilerOptions** `object`:\n  Allows overriding TypeScript options. Should be specified in the same format as you would do for the `compilerOptions` property in tsconfig.json. Default: `{}`.\n\n- **eslint** `true | undefined`:\n\n  - If `true`, this activates eslint support.\n\n- **eslintOptions** `object`:\n\n  - Options that can be used to initialise ESLint. See https://eslint.org/docs/1.0.0/developer-guide/nodejs-api#cliengine\n\n- **tslint** `string | true | undefined`:\n\n  - If `string`, path to _tslint.json_ file to check source files against.\n  - If `true`, path to `tslint.json` file will be computed with respect to currently checked file, just like TSLint\n    CLI would do. Suppose you have a project:\n\n    ```\n    ./\n      tslint.json\n\n      src/\n        file.ts\n        anotherFile.ts\n\n        lib/\n          tslint.json\n          someHelperFile.ts\n    ```\n\n    In such a case `src/file.ts` and `src/anotherFile.ts` would be checked against root `tslint.json`, and\n    `src/lib/someHelperFile.ts` would be checked against `src/lib/tslint.json`.\n\n  Default: `undefined`.\n\n- **tslintAutoFix** `boolean`:\n  Passes on `--fix` flag while running `tslint` to auto fix linting errors. Default: false.\n\n- **async** `boolean`:\n  True by default - `async: false` can block webpack's emit to wait for type checker/linter and to add errors to the webpack's compilation.\n  We recommend to set this to `false` in projects where type checking is faster than webpack's build - it's better for integration with other plugins. Another scenario where you might want to set this to `false` is if you use the `overlay` functionality of `webpack-dev-server`.\n\n- **ignoreDiagnostics** `number[]`:\n  List of TypeScript diagnostic codes to ignore.\n\n- **ignoreLints** `string[]`:\n  List of tslint rule names to ignore.\n\n- **ignoreLintWarnings** `boolean`:\n  If true, will ignore all lint warnings.\n\n- **reportFiles** `string[]`:\n  Only report errors on files matching these glob patterns. This can be useful when certain types definitions have errors that are not fatal to your application. Default: `[]`. Please note that this may behave unexpectedly if using the incremental API as the incremental API doesn't look for global and semantic errors [if it has already found syntactic errors](https://github.com/Microsoft/TypeScript/blob/89386ddda7dafc63cb35560e05412487f47cc267/src/compiler/watch.ts#L141).\n\n```js\n// in webpack.config.js\nnew ForkTsCheckerWebpackPlugin({\n  reportFiles: ['src/**/*.{ts,tsx}', '!src/skip.ts']\n});\n```\n\n- **logger** `object`:\n  Logger instance. It should be object that implements method: `error`, `warn`, `info`. Default: `console`.\n\n- **formatter** `'default' | 'codeframe' | (issue: Issue) => string)`:\n  Formatter for issues and lints. By default uses `default` formatter. You can also pass your own formatter as a function\n  (see `src/issue/` and `src/formatter/` for API reference).\n\n- **formatterOptions** `object`:\n  Options passed to formatters (currently only `codeframe` - see [available options](https://www.npmjs.com/package/babel-code-frame#options))\n\n- **silent** `boolean`:\n  If `true`, logger will not be used. Default: `false`.\n\n- **checkSyntacticErrors** `boolean`:\n  This option is useful if you're using ts-loader in `happyPackMode` with [HappyPack](https://github.com/amireh/happypack) or [thread-loader](https://github.com/webpack-contrib/thread-loader) to parallelise your builds. If `true` it will ensure that the plugin checks for _both_ syntactic errors (eg `const array = [{} {}];`) and semantic errors (eg `const x: number = '1';`). By default the plugin only checks for semantic errors. This is because when ts-loader is used in `transpileOnly` mode, ts-loader will still report syntactic errors. When used in `happyPackMode` it does not. Default: `false`.\n\n- **memoryLimit** `number`:\n  Memory limit for service process in MB. If service exits with allocation failed error, increase this number. Default: `2048`.\n\n- **vue** `boolean | { enabled: boolean, compiler: string }`:\n  If `true` or `enabled: true`, the linter and compiler will process VueJs single-file-component (.vue) files. See the\n  [Vue section](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#vue) further down for information on how to correctly setup your project.\n\n- **useTypescriptIncrementalApi** `boolean`:\n  If true, the plugin will use incremental compilation API introduced in TypeScript 2.7. Defaults to `true` when working with TypeScript 3+ and `false` when below 3. The default can be overridden by directly specifying a value.\n  Don't use it together with VueJs enabled - it's not supported yet.\n\n- **measureCompilationTime** `boolean`:\n  If true, the plugin will measure the time spent inside the compilation code. This may be useful to compare modes,\n  especially if there are other loaders/plugins involved in the compilation. **requires node 8+**\n\n- **typescript** `string`:\n  If supplied this is a custom path where `typescript` can be found. Defaults to `require.resolve('typescript')`.\n\n- **resolveModuleNameModule** and **resolveTypeReferenceDirectiveModule** `string`:\n  Both of those options refer to files on the disk that respectively export a `resolveModuleName` or a `resolveTypeReferenceDirectiveModule` function. These functions will be used to resolve the import statements and the `<reference types=\"...\">` directives instead of the default TypeScript implementation. Check the following code for an example of what those functions should look like:\n\n  <details>\n    <summary>Code sample</summary>\n\n  ```js\n  const { resolveModuleName } = require(`ts-pnp`);\n\n  exports.resolveModuleName = (\n    typescript,\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost\n  ) => {\n    return resolveModuleName(\n      moduleName,\n      containingFile,\n      compilerOptions,\n      resolutionHost,\n      typescript.resolveModuleName\n    );\n  };\n\n  exports.resolveTypeReferenceDirective = (\n    typescript,\n    moduleName,\n    containingFile,\n    compilerOptions,\n    resolutionHost\n  ) => {\n    return resolveModuleName(\n      moduleName,\n      containingFile,\n      compilerOptions,\n      resolutionHost,\n      typescript.resolveTypeReferenceDirective\n    );\n  };\n  ```\n\n</details>\n\n## Different behaviour in watch mode\n\nIf you turn on [webpacks watch mode](https://webpack.js.org/configuration/watch/#watch) the `fork-ts-checker-notifier-webpack-plugin` will take care of logging type errors, _not_ webpack itself. That means if you set `silent: true` you won't see type errors in your console in watch mode.\n\nYou can either set `silent: false` to show the logging from `fork-ts-checker-notifier-webpack-plugin` _or_ set `async: false`. Now webpack itself will log type errors again, but note that this can slow down your builds depending on the size of your project.\n\n## Notifier\n\nYou may already be using the excellent [webpack-notifier](https://github.com/Turbo87/webpack-notifier) plugin to make build failures more obvious in the form of system notifications. There's an equivalent notifier plugin designed to work with the `fork-ts-checker-webpack-plugin`. It is the `fork-ts-checker-notifier-webpack-plugin` and can be found [here](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin). This notifier deliberately has a similar API as the `webpack-notifier` plugin to make migration easier.\n\n## Known Issue Watching Non-Emitting Files\n\nAt present there is an issue with the plugin regarding the triggering of type-checking when a change is made in a source file that will not emit js. If you have a file which contains only `interface`s and / or `type`s then changes to it will **not** trigger the type checker whilst in watch mode. Sorry about that.\n\nWe hope this will be resolved in future; the issue can be tracked [here](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues/36).\n\n## Plugin Hooks\n\nThis plugin provides some custom webpack hooks (all are sync):\n\n| Event name                              | Hook Access Key      | Description                                                                    | Params                                      |\n| --------------------------------------- | -------------------- | ------------------------------------------------------------------------------ | ------------------------------------------- |\n| `fork-ts-checker-cancel`                | `cancel`             | Cancellation has been requested                                                | `cancellationToken`                         |\n| `fork-ts-checker-waiting`               | `waiting`            | Waiting for results                                                            | `hasTsLint`                                 |\n| `fork-ts-checker-service-before-start`  | `serviceBeforeStart` | Async plugin that can be used for delaying `fork-ts-checker-service-start`     | -                                           |\n| `fork-ts-checker-service-start`         | `serviceStart`       | Service will be started                                                        | `tsconfigPath`, `tslintPath`, `memoryLimit` |\n| `fork-ts-checker-service-start-error`   | `serviceStartError`  | Cannot start service                                                           | `error`                                     |\n| `fork-ts-checker-service-out-of-memory` | `serviceOutOfMemory` | Service is out of memory                                                       | -                                           |\n| `fork-ts-checker-receive`               | `receive`            | Plugin receives diagnostics and lints from service                             | `diagnostics`, `lints`                      |\n| `fork-ts-checker-emit`                  | `emit`               | Service will add errors and warnings to webpack compilation ('build' mode)     | `diagnostics`, `lints`, `elapsed`           |\n| `fork-ts-checker-done`                  | `done`               | Service finished type checking and webpack finished compilation ('watch' mode) | `diagnostics`, `lints`, `elapsed`           |\n\nThe **Event name** is there for backward compatibility with webpack 2/3. Regardless\nof the version of webpack (2, 3 or 4) you are using, we will always access plugin hooks with **Hook Access Keys** as\ndescribed below.\n\n### Accessing plugin hooks\n\nAll plugin hooks are compatible with both [webpack](https://webpack.js.org) version\n4 and version 2. To access plugin hooks and tap into the event, we need to use\nthe `getCompilerHooks` static method. When we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/),\nit returns the series of [tapable](https://github.com/webpack/tapable)\nhooks where you can pass in your callbacks.\n\n```js\n// require the plugin\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup compiler with the plugin\nconst compiler = webpack({\n  // .. webpack config\n});\n// Optionally add the plugin to the compiler\n// **Don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin({\n  silent: true,\n  async: true\n}).apply(compiler);\n// Now get the plugin hooks from compiler\nconst tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n// These hooks provide access to different events\n// =================================================== //\n// The properties of tsCheckerHooks corresponds to the //\n// Hook Access Key of the table above.                 //\n// =================================================== //\n// Example, if we want to run some code when plugin has received diagnostics\n// and lint\ntsCheckerHooks.receive.tap('yourListenerName', (diagnostics, lint) => {\n  // do something with diagnostics, perhaps show custom message\n  console.log(diagnostics);\n});\n// Say we want to show some message when plugin is waiting for typecheck results\ntsCheckerHooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for typecheck results');\n});\n```\n\nCalling `.tap()` on any hooks, requires two arguments.\n\n##### `name` (`string`)\n\nThe first argument passed to `.tap` is the name of your listener callback (`yourListenerName`).\nIt doesn't need to correspond to anything special. It is intended to be used\n[internally](https://github.com/webpack/tapable#interception) as the `name` of\nthe hook.\n\n##### `callback` (`function`)\n\nThe second argument is the callback function. Depending on the hook you are\ntapping into, several arguments are passed to the function. Do check the table\nabove to find out which arguments are passed to which hooks.\n\n### Accessing hooks on Webpack Multi-Compiler instance\n\nThe above method will not work on webpack [multi compiler](https://webpack.js.org/api/node/#multicompiler)\ninstance. The reason is `getCompilerHooks` expects (at lease as of now) the same\ncompiler instance to be passed where the plugin was attached. So in case of\nmulti compiler, we need to access individual compiler instances.\n\n```js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n// setup multi compiler with the plugin\nconst compiler = webpack([\n  {\n    // .. webpack config\n  },\n  {\n    // .. webpack config\n  }\n]);\n\n// safely determine if instance is multi-compiler\nif ('compilers' in compiler) {\n  compiler.compilers.forEach(singleCompiler => {\n    // get plugin hooks from the single compiler instance\n    const tsCheckerHooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(\n      singleCompiler\n    );\n    // now access hooks just like before\n    tsCheckerHooks.waiting.tap('yourListenerName', () => {\n      console.log('waiting for typecheck results');\n    });\n  });\n}\n```\n\n## Vue\n\n1. Turn on the vue option in the plugin in your webpack config:\n\n```js\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: true\n});\n```\nOptionally change default [vue-template-compiler](https://github.com/vuejs/vue/tree/dev/packages/vue-template-compiler) to [nativescript-vue-template-compiler](https://github.com/nativescript-vue/nativescript-vue/tree/master/packages/nativescript-vue-template-compiler) if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue)\n```\nnew ForkTsCheckerWebpackPlugin({\n  tslint: true,\n  vue: { enabled: true, compiler: 'nativescript-vue-template-compiler' }\n});\n```\n\n2. To activate TypeScript in your `.vue` files, you need to ensure your script tag's language attribute is set\n   to `ts` or `tsx` (also make sure you include the `.vue` extension in all your import statements as shown below):\n\n```html\n<script lang=\"ts\">\n  import Hello from '@/components/hello.vue';\n\n  // ...\n</script>\n```\n\n3. Ideally you are also using `ts-loader` (in transpileOnly mode). Your Webpack config rules may look something like this:\n\n```js\n{\n  test: /\\.ts$/,\n  loader: 'ts-loader',\n  include: [resolve('src'), resolve('test')],\n  options: {\n    appendTsSuffixTo: [/\\.vue$/],\n    transpileOnly: true\n  }\n},\n{\n  test: /\\.vue$/,\n  loader: 'vue-loader',\n  options: vueLoaderConfig\n},\n```\n\n4. Add rules to your `tslint.json` and they will be applied to Vue files. For example, you could apply the Standard JS rules [tslint-config-standard](https://github.com/blakeembrey/tslint-config-standard) like this:\n\n```json\n{\n  \"defaultSeverity\": \"error\",\n  \"extends\": [\"tslint-config-standard\"]\n}\n```\n\n5. Ensure your `tsconfig.json` includes .vue files:\n\n```js\n// tsconfig.json\n{\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n6. It accepts any wildcard in your TypeScript configuration:\n\n```js\n// tsconfig.json\n{\n  \"compilerOptions\": {\n\n    // ...\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ],\n      \"~/*\": [\n        \"src/*\"\n      ]\n    }\n  }\n}\n\n// In a .ts or .vue file...\nimport Hello from '@/components/hello.vue'\n```\n\n7. If you are working in **VSCode**, you can get extensions [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) and [TSLint Vue](https://marketplace.visualstudio.com/items?itemName=prograhammer.tslint-vue) to complete the developer workflow.\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.0-beta.3","_npmVersion":"6.5.0","_nodeVersion":"12.14.0","_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"dist":{"integrity":"sha512-wJMCF+N34yBhgZjaO7TdwcNFYXUNkb/yndwDk54TKu6WLmqjIaxYKhnKrsKfuhZrcpiednH29slS5gOjXj9vhw==","shasum":"b0f7bc857edc68d2ea9e94c27ffb46997d381027","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.0-beta.3.tgz","fileCount":122,"unpackedSize":247156,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+z3TCRA9TVsSAnZWagAAAbwP/j8mbjMxhJVrMspuA/kz\nHIi6Nv7Hp5J4E2HDvdXxudBpn9eto91xFVlnafP+rQPPLU13ifLhZEm00YwP\n3RrMUUeR4AylZQnUXD9U0zlweXCxOd+Vm2EcUSENR+Pg+FaxiqM661HhfEFz\nBe1zVhKpoFMZvSIXxmwbvltn4bkTafib2nf+td8C8Ftwzm+dtxk4ALLY5maO\nTBjs71bBGJaomHQcVyqmTWEorh/eB+8WsNL4J+NEtEH5+EOTuKba/xCXayuu\nUKHbNhMbvYoIFOhepv53RJD5i8ZCg/l2D7vUGiczt2B87HlOVd9m/Sn1uH2L\nC1RCnN68e9azq8zd0iFCw0B8zpUOeEODbjQ4XoRyIT/3fCBMJLjUepA7WLcm\nD92K/l+DVjLiUTs/h2KugdQb6LOiuQiv0bfViNEQfJYWXx/Atw1PwxcYNCqj\n+DCeGW3EuuENuTgjw1sMi32Otxv3lkBDCSMuO40ApDoOd/xAsO1MGxQ1+VRf\nAtlS98k4l8R2AUBfK0Ml1IT0WWsuoWsXWBWm4lmrRpRi6dfp5cCQz8AutT7k\nfqsOcBIbW48i7W4IphJPjjtapEBdxu+0MAptL5dQqokqRjF+xpr54o+Y4qoM\nnJpOU8poHbl2FGUkqQ7oIj4BM/oiYry0suSnsrs9ZuQDIzFtF8SSpg69uZwn\n90VK\r\n=uSt5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE8W3aDnKzm34jfj/PKuAKxGOlpj/5aS7N5OHkdjg2hVAiApMIxodFT78ajmI3QJc0+QXObdSDrV6Zhya7cX5X4DUw=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.0-beta.3_1576746451202_0.23819094880769165"},"_hasShrinkwrap":false},"4.0.0-beta.4":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.0-beta.4","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"tslint --project src/tsconfig.json && eslint ./test","lint:fix":"tslint --project src/tsconfig.json --fix && eslint ./test --fix","test":"yarn build && yarn test:unit && yarn test:integration","test:coverage":"rimraf coverage && jest --coverage && rimraf tmp","test:integration":"jest integration && rimraf tmp","test:unit":"jest unit","test:watch":"jest unit --watch","watch":"tsc --version && tsc --project \"./src\" --watch","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@babel/core":"^7.7.4","@babel/preset-env":"^7.4.4","@babel/preset-typescript":"^7.3.3","@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.0.0","git-cz":"^3.0.1","husky":"^1.1.4","istanbul":"^0.4.5","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-loader":"^5.0.0","tslint":"^5.11.0","tslint-config-prettier":"^1.16.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"ba666594596079a529c2239435fa497ae1cbb996","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.0-beta.4","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-srmjQMgMDFYjf0aIU9ugNH22FC8DaIsbMfMTlb+wI721smvwktlUimFTgkDdnXIxP+fxyyBOqyZNQUSBnEf7iA==","shasum":"f12bed968aada4bb4ce1bf65277d25388cee28cf","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.0-beta.4.tgz","fileCount":122,"unpackedSize":237176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/FtFCRA9TVsSAnZWagAAbqkP/0siiuDdn1KvFQ7pPvYx\nFFxisF8y3Nv6XYeFfxQG5Duv+A/XOjKtQjqfMoQsGkf+e3srJFsm/jjHmMTy\nfIM3dwG7RbvGgWgt+G4Q/c8FM2E4HMywZocCTs22XbdBkuosNhTeTXkG/mHS\n/m1y5h8qm8Qg5upk7UirQf9HUl+jxYEoEsmqedIJmaeeYWADxKSG91QBr42S\nsznr3jlXaF4ou/3P0IFdwm6vLUmzWrZhdmh3lUnfxYKaPc+Wdy1zsSxvgayZ\ndY+tVmYtRtWIX9aHwNQsdgmM9nEFdkXkW4IByh0G4fF+Qw5kwNcS9QbUmt+U\nExHcwYS+LtluuBEtn135v5DUScbGz7D1WQfcrigQ7FHW/xJ/sUfs3f/qu42t\nTH2euO5YJKXL4Rze2Q7QXNAd3eAtwSfcWLtgI8fsM7kTiWgHTD3hGx5AqEiN\nPYCPmfn5ASGI7WRk2PWA0DX+IzReZsodrNadVABU8/OrWj/3bP5pvTGPBqg6\n/Y0MrrYtNEv/oJLZYi/bjrIPOU50vi+WVpaS+RE3SqhVFfq6VzM8wPzdW7+U\nrEObw5vcnCJuvcnqfIbK0iUoYlSekTzkVsJ+aW/WUHstbhHcRTrj6qgoy6DR\nHqEhwaiTVFxGHd+vgsU0bZ1oBeiJznumvLl2kSql/oXZMu0RZUU2xUrY/mJR\niGtq\r\n=ocN1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD++/i0MXBeUzgNFF1ieARmolLwZBSI5PMRZi1sttA6agIgFCwIt7eBgGs8MvVIe490L7t9+drWj1QEKfW9uKRnP4Y="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.0-beta.4_1576819524699_0.40023895614087057"},"_hasShrinkwrap":false},"4.0.0-beta.5":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.0-beta.5","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"release":{"branches":["master",{"name":"beta","prerelease":true}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"]},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"a0208ba091571bd802d6df5951496716d5d87499","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.0-beta.5","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-844Q8QjomnAhxbj1N3A4vhqdnSbwiWKcsejL6lYZwrs964CVoELnCNnLGKswQFigqKIqIJ31kbBzpnwy/egHWg==","shasum":"f56596b43cbaa5f12ab9e2ad857eae6990f9aaeb","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.0-beta.5.tgz","fileCount":113,"unpackedSize":234334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeCOKQCRA9TVsSAnZWagAAQMcQAJctoIc9l44TRv9ptUMd\ndffF6FLNJK76eYuui2IRmKucnRNYtyEoB/tE8H5Me2TTm9zOsFBVJvYibaJ1\nsojBR+wDPzKEvIn+EtuCuJwPY5yTt346CMq8AZl6U4WMvgYGGTyRJxMz0xYh\nEn3ysDG4u25Uefo8eGVpEZAW4J8cRHP8OY4R00S2csMMEgE3D9y7/mViI19C\nmRwy0JIlC3KtsSpASBTbQ6jkS2F8sZvgisgSFsjxL5NBl2fj8STMN4/LVDmo\n97vfsFMb26cG2/W6U9j0FgcYcuNBf/hOAxAqYUsJ04b8vu0pSdRaPxEwScdy\nJDMpxdxDgevrPxg46Yi2frcOC9In3VS/qVGkgosKWzTGT1ce5RecjrHcjXRD\nmWVTqqS2Gme1tuLX1s51+XbSBYcbKJJaharZf6dc4QxJDSrvSkvXwNEYaN/0\nVvSGPGfTVKkRCbHomEI246Opee4hT8xGhN+7Sms8l8tqHxnyo2gNq94s5Jvs\nznLxfG+krXimztYv0EZygLbFd3iXnRjJvTZmqLMC6AIhFMyXt4/pskC+Acgw\n7vSYMD18DfMy9HHpebZqtGjBH0vdVksD/ahJ7ppsKDvUxuXNBZ1Gh5SKvapi\neyfG9gHR40uF+Id3OKjN+ur3i3telrqWO6TZNflDVDgfJ4DDyFnD/dzc6Six\nvRUc\r\n=du65\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzza/zpAy5WZyb/JkhIlw9GCG+AiuMZ/Mn2czP3/hYWAIhALszHjcmMXNhFAUU73ELcfSYGdodYo3buChFJUgfgy28"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.0-beta.5_1577640591994_0.09937881243607394"},"_hasShrinkwrap":false},"4.0.1":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/eslint":"^4.16.6","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"3c3b8943a7211fc77e557c9d144e8966b4fec330","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-OoUUhzyHoF3pFphHXgFAtlRBZ9v8tAYJPUtizpN6SdwBmJqKeXuHWcAhHqek02lf+6ClbXG5X7taEUxk68yiCg==","shasum":"d2eac44dc9957828bf2716dd11844320e7486799","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.1.tgz","fileCount":113,"unpackedSize":234018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIZJLCRA9TVsSAnZWagAAtvsP/iqUVov6Xv9/Bs6kvGav\nO2gHcOiLdHdaXYPsWEIjqjLdJlaRSTnABYEM0QWMoFmiZi2B75TudSxsa+11\ncJWJsINnNB5Pfn/UtciGoDRG+pV1dqrJ2zubgClpfdl0po6P953X3831eVCd\nJadk+4g8LbAzodwRP3QyLl3/UsWXueZqGGNoifvyBMdd/Tk9SDljmk4RTmCA\n9kVNNm0Fb+Y2dflLuE/7m8NOpRHtKJ2qyImfxioWfDTAf64Q/39WQkEl4Ad2\n4bML9UseKiNUY9ZkZG+1vO8jK0poL6exHBmTdNabe4zdQQsb6DMSW3NMD9YD\nxxR9jBpuUuPaw7eQ+jnGCwLBtSJ/MOG1/yca202qzyN//GAaFUueXZQCCJRY\nPLon55VT6bMX13WTob2jMTI6uaUnfi1UyTUoKLcfWuCcfZFnsjdI2D0FzJcS\nktwK2IeLAeuUnFE2hFHepyZLhEKbuGHDdC2KO9yAPHh+E9cLtpzhytXF6h3M\nT5+YW5J4UB9yty9eh4tX1hSUM82ZG19uY7fiYXn0ijNL0bryYWOIdkWWQH3h\nTAqTpkEQZ6eZRcjyyezXMsAKbSClYlRC2QG4pwfKTgMx0gAfLuc4fGY/6Xeb\nIyJfgLRX6SBrMrCvKQ3QphLSDUIYpK+XUTJodStCUUHnM0Rj4dExRReprRoC\n0Sqv\r\n=7YJV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYk4BwAqmvO1kBV3ou8xtVZpopp1Nax/DXpzLKyaDoXgIhALYuBRQciK9oQ3AIWcqmFLI8U8KmKjtTJ7puXVna0B+Y"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.1_1579258442502_0.2961702282268044"},"_hasShrinkwrap":false},"4.0.2":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.2","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"36a649aeaa0fc8d5f0e4550a4d370759d53c2ab0","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.2","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-gq47CwlNV8BUkI+kxuvI/rbE9062YWqPb4HkSCnX1ylsfKJIymyiC1RWU6cjcw0PbzRqm8xdrrfC0iO45D//3A==","shasum":"3adaa4ac911787740a693e0b9e69e62e054e1e7e","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.2.tgz","fileCount":116,"unpackedSize":234932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ3S1CRA9TVsSAnZWagAAY4wP/2gpcjrQiYdVJCUmYUDK\nXnk7bg8sOM8Ulj7++kxH9U2bu4+HviuPSEWxoeHMXW0xpUiyqddBH+CHsDL8\nmiFI4dHImSoWOfU/dAsEfmu90/N7JjUd31yLn1bXZtTK3dcv9zdcqxC7kEx0\nZ4XGHO/VLv0QIxzCZsrsVNaZL76+SrrTpVfKElZtVUW3oimR1Twi+KaLr8kh\nWjb1ndVBHMiQX9gkVqj5nhCeTLFTMqguKI54vb+eRej7kzK4WbL+P9TBp8Cc\nBCH33oEsEOafcV47/FqgWXXjTOir618JcDItf/yWmlDEJf5/8x4QlUZYWpWA\nW+v1OiUpn8QQXl1OhM3btwzM5nzuLaIFgGm7sU4uXEAHquIsB207q7foveuk\nuzOC0kPfUn9B1B4XIWkwc936mjY7HgKKQuwpaU71YmUnGOwfTjlKtph3kTcz\nm6pAjR/Dzo/gOd0kr2RnX3VW2cggReTMYFSUv6YJdzwNdgu8JWdynVhky+Oh\nE7clpq/SHbXmWFGsScVgx57QDyEoCaAWnumsAYIVaXcd/br2I62/Gxp/UMws\ne5g7hD3NuvZQfv/XJHBK/7bMedCOR6fX4IU4Rv6+tInR1KujWNnEbNY8Txf0\ntbjPAH+L/enRcP9VBrsrilh0kyTaMvZMPRAhhGBoz/p+eN1pItIH2taIqGKe\ndv84\r\n=5hI3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC44tm4qfwsahgBT+F1nuAGkHHsYwraLmz2YmjddD8W1QIhANkVgU6+IIcbc6FtMO1k44tJHaYWPZET/k9fj+cGPd1k"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.2_1579644085333_0.19764825495029625"},"_hasShrinkwrap":false},"4.0.3":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.3","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"9887bd11addad9331945a2514c3a20c1ccde8716","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.3","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-5hGeMYKg817Hp6rvdc2EOS/T/Cq0JW9LLJDZtVUPlNIojIuP7YbOAdrHEk4Irw1097YQUr56kWIiYhqNPzfNzQ==","shasum":"958f4e4ec3e7fd9d4ad5a50a4442abce77dca19a","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.3.tgz","fileCount":116,"unpackedSize":235090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLrQFCRA9TVsSAnZWagAACTsQAIUE7ZWEca2toIQt9ocF\nzo0lGno9oGetnOgY5MWqPW97bsV4jbL8thHy9HlWXQwM/umN/JnWa68zGcPb\nSnSI89lCppuX4l/K/8CSMeXklVNi9FeKhwA6hY1SAOfjxV1nEEztt5033pFD\nOn66jOFZBo3DP/BAbTCERwhoLwGoRps9nV46SMOa63K1L7uwGnnkuLAAOLbI\nTmHW7pW3HjjfSIPQR3MpJS0p1k/DDfUBpGkRJad3c1B4CnCYlAOQ79pAza3E\n1LYTN8SpVG9+6DkhUrHhuUiDx6otT4ztJAmwe1xwLe1EFIQSQcdryXQ5X9az\n8PmSVRUrdbYnWM4ZmkPAhF+/yP6YXRaLSljuiYnNroYe5j7fByLVS9VqvASB\nkRuuwRG0vNAZ2+ARkDhnh2xBIk2D0l+e/7sTtn9CIyyI8yocZVvNakxtRSj5\nEwKff4X0z2EcnCOW2tYbj/BHVxlA9lgKKE2JXJC6d2KAKN+hOv4SxvPicArP\nAKtitY627Svauf9HL0Q9F7EfH4KeH3/f9B2DWGylhkl5ncUwuGbAXdVs1B7l\nv2MhmzpEXMhKxNomg7ma/l0OQNexJIMA1kgkNR/hugmlrs4wFtw212kRzmHN\nN6Ab+soiFbkWU3mQcNsMnuHIwHtsa75rC1flmNfg8uceaFj/AwhKySDmMRKT\nTm7V\r\n=+Avw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOY+wikxokmhO4EHFOthww5DmC+QCZEFs01fDm8Bys8QIhAJcQLrtSIYVEQIwaMjQ1jOUhMvef4BFGBcPj9eoM0wHP"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.3_1580119044777_0.5134576101580011"},"_hasShrinkwrap":false},"4.0.4":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.4","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"df98e98b63f09b2ccf621c1f5fcfd97a379ea265","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.4","_nodeVersion":"12.16.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-6IEqHH6s+tv5sho5d3dn7dfcnbjKHwfqL74kRfpAP2e8MCHuMh5ixtYrbdfPO4Zat3S5gwULOoVArjK3HMwNdA==","shasum":"ba1be68d63dcf509f6d1b08fb8e19efb6d7e8a96","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.4.tgz","fileCount":116,"unpackedSize":235332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRQL3CRA9TVsSAnZWagAAAzgP+wWdz7IT9MWLOJiSzO0k\ndhpxMDsUIDcK49nnMCHhGuzqCXnFvDO2Oz3ddhGqlY1OoVBG4Z66+X9i7aBx\nYl1a8yfF014D0pZ/ex9pLy4GtZY99GeJNa9Q+rYNQ5MFWaqap34RcKFSi3cb\nVHWu3qAbdESGONssObOAO8IWL/R2Xi1cMRmiIZr9H7I0YXCPSV5rdQXpzTNx\nbbr4Nb0EfzAPVh7gU1eYKEqV+YxvNtqTll9/nboTQzQTsKGO1YbD97zuEDU3\nkHYhuoyco7bm9V+qEX83bBAyFhfrT3Faegw3vgpPqrfAz6YGcg7ul1iJOTBF\nYMJ03vuv3fAZZWBiJpbpexrHAEga1WsuLfUi9eq4hgdAiFDg9nt4d4rTf5/d\nE67PmPuD54Iowy+ooaBwBLupJ3RneNN8RMqZ5LkuIEOj1tOUHIJE71Ilu1J0\nWloJQZOKMYQ0WZlAEK2zcj9dj+WviTnSfISuS+9vzm/ZYC3oEmy/jz/E6e5K\naM+OTG9mo3+Y+90vAmH6Y/QaHfToAy496Q29PxBkZvcmUuSKwKqVhTB4GkxQ\nkbMtLpkQ8QcXRTYMNkbBf8js10YoOhdFV+EBGfC20ipdjewB/GJKXlxsKuMI\nA5D7/KQ6DSnGRkD1NnHqULHueQ4G9klMczgdyiPqCHhMC/uRz68eeR+2pnMT\nBO/I\r\n=fsxU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjMvysfEewIOX6rWVT85Qe6hw9msI5y1hhWCEUp6c6XgIgCoJrxSK1j9ToDuPKg5q9uUCrbYcm/QvNEHNq12awuJI="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.4_1581581046723_0.26302835277314185"},"_hasShrinkwrap":false},"4.0.5":{"name":"fork-ts-checker-webpack-plugin","version":"4.0.5","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"d083fc854389ef9c9f6c430e4345afde24c0bc7a","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.0.5","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-7juf7VGQ4GD7beQI2vsHlWME4H7cabXn4+zYzvWTOYQUjn3L+3tWQe8j9KnVOpdCf+1PoSvYMRT2A2kltfGLtQ==","shasum":"1982b464cb8a44d224940a95a0d075c8bbd700bf","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.0.5.tgz","fileCount":116,"unpackedSize":234594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVjvPCRA9TVsSAnZWagAAxLoP/RjNU27FvgwTcOpxuuLT\nL3Cm/UxdWqcuOwL2664VNhPkIVtOl7W+gpREk8SYHOXXdwFls/9eEVb9uKdR\nHt2sUaHQlYuCrCUoU0N/We2j3n8X/H+85ul4Jwkdve88QVo9NhwlGapdHdf2\nw5BCNMz//Q+ApUetpjgCUPizmYnUgwX7gyCNqIQvC6iW6xxTRyZSK00zn5Qv\nHqBa2zGjQjncHX7NO72EFNrvQTYwIuLoBSVH3+wQdiXNRU3YUNlascHo+6ab\n9VCsXjUeP466+heDqVHVoiH0zptQhkbMyzO7NtP+HJqGCk6aSoIMwvvCaBDN\n99VzjCbIv0WK8vXULv5sUk8AzFKZ9uNDO0LCObtTZT/mR2Sx0LFly+132snn\n0kWHLOjYXs51zUzh/1Ik/tcntY6wCPaGCoVusMVJZ40V8EZ13WNfDoLPX/4p\nXvCBFD9+MHrGBJGbm6zOyM+Ymj2uqwuQ17ZHmTdNESRNC1BBcKJBZVMfeIMb\nfr3eGRl9gzm1D4aveFYdjnVJdw/q/RM3TG1ZmN43Ls0+JH0m5Ua2GRF+548R\nMseCwEaiX9o3QX1JKykiEGf6VVyJi9ax2Fzdn43/zfnuJW9ILndllo8i/x/l\nydbclvW8RyAKWz/x4yk84oyVPtTh2ZdHnvpZqFWH5xeuqk83RgXZJ7BlrqyE\na+fE\r\n=lkqd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrTedfj0dywQSNIlQ+mbXiHPRXf33SFz0vVTHRGwIYTQIgOUbrj43Yl5fM8W2Ly721DR9pzXaz9ERN7GbegvLSnDw="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.0.5_1582709711095_0.9253369299701035"},"_hasShrinkwrap":false},"4.1.0":{"name":"fork-ts-checker-webpack-plugin","version":"4.1.0","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"54a51c707d064f8a52c4f599ac592355094c2f6e","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.1.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-2DLwUVUR/AdNmMD2utfmSR8r4qHRFhnfL6QQDQS5q4g5uBZzXYDgg8MXPIbu0HzyLjyvbogqjBNKILG5fufwzg==","shasum":"62bffe704426770fee33f15f0c0d56c86297fefd","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.0.tgz","fileCount":116,"unpackedSize":235026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeafBHCRA9TVsSAnZWagAA69IP/19VoSG0vbESuHhaHr8u\njkSaEboOPPmvsRM8m6EWfBo5x/rpEhQzj09DHxcm024Ioerm4xZxqhHRAgb1\nJXGdKON/ZAXxZXyDuXZEkQWD7SS5hJkbcbPTbawFMaSY2vDGt72cp41z/kk0\nnD61gpQyXzJV7C06P1cPjyz8LNozZwsd1JtmYn/Ja99sm3eAENR9RC7nf2wM\nixbpefUutcvxZQjVu2EnBQxr6e69ms+2/YmIJmkdXKb+PsFqrFcotimRXflc\n9gJkyLyW7ptdbykZJGrIGmvMscYCqLF7fNmgzqZe9Nkhg9HZQvVqBXG+rC8l\ndl9KVvdAWQSfjCjmr6iT8C5/BJPno9GYIdQgaa0rv4muzeG95f1H3P/xfO5m\nVBn0BgV2n8PwpJV/PLmC4gS6kH1E2PlkvT5J818mQLAdWIKyvN9sSpNEBK42\noH14lBZDZAT54/xTSg/YflxPJ0qLGzBhrxrEYbZd9sZ7VWTv+Ygd7hBLSWkX\nw6VvGlXtKOapNfpOvdRBoepI+LRIY6W/LSJFJ0ZGpz46VgIPnzsyidDUpavR\n3P6SRAXdV+Ks7qCZYxAKWpSPj1AO7FZT/g37o69NntI7wxohYNfn9Ft8v2If\nEQKVhgGX+DBX4MV6REz891BScOnGCQg7XH5m5/e7SRK2GS1pPNabPj1OL3va\n/XiK\r\n=Q7mr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGRR1HYSgAcDIZgnzB0nC6bp24FDanFxLpUYaN6RMOAAiEAhMfcIOTM0YexQ6Dpymsc9vtn9TPPWFoat8iHIuEUCeY="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.1.0_1584001094813_0.07566302221644383"},"_hasShrinkwrap":false},"4.1.1":{"name":"fork-ts-checker-webpack-plugin","version":"4.1.1","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"4013a3f56839dd27e4df6a410ff20c90d56a7b97","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.1.1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-d6nPiFBeyvh1IcFcDK5wnmcZqdbNIEWDiUmS+/rB3bYzp7fJCZk5xmI+aCymYLImg870cEofy+wm1sIK3mnFsg==","shasum":"138ad4551665a6569a479a496728983ce7069751","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.1.tgz","fileCount":116,"unpackedSize":235695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJed7bTCRA9TVsSAnZWagAAQdEP/3mHiavZNn29SliRE380\nFb0uEZuSVijVVXelbiWaicm4wuy30L9X+VAsgs1kMsrfE9Lsf3vwnGJxR4gx\ngbssMeCs35VGXT6Xi9fbqIotrRIjcOA9TQkJy56fDtrl6Mp4qONkZiwS+xJ6\neinGabhdSMu9GHgDgR83fSMWz9C3AIomBeq9i2xhtt/w9RC25UsUanBXCX/+\n6Kw3UprLVwNhW+SHZwFs/V8Zv1Db6WQtUkZY89w6NJUcvtqY/PHA4H5HJTuJ\nPO4AQDDcNVwIaJkayt8EaBvjk2EFn/ymjaSWT/+gzYxylqCfEFemsuSJ72cS\noeJylpaOdokdgNznJcHqg2U88olWV354U8AOUQugvYI9cHFgAICNwiieLw0S\nTy8qzo00vue2dVDKka4AfdFXu/zZh8NvNc4vPt7hmqBVa9rzjCLpHAKqRDCC\nslK2fg6R84rJLNbKybaYMoYN0nLJ+T/GybTcqjZ5GG9HmeZi79Eygef6WHDq\nNfusnVqE72ZsFOFyfrUaehiMdQ5NCqUi2marSofW7CpttC4fx/qaq4t/phNq\nYLV6EMNDxtrq3OkwCDm+fdE6yGh8iiplBAU7ROZgARLEbYegRqH7cXuh9T10\n4uPbqqeVMrBpIKIcjrsv+CUX/86Z94u9v5swnqjko7vNq2wOIQ98LE4xss5Z\nNUjt\r\n=/Smo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDo06s2JHCRDQbZ+ez98J2lG2k7GJaEVCeNWiTWIzxT/QIhAMAdchJgx4R5Nl9ELUuDPsjcUD3NAFl9DJ1E9hoZTFoz"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.1.1_1584903890706_0.4018705077910627"},"_hasShrinkwrap":false},"4.1.2":{"name":"fork-ts-checker-webpack-plugin","version":"4.1.2","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"5be63fae16dc5e529411294e115e1eaea905f98a","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.1.2","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-3Qe6GxiidhyChpNcfQ9qaNEeO0FavxpvS1ArEy3boSWT05uCUTWPFMNl4OeH3XqsZymWv7t6EkTyj6YHJbVXig==","shasum":"ab160c702e1bdf2a271ee4f7236c3280aeba02a7","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.2.tgz","fileCount":116,"unpackedSize":235696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefKXoCRA9TVsSAnZWagAAN94QAJHeACrfmcSquYlQ4n8l\nrC0iOa8vQac9lUdvE4ZpUXrKeVlKW5feEHLNLNzrv8dD93K/vP3ZJaIZjL8d\nNHoNLxDLgxJSxYZNF57pkUx1Vl1VgrH2D3KTm/+ioO8OSPaJ0uGZ1of/qkf0\nnrl7YvOxMD5vgVMPkOIdzkc8ph6JkAJIPIycvLM6qNoC9ftkkzeXQKLv4F90\nnfv/6F4JjlWeyYy1QzqhO5mldQcxTMLVkn8s28J4RR4EQZAfWwLjqPzOGHLb\nwhIf8wBGFYeaFs78YV+r6y3b+FtWdeggrQsjMvZXpdNv2ldVl7laL5wkva9k\n/IEFpHrYT8EonqT03LKIMAx7NviXCuQe5FPK6E1ia39bGPSgS74+OAXJQu2b\nVQMa5CPvga7x+8O8b7+mS+SEtme2RzuIDD2y8VilkmrkODHdel7dTOhSQO9K\nBCA/r4z9LZziWph0JeHwwvPqkTrcFjKTSZIUBmwx9EihwWMzDriXy/7X7k2I\nf/p+zb0te0hi+snnHTnl7T+28G2hUBP6CTkwMN8RqhUvfJ6Djdwd3cxX3AJo\n41eLrEgYckYjG5Nue/6foAWimpinhuGMP7tHfz31bo/4UI/a3dqr04wtdEiN\nLMom5KoxBUCQMSYYhbtO097Z8ofgLxNe4RtOel2Me+dzQ74u00ETZpTJ4Jaw\ns8+J\r\n=0Pzn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEhUH5mO6ABZMy74t88rkqb+6nxPdbh2vI489dPAn/ohAiEAzydjrq1//jo0RqY5IHoYLNPY5FdGMFjyz/vlpXpsIns="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.1.2_1585227240364_0.7430659236197137"},"_hasShrinkwrap":false},"4.1.3":{"name":"fork-ts-checker-webpack-plugin","version":"4.1.3","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"babel-code-frame":"^6.22.0","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel-code-frame":"^6.20.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"5fbc15afe5601cd0af5cc9624648410632021626","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.1.3","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ErA8cFsPfAIOx2UFoRlMraGVB1Ye3bXQTdNW6lmeKQDuNnkORqJmA9bcReNxJj5kVHeKkKcNZv3f6PMyeugO+w==","shasum":"306f1566fc1c916816830b3de4e53da8d6d6a9e2","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.3.tgz","fileCount":116,"unpackedSize":235689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejXl8CRA9TVsSAnZWagAAN8AP/0cqbrTy3JauNBsDeb7T\nklFtlMjhnSrsJKYjWyiKDIWLZGbKjOwGiVd9hA5M8ZOwrDYj2OohfdE2Ttyp\nCHhBz9mOX9NLrCSRoMxtyRiLY5y/gleq7VQOmR/uI8sBgglUpVS8S9zk2rdQ\nBy1zQrLUQsVI6yyCf1Rd9ILB5UUnrkF335bhcDuIm7KtNlYLqzNClJoQAC2b\nbeixssT37JseTPD3+XpP7JRJLXsvKFI0E2NKQgB4JFY/FdndH35p71TZihUM\nzJVrbxCCnU7Vp5OKFUQJkXdZVr+wtl9MwwOpo0Zw8Sbe1zWt6aum3LB43v/g\nSl0lMbl7pd+y/HvuoqZah3XE1nSXTYrw91xem/tOKKY4CNqFaazhUDSJZZ4S\nyCj5t2JeS6c+Ux4is9048em748j1J6v0ZDFxmxrKUToGqmkXGacKuOrNfLiR\nawJXoXzFkBLoSS02DsTF3lJ4iLTHJI6zEslJvmvqZm6IM0qVu5I2Yo1ogCQa\n0ew9MLnzNl9h8bltnyt+1rzHr5R3DUL6SZm2CQvkXWZL8OVRLtTXuXkVwEow\nxL4bRB+bADQfJ6ObzW3qg+ZiVUUBE9KnHkyJsStvrsI+KzZuCVcMp9zpavtR\nCwMEUYSPfB6dQzHBxsLd/k0UbJ4Lo1vhjpowmqvo+BW+v3WJKwIY2Se9ySmV\nwYlB\r\n=Xfex\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3SDFk36OT7Acq7V0s8xjRzJtSoXjFILpHl1efXMWWmgIhAPGmeCPCiI/kXBTljsneLoWfdSbxvE7DpjhxickokoZS"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.1.3_1586329979787_0.22873901148484355"},"_hasShrinkwrap":false},"4.1.4":{"name":"fork-ts-checker-webpack-plugin","version":"4.1.4","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.5.5","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel__code-frame":"^7.0.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"5bdc6433e0f30ffb3d331c5b1464f301a1ff5413","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.1.4","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-R0nTlZSyV0uCCzYe1kgR7Ve8mXyDvMm1pJwUFb6zzRVF5rTNb24G6gn2DFQy+W5aJYp2eq8aexpCOO+1SCyCSA==","shasum":"f0dc3ece19ec5b792d7b8ecd2a7f43509a5285ce","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.4.tgz","fileCount":116,"unpackedSize":235651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewBC4CRA9TVsSAnZWagAAW+MP/3s8omxGpcqT3fuTCWNd\ntqmt8caUp/RD6x2Y+MQty4TqdU0+Sh/b4KRdInhgf6BOHeBECG2xt1VK+oSD\nL3X6NKAPl6fDWd41pxe5oNkNx5rhVwrT9xttOUkaH7MVGUmbpbM/rCtveSbL\nX6ZkHbjnQgoJNcig0H7iqyEL5iCoE1lZ0a8E0fbdY3aIHaPs7NqOpr8QaTRm\nzRwTSEUhdyqIIcEz3RZEu/dCtgUaABWLokVPizdx9mPN8YF2panhtZeYXMnV\nHAi1q0Esoo0hVRXjcxuKtBKgthBdOWQvXoW4T7FUt1myNAaU41W9soLnDneO\nCFmIU7SrctRGkf/WJa3Bs6c1BUigYB/9ubKKOeUPcvAV4KNNWxsUKW7MyqBQ\nzlWlhSr/8rWluk9DnVrR4qgyBa8w5fPZT8bvZ0eYq1rTZcpqx9Asidq2xHf9\nzs1WTjgIrQ9oaLgrVJ8k+hdTEo8Pn3uOLuND4ZrsZLm+KrW/ixPIyodZQ2SL\nGsLYlJ9JXglvwaScC0FSy3B70BMig06YWGpBmucJzpDj+v08yvVbP3wXYI/g\nlDZfDtToMDwSAOaSDp7ulLazWW4P0/bORIVzoSAPNLoFit5hWbxUSsgxyYwQ\nCIXFT18z2H98bpuM/gwcCwjM4EjPH37ix2vJsoGOUEEqm6Nzx6WgAlZwgn6Y\nzj9j\r\n=tjzg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqJ6yzvsKCRkB5sxdRMqS764dgquJRRJ5anj5IQYd9LAIhAKvDy0HPo57KXAfY6eOjAS8GX731LKvY4LmYXrO6a+dG"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.1.4_1589645495544_0.09702183347241089"},"_hasShrinkwrap":false},"5.0.0-alpha.1":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"4c38cc17d465a4c0806b973b212d44ec41dcb7fa","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Yarn PnP](https://classic.yarnpkg.com/en/docs/pnp/) 🧶\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `pnp`                | `boolean`             | `false`                   | If `true`, it enables Yarn PnP support (requires [`ts-pnp`](https://github.com/arcanis/ts-pnp) package to be installed). |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `true`                    | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Yarn PnP\nTo enable Yarn PnP support, follow these steps:\n\n<details>\n<summary>Expand Yarn PnP set up instruction</summary>\n\nTo enable Yarn PnP, you have to install [`ts-pnp`](https://github.com/arcanis/ts-pnp) and [`pnp-webpack-plugin`](https://github.com/arcanis/pnp-webpack-plugin) package:\n\n```sh\n# with npm\nnpm install --save-dev ts-pnp pnp-webpack-plugin\n\n# with yarn\nyarn add --dev ts-pnp pnp-webpack-plugin\n```\n\nThen you have to enable it in the configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst PnpWebpackPlugin = require(`pnp-webpack-plugin`);\n\nmodule.exports = {\n  context: __dirname,\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: PnpWebpackPlugin.tsLoaderOptions({\n          transpileOnly: true\n        })\n      }\n    ]\n  },\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n    plugins: [PnpWebpackPlugin]\n  },\n  resolveLoader: {\n    plugins: [PnpWebpackPlugin.moduleLoader(module)],\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          pnp: true\n        }\n      }\n    })\n  ]\n};\n```\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                | Params                | Description |\n| ---------- | ------------------- | --------------------- | ----------- |\n| `start`    | `SyncWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's a waterfall hook, so you can modify the list of changed and removed files. |\n| `waiting`  | `SyncHook`          | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`          | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`          | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook` | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-lNl+9Tww5CE8r38t1Q5/63XG6avSh1qSo96CeGkNS+49j1muljnk6cU1ltaP76ljKPZjO4Z7bLQKKr141ENfsQ==","shasum":"a24983eec4498689ca54717946771fabd8a8b04f","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.1.tgz","fileCount":6,"unpackedSize":36221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyWyCCRA9TVsSAnZWagAAFAkP/099QyeDcUTbRFDD9jfg\nUeC7scZ3o79nKXZFOdEgfJYl+MWlKq58UzcOmJ+TV96ZK5IYMceLdq6uggx3\nJspG1G1DXy0eITipkz7Q+CboyFfQahkWvWDpCI9M4ELXwpFjyuXZM4OJ+dva\nmycl4QgMs+yOlaz3+yWyIjbwRygbS5Zi9Bd7O4JDbYuesRxDHDnlU1aSpgZj\n4I5H6HapLwCUbEObIlFJWWRNukM7RcoUAz4uGGGfrmWHSo4H74SEyGtIL0U9\np+bdKAumzsjjhPROBTJ/A5JdaAOmoaqolhoraQ/YPTzXaCBdljpP8h0pW5l8\nImbTsHnk54PpdzX6NeEE6dCJGnXTJ5HDH+ABRCJZM/DiqxluQediF4pgFb3e\nlqOXU8Up1GEEGUTnBWZiOp0SqzhJgWIFbPcMTKyNKZrBPROGYy5btnJ3sMUb\nMpO2FlnLOA6v+MkwiV8ie5P2RFLOLsNsYQ9rH98PzNsgOEIN8u7oolVm43zg\ndjqwQJWjmxDAEP+99iMMOnCYBYM1VF4Numb+Wsc3UsfAPf7JCbyIRJXPnR3N\nN3jcPiHKbiQstNEmdih1ngl77eDN8MZb+XNVwG6ThzJ1+d/MU5RBj8AnyL1L\nafwtnBiS5qYjCkoeb0SjquXB5unv3k4CgshDOfguTgAxiM6j0Nk4Wr94ZDbs\nZEOJ\r\n=0BAW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQGoBETC+RaDgYXzZ0dbPVsYadvs/iGOQRF7xtjKRHWAIhAMkN8UrfD2NaJaqitrw61GRQox9AblhgKH/MsEW1G9cv"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.1_1590258818019_0.4949753225014637"},"_hasShrinkwrap":false},"5.0.0-alpha.2":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"57cf13af63fc8287587168dec71c2537578f8469","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Yarn PnP](https://classic.yarnpkg.com/en/docs/pnp/) 🧶\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `pnp`                | `boolean`             | `false`                   | If `true`, it enables Yarn PnP support (requires [`ts-pnp`](https://github.com/arcanis/ts-pnp) package to be installed). |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `true`                    | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Yarn PnP\nTo enable Yarn PnP support, follow these steps:\n\n<details>\n<summary>Expand Yarn PnP set up instruction</summary>\n\nTo enable Yarn PnP, you have to install [`ts-pnp`](https://github.com/arcanis/ts-pnp) and [`pnp-webpack-plugin`](https://github.com/arcanis/pnp-webpack-plugin) package:\n\n```sh\n# with npm\nnpm install --save-dev ts-pnp pnp-webpack-plugin\n\n# with yarn\nyarn add --dev ts-pnp pnp-webpack-plugin\n```\n\nThen you have to enable it in the configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst PnpWebpackPlugin = require(`pnp-webpack-plugin`);\n\nmodule.exports = {\n  context: __dirname,\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: PnpWebpackPlugin.tsLoaderOptions({\n          transpileOnly: true\n        })\n      }\n    ]\n  },\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n    plugins: [PnpWebpackPlugin]\n  },\n  resolveLoader: {\n    plugins: [PnpWebpackPlugin.moduleLoader(module)],\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          pnp: true\n        }\n      }\n    })\n  ]\n};\n```\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                | Params                | Description |\n| ---------- | ------------------- | --------------------- | ----------- |\n| `start`    | `SyncWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's a waterfall hook, so you can modify the list of changed and removed files. |\n| `waiting`  | `SyncHook`          | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`          | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`          | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook` | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-MhZTxL3i7APBgy76TibhCtLjKeNnURGP2vNOdT0w/n8o7RxUxSnXcIYaqmIFiUiyrwdTECu9MlOr/cZBNsb22Q==","shasum":"09f1aedeb0961267d53b1b044e26defef999c17f","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.2.tgz","fileCount":208,"unpackedSize":211244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyjACCRA9TVsSAnZWagAAQ8gP/i06E8UmKnH7GHADsL6o\ndsvF78h/sO1M8bAGbz2Z98M0V2gvfCXUmMfSK0bVQfT/q2H7ipzB90C1bz3W\nbftVtIVj4IA7NX5NHG5RhgjJybD1P58st9k5ribi6jjT6lXsIapTW/Ekxcxt\nnqG34yD5JwmM84OpnCTIAKV77suM0sSvrORXL6LLArhADptfJ/v9WEvKMxbo\n3ThHB5tySCvq4NhOPJCkn2lAAHhe1zXm8b8wrEZ3TP6Gl+HqSH86ftd0SUy1\n5yV9fm6xC4EWjHsaNFTSX/E9fMCHXTRb1EUOtB0yJqwbn5spIVbjeEoX0skJ\ntcTUNf86Dub8jitQ3J4R0uopejTHr8d7p/lRq58jR95SXu/oucLSRz8Ywyge\nucffOWcZbr13PaeR8KndQI60UWgUMFTq2RbeL64xfwgU5u+Q4gu9j3WESfOM\n8p901qSoqsCgJbUrQ57wFoxJLi7q8e8i8Xoo3bMTZeb2ql4yJoXrru6ITRNk\n1PaWZQqaMwsAPPPA1mrIjgI9BusVteFC6CmsiaxtpL+tpemVF/X/FqA704HM\nVoMnltJo/qfGaIkom/u5vBuNbpY1mj5BjD/D7EcvHKgcn7BjWP438268QCfW\n+FV/a0p0G9qNtXCM26cYsprEe7RuOdle3IzDvdg09q7Ms4/hStHn87ttMeQs\nZQod\r\n=8Vuh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLzbl7+suyO/WHAc0gJ6IYV6FL6swuOiTcid+Z2ieVJgIgbp1bj28o7GrYzexOguhZ9dpPbQkATq5qVHu7NWiqb4I="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.2_1590308866077_0.24837948884355487"},"_hasShrinkwrap":false},"4.1.5":{"name":"fork-ts-checker-webpack-plugin","version":"4.1.5","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.5.5","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel__code-frame":"^7.0.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"77effc8e7168d063abae4027bf9d13b31c9551d3","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.1.5","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-nuD4IDqoOfkEIlS6shhjLGaLBDSNyVJulAlr5lFbPe0saGqlsTo+/HmhtIrs/cNLFtmaudL10byivhxr+Qhh4w==","shasum":"780d52c65183742d8c885fff42a9ec9ea7006672","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.5.tgz","fileCount":116,"unpackedSize":235823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey9Y/CRA9TVsSAnZWagAAyDIP/2a/VTAobUOxvFRlaa6k\n2fR6xRsAap2eOPYU5N0EBdjaxzmvhUyD05wu8Eo6Ywo9/8iyInxz80sgcCro\nRBH4H4pcDA6cGZmejfxpXF60tJww4tQM+umyAieP0ptPoQ6hCcmeVT87Htm/\nkyEnG/LG+u1j6IqTsySMkfkhv5Tjxw9FFh85nzgPOnEjHHWNhMh9K3PNQ5Lr\nikBxBAf/ynNQjdCPrzVMFcw9YzVXYa4TumS9PXHtMqhFRh71vleB3eb0GQjh\nbluDFiEgbhoPPf5d5rJxpxV3TEKkO3cqRF4Omy0gEmre4AnAqQ0hnot2Hi+E\nZI//Be98da49DqFq63N28sWRRI+xVFexKcxhNz79OPGQbeAtvT4ShZfdmQf8\nrFUe8udascyFciU8/l/cANLd32iizcIGWyG35x+JMdlYb5EVqVPoOoZPcayO\nojwJ19qXkWR07kIlMEHB0mJM0AUUlttIepgLOx44GbyepaJgvn96y+Ynazso\nRFpmC1CwU7CQFhRfZdROvn/mRYSFHlc5KkC+wInEfyoKxAdn5rHKxBcHcN5W\nxOm9/IOv3kf/Gbmovd3Bvl6W1azDnaEmlL1RBS8nlr66emetgzu5Rt4axgHC\nRCDNruuZHwkT6htG5jBTcuAkmn43gAYvCqD66RSARBQZ6sZgwLGTZ9LyB5oi\nAHmQ\r\n=2Nj2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCgMfrWyVlUcL3dQd2A1G3ey2sm4njcBUIl+s20hXT1wIhAM9kCDnBNHikfBclTS92DN3uId4sqXNbPkjNvAxMIe9a"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.1.5_1590416958922_0.6219267695288906"},"_hasShrinkwrap":false},"5.0.0-alpha.3":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"7817fcb88cce143060dda9a6bc7e04e429cce631","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Yarn PnP](https://classic.yarnpkg.com/en/docs/pnp/) 🧶\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `pnp`                | `boolean`             | `false`                   | If `true`, it enables Yarn PnP support (requires [`ts-pnp`](https://github.com/arcanis/ts-pnp) package to be installed). |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `true`                    | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Yarn PnP\nTo enable Yarn PnP support, follow these steps:\n\n<details>\n<summary>Expand Yarn PnP set up instruction</summary>\n\nTo enable Yarn PnP, you have to install [`ts-pnp`](https://github.com/arcanis/ts-pnp) and [`pnp-webpack-plugin`](https://github.com/arcanis/pnp-webpack-plugin) package:\n\n```sh\n# with npm\nnpm install --save-dev ts-pnp pnp-webpack-plugin\n\n# with yarn\nyarn add --dev ts-pnp pnp-webpack-plugin\n```\n\nThen you have to enable it in the configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst PnpWebpackPlugin = require(`pnp-webpack-plugin`);\n\nmodule.exports = {\n  context: __dirname,\n  entry: './src/index.ts',\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: PnpWebpackPlugin.tsLoaderOptions({\n          transpileOnly: true\n        })\n      }\n    ]\n  },\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n    plugins: [PnpWebpackPlugin]\n  },\n  resolveLoader: {\n    plugins: [PnpWebpackPlugin.moduleLoader(module)],\n  },\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          pnp: true\n        }\n      }\n    })\n  ]\n};\n```\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                | Params                | Description |\n| ---------- | ------------------- | --------------------- | ----------- |\n| `start`    | `SyncWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's a waterfall hook, so you can modify the list of changed and removed files. |\n| `waiting`  | `SyncHook`          | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`          | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`          | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook` | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.3","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-NsbMRInJ4ZoEIR1q46XA9gmbZiOyYec3SfW2VJnHwV20Z+T5HGL20SDzodtnSi76hlhtoxZu00ktAkBFc7GtzQ==","shasum":"4fadbcb7da199b2ff13b2cd84991709cb7c9348a","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.3.tgz","fileCount":210,"unpackedSize":211846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey+N6CRA9TVsSAnZWagAAvYoP/0vgQvtkC+DqxhrUD/u/\nuZU+8i6qjKz3whP89VXyDJ1IeN7CTVO5xri4WVLhg8tDA59QM56WRGOBb1PE\nJkCIfQvguw1TStdPZjYKb3Imb7AVzTp2u3hyRcbdTG6/7HM1HXl3HK7FsOWQ\neOWHS8vTkHwdL8iNebMS+xWqiXohDNRf2lwgf419X7RqdsJ+lKU741ja9WDC\ng8RsDwNbMkYDPEnxbN5WJXD29fAhT5uHQPhwNXIgnuTw8YochkS9lZAGONwx\nBsVqLerp6wYIjAWOq3pHeDqn5KNUdxntqDVZk0l6vmWaVKxPgwWQZnH38DHr\nJKXy8+9bKDEyRrUWZh7g95+GzamtMfwNYnmPPYT7cgnShYrqe6L6d6TB7RBS\nNmlFTnNjjGTpvCo8SjRHvv9T1T7ALXcZBzWmhJdx9upBXEtSmm+nlqUoYc4H\ngHRL1zsfiZqqvPoWSvqBwO4QN6HRO+M1sfphFho+5MQ1p2DVsJDHCg2VtCvQ\nBDwOGUnQa/zRhS9jY0uVlEaAMvGGGXaUppXdti28exM9DZ7pcDDp/VSHtkP4\nGGMY+0bqIEDxpUeajN/MM6prDjXiOn+IFL7oCaX8E2komtIq9jfq9Ffn7DQQ\nkloFKgQreUuhv4JS57OKHiqc5dCBy5JL5hYyQtGl6JpOWb8YMHtPJ8iBBe/d\nxGN1\r\n=qPMD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQmndBWJpEyLSbRIdcpkkO5fWWcc35gCOe3q2f/w8eGAIgVnZs/4xRXB/cAK04S3ow9aogXXxmoqpQWtWjSGyiArk="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.3_1590420345637_0.7885704185169964"},"_hasShrinkwrap":false},"5.0.0-alpha.4":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.4","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"19dba483068a16e87f7ca36a078764b83cc05620","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `true`                    | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                | Params                | Description |\n| ---------- | ------------------- | --------------------- | ----------- |\n| `start`    | `SyncWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's a waterfall hook, so you can modify the list of changed and removed files. |\n| `waiting`  | `SyncHook`          | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`          | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`          | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook` | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.4","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-fInWtzvIaBkpUbAHQKbtP+Ozu72LOinzNXw5rkqpEmUTRqFjhb+iIwTY9gHJsop0d44MoC7VqWTTBN2BLKQvSw==","shasum":"c1842a4369d47df097c542da8362f0c647334075","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.4.tgz","fileCount":202,"unpackedSize":205616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey+s9CRA9TVsSAnZWagAAqQ8P/0SBA5vpdsEznCxHhMgA\ngZ9ehm8XgJczy4HbXyTjxWobjnrbGMz9Xk6CjL+perfY2pS3Ey8zCncMIgEO\nNbYjWDBosuqj/cz2i5v9UcEqhy6N5eNAYc7+o3GvozS2W82uRHAC89yY1XxF\nOOLBT2Ygb+vsv63Naco68qQ/q9FpxtxsIGlElbo2IRDZpeIo3Zj9ujqc0rJb\nsfKt/r1P2IIzPNWjaVMFFQGBstY28dpBZHNFiEVF4xRLeKbWgWqOlCnu1SbD\nYQa8GsnkoQWE71v6k5OpzTJKuRAYQ94eTI72Wg8Wr0Z4eHMm3C7pU0tocUb6\n3RPhKLDJGUIPLOmCw4OPoTVTKxannUBtkE0pMgkzXnLpC1bsft0UGix+FjON\nwgWAE4OGSCDIeKROTWNr2IZG/YSACKb2D3c44phyMt+C47OrztazbJZMjHRz\nevAz4ixkVb17KsmGuWo/b/6d44z/i7NPgAMZrQ6YxG/1CayuHpj6xWKa4PQ3\n1IiXjrK/Lx18r1E45BDsc4BqVPdBhIcpraDdJNIEmOT263287ghAOvJRVsh4\nhhck+pAXaM2ceN4xLuHlZbTSD1mKLLQVDtKJr+G2/fg2pD/GwZvdLtvraD3A\nlK5S+kc5IRtGSIuofnp0MlDYBNrhafMhAbqmnxG++7gNtd84vZMiRn1QLZba\nn4Hl\r\n=dNVm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIELZ/7CyCaY+05MsmKQOZQ9PVrmp+oYs5OMh35w5XYC+AiASEkGTJmHuWA3yfM0jQnzfs5HkOIIIZmGJM90YicAQNg=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.4_1590422333377_0.21174449235415205"},"_hasShrinkwrap":false},"5.0.0-alpha.5":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.5","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"1ff3ce4737836dafcbec6607109954705d11116f","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `true`                    | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                | Params                | Description |\n| ---------- | ------------------- | --------------------- | ----------- |\n| `start`    | `SyncWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's a waterfall hook, so you can modify the list of changed and removed files. |\n| `waiting`  | `SyncHook`          | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`          | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`          | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook` | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.5","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-MG2qKCzpUg83pwQ5Y45JMI46UFNI0ozeQSI0etVvgoXtYm81lhqBh93rrIjGQzLClXu3KAB67+w5PLad6y75Ig==","shasum":"c4b790233304d20fc76f8efeda538b4239a4928c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.5.tgz","fileCount":202,"unpackedSize":205753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey/MxCRA9TVsSAnZWagAAU5MP/3gFplpbqcZw05ghmqha\njmGXBDR0XxGdrDv5Y6L7xnSF6dxgPG9lcLuSR38Pc9oonEDUb4F5sW1rFgRA\n1vDLOUNzQxzPQGNj4TeMi2ffbdJg28JyMP/HBy+PyhNkYXBvew9oVRfFWzNq\n3R2WXBXO+HHa394aDmdZiPDeCxe6oxvbg61ThgrlNsoSh4WLGMxy7AJhukdZ\ndXPNkGO2dOkg7F4Q9s36PxvDHY3iacgZ3W67sBTWdVb1dYhMKlP30cATmc8w\ncMzROaiCLwe6z5gf8viXmNMDnFM0TL9sH7FyQF1xWrGOPiK+bGYhwB8BgxAI\nywcp8GWtzqHlHnzljy1xlFWR8wkw7YZ5v11X7R7ADmrZ5qQpyXZGdI1vS22y\nTK51Nol8DbfJB9FpMNRkI7qDw1mG07UODRfpOiT5ScrJRRBg3ygCcSuLahLh\ndjo3ngFvF07KyAqq94ZRBS2Gz2Zzmc7HsoAtnv3XFjVC4rEvilDSIX2wtlVH\n+6SYSKrYG+eyhD1V77Jxo05HjBLxGsB0+ItVc7TuKywlW9d7Y4poe97imYY5\n/YVG9wo194IMW+eNGNmtAp06ekktr6V5u3dIjwDU4jIV37zq1b1difUhn2KD\nafr18jSui+TOVKjPXgueQI3D9tkZJLUI/nJF982DlfEci1amU37kCyrYp+8L\nz3XM\r\n=eEXY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESlNu5T8p2muUz2GlQUzVOQlPSqLzQd8SXja003ZRGwAiB7rwxb6UhHDhuotbo9q61vg6sc3i91O2Uu8f8/7DZz6A=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.5_1590424369273_0.3590552727823557"},"_hasShrinkwrap":false},"5.0.0-alpha.6":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.6","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"cfcc0fe3ed2db790d54c948f04964b518251c7e5","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `true`                    | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                | Params                | Description |\n| ---------- | ------------------- | --------------------- | ----------- |\n| `start`    | `SyncWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's a waterfall hook, so you can modify the list of changed and removed files. |\n| `waiting`  | `SyncHook`          | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`          | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`          | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook` | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.6","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-bFGtzOpIaXZuKqD3TEERNpT041vaOp+I2OTEiOyjHdmp0m1oLhwi1f39k27hAf8Jf5pwIKf4wQsuWR8G8uLjig==","shasum":"5ac78839aa9308d7273a5a0cf7b6433bc885d49d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.6.tgz","fileCount":202,"unpackedSize":205002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezNHkCRA9TVsSAnZWagAAWUgP/jubmLJvDxRWtTTl6H6p\nrqlWyGGT+HEabiKlnvtwY0ANDEKvtB7eNnP/kXGwFom7oujbwuiIsrrENBLE\nUXFToyw6n1mYlNsoRtWNct4cRy7TFMLjZlPZL2Xv6D77uRbHlPDq/0o6OUbt\n+5D0csXUK6ORON6HnkUJe3A6wmUvsQr4UdVtR/hvwln29BdBzQiwSLAvvAiF\njJnzzDECbE0rCaxQv8zniyJ9NusWK+Mm5m3s6ETZMdS/A8s0bfNOQILH5Pl7\nY6tar64+RxZbK/uMAVhMZht43hdjBt/WZGeDQeYwmvD7RTSdh5h9XLbPVONs\nUrTvjHfxUiqocZg8F6VVsZe2fxQ+x3/gzbC9eEwzEZx6js/7WO+C/hULgwNC\nZK4SO6BTB2AiMVgUPjdIwajSYh/4sG+elnzVcvfnZfDtgPLc8de+KB9FxcLr\nKAXD1PY217rTcXI3J2rcmUW1sAfIqf9zx87a4ZiAfpE71bHqcJyDsx02Jx35\nScwqaSb+obzwDCUzqZln7/021ZKjPJx8XzFMBMprC/NUwZRz2PEma53VU+Yc\nq4SSsN6A/bJklnIAJfoSUCJlly99NvCvcwcy4ujiy11H3jOKmxdmVJhh5mEn\nqW/dgYB5PnqlnDQCsZvcUTbF16RWDBoysb1uOgYsuqvbAJenKbiw4fFt1M5N\nmIpO\r\n=5OBV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUGNR7RIAnms/BGgJs+49nHWnRVqHtHxFsQQ3QNSWmAQIhAKCu0mr1qTZqoaB8KIOemjP5c25/tGpk1yn6cMSTpUZo"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.6_1590481380034_0.10251398222048924"},"_hasShrinkwrap":false},"5.0.0-alpha.7":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.7","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"f2774442aec80ff02fc041ff2a88767b7c13284e","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `true`                    | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                | Params                | Description |\n| ---------- | ------------------- | --------------------- | ----------- |\n| `start`    | `SyncWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's a waterfall hook, so you can modify the list of changed and removed files. |\n| `waiting`  | `SyncHook`          | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`          | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`          | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook` | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.7","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-t3uVlnuiocsSDPFHu6+yMHGRWNnJY6wzkXP5NdoMTGGkwVjDo7H1BcFO7rlgSh4pXuf8iRj3pzNmDk12k4pH9w==","shasum":"c5e19be73748bc25b1794158c268b02254d1a8f9","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.7.tgz","fileCount":202,"unpackedSize":205774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezNZSCRA9TVsSAnZWagAApFgP/1sXtM88WvGD/GPi73nh\nswZkpkjLM8QaoXrP85Ual2cRTsOW24nibplq4V3i2kfkbTy2h4gjWZ4p6H88\nokHBjPLjmYkm/RfedtAwA2CYR1qi5O6iQwoRjQ9hHj6Q6LRNP7QhsgIvEv0O\n8gF9MVH1ULhQBv2YOA9YTiTb5VNt+GajJ4a+zeNcWPSgoZWz9AHgBCeWNZP4\nkHlgRa31HLWBanycNDAtM70eDdR9CSlW6rYZY13Wfatfqq0lbZafyD61wq2a\niiqF5pJp2S2mx4VrahPjrMmEO/tL3eE0kQq919NrihI+/PCImKHJA98TM7zR\nzU7szbIe2c13lrO2U1JvykFI0I7kxC7lJbyYa38Kq4BUZ3NToQfCX0j/eILW\nU7pcHx5U8OY6LnKBFzJKlLBqKAKAzJMvBE38KF1l9epxda1BE2kWC64eGc7L\nVUvurP3So31yjECSj8oKIrDxM4sTX+iJFvtCAVHu+7eK4ItIPtezwJy/7f7W\nGXz8eja/SVoT6SA1wzg2DimcM6MejCXMnKL97Li7Ms//2MQWlWK31DHadzUB\nFM6bXw1ExSbASYKLD1t3iyC5n9E1XJ6gyCmfn9OWmJcSbxLNLJ+e1cKGs932\nZGC38nxkiN8X3j3NF+sO+/SxrT4OUxPp7weUvJp9+D/XH2xuP/H0phujqtRQ\ny6cJ\r\n=Jo52\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3DG+GzXnJGwARXaGaWAbY9s9agxMpw3sL39Lns++l6AIhAIXRvkidmHJEnNZwg+xMAGEBdUXm8cZRevkHmMql9MJK"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.7_1590482513798_0.9940503743711753"},"_hasShrinkwrap":false},"5.0.0-alpha.8":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.8","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"8687c632395dbaee2acf771942d6bd88d459766a","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `true`                    | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                | Params                | Description |\n| ---------- | ------------------- | --------------------- | ----------- |\n| `start`    | `SyncWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's a waterfall hook, so you can modify the list of changed and removed files. |\n| `waiting`  | `SyncHook`          | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`          | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`          | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook` | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.8","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-fAv5Sf6Qc1XeuDmwe5sis9ExpmyK1h4I5K7SCX7P+ZPsvwIbwYcy1dYUBcWqBThN4fYYkraGiHJkovpV+08AWw==","shasum":"2a2d1acd66278192b64da9f7f1eb679c4f9ed0f7","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.8.tgz","fileCount":206,"unpackedSize":208781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezWvzCRA9TVsSAnZWagAALDYQAICpTYhO4dUfaCWszJ9o\n3NOtxLFuf75GapaSlQtiUXQpnIAd0JtVDXpm1BHI0I3SCyFoIZ3bq2N3/3ax\nJjhmUxvBoVdy73dhhNQhhGMHZAkwkJ5E9IR0AiS2kZNWSRF2MYR4UYaFe8Z0\nVrA1n+94DXHoDb9z91Uwo9+DY3S06KQ3WsQ6S/xZE7jh4JjuXSSRPMAFscqU\nsfDe+tf4aGL6ZYpyjsVHmxUL918sys50Nz8dG/0oZQO/3LhYYVa9G4j5irFT\nTMOBRM5LJ4qJBXW/FPUmfCijsLPCq9AX/va/B+WtC9o09HUhXz8J8ch9nKJB\nqaGif0td+SsRgKl2HrLaCb84cy4XzHJRJ+4MWqxVFn1iQjGEh/rr1sIKg42s\nHkzXVu1+ed85Iy2XRsABnI9BTrtZmF7Yt/S29is+QJXmZsfXVM/aOL1sRBfJ\ntC/luXeCQw+bBxNRqHmiI2XlB1eW7g5PfejF9YeGzIzryyN8YgU03sV+g0sd\nuGmTUQPbOWNVKwQU0va42lGHDSo4qLEM7mNGyv3Th4Oiw3aN2vGqh6AX7EGT\nqXTVB9SRhsgmrNKCS7xorrMUtlH9WfrW9dLLw42kJLu7SGvxE8eMexNKU8Dd\nKiWPPfKsZyaF8NSL4Z9/nCxPTfVFaH1WQrPq38kbNQieAR2z78hQQTGGyp1t\nVgMe\r\n=awtW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2mzSvHgMW+gGMC14EFZdWsVc9tbLIvfb9xNi8nDB0+wIhAOYP4LmB02+dqYyQ5nNUk7ozYhIxU3cEuARoEvE+DM8w"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.8_1590520818768_0.6677845565882188"},"_hasShrinkwrap":false},"5.0.0-alpha.9":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.9","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"5665dac37044911dbc7569986fb35ce818fd4f99","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.9","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-SjmvmijTupBkbKi6IIY65rNKVTxXXHhsS86xsdEKalUzb+5g8HtKv7wqTRxDWeeTVNTJ50cGkASz4UQhUlSDHg==","shasum":"0f70e529427736586a673630da8f6710bf617cec","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.9.tgz","fileCount":206,"unpackedSize":209149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezXBTCRA9TVsSAnZWagAAAkAP/0e7eKTaJfhCYnKl7J25\n78FbxEUc4GC2Dm9XNsGUhkJXvyCLS45damxH/ddoJXg0z5dCuoho5UryBgTV\nopOVhaJH7gR2JnZbUO25fsVUgvfaQAwtB7gWguHAhAp0kVUKMa0wj094bPpd\n+av2Y7UwDRKmU48echpjCXBtccQeOyeSfHHI7MWrZIi7+8txPpQPxQgM2fs5\nPxZjq5ZfI6kSw2aMtpZorhKTKMy8NtiBLDMc3Giv9RxBlcsulJ1+jTp/dAy9\n3nHsVP8CL3HRUrDcxf9jZFsy3h2nQGRCSdAqyrTH6hZoA+Lz2Sflx2YlRAHz\n6xtjMKC+rSvhbH1hBNxcU0EEasf+I3UBIZESOhv53psFrvvEcUSCtRHbFbcH\njzDFuZEX4SKGpaYfRuLt1Pes8WLlJXC+xLxyjup5WgNc73njV5SMROcWpUtB\nP2tYWwZQu412LnpR6tDloOCJI62JOQR8zIaO6Ak6RCOriNCd7NFJ3aiE08lW\n13oBR9U27hRqW8UQwMu/y/3+7FkwAAr/+hjfpMtBWk0taHfaY/1So8YJXb2i\n9ke3VwSfPQubT4FeNDLRwUf7a0JGCRaTsfAI7Kp4NtGg2ZDdnFP2Bml/T8UQ\nghLR0r7Ozti33L/aXXiY+UxL4cYkPH5nheXeFFA0vRMud59nfs1w0V4goMf8\nb+4g\r\n=Vqq7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwEO1Nfk9WfvHMCVrMp3yUrIkbolMGFDobTT8zv5mVGwIhAPQKDvRoT9WotR2Gxx1aKBCipSmYXa3KSHGhxGz8naC9"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.9_1590521938545_0.7710679822885076"},"_hasShrinkwrap":false},"4.1.6":{"name":"fork-ts-checker-webpack-plugin","version":"4.1.6","description":"Runs typescript type checker and linter on separate process.","keywords":["awesome-typescript-loader","checker","fast","fork","increment","linter","plugin","speed","ts-loader","type","typescript","webpack","webpack-plugin"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"rimraf lib && tsc --version && tsc --project \"./src\"","lint":"eslint ./src ./test --ext .ts --ext .js --ignore-pattern '/test/fixtures/**' --ignore-pattern '/test/tmp/**'","test":"yarn build && yarn test:unit && yarn test:integration","test:unit":"jest unit","test:integration":"jest integration && rimraf tmp","precommit":"lint-staged && yarn build && yarn test:unit","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"linters":{"*.js":["eslint --fix","prettier --write","git add"],"*.ts":["prettier --write","git add"]}},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.5.5","chalk":"^2.4.1","micromatch":"^3.1.10","minimatch":"^3.0.4","semver":"^5.6.0","tapable":"^1.0.0","worker-rpc":"^0.1.0"},"devDependencies":{"@commitlint/config-conventional":"^7.5.0","@types/babel__code-frame":"^7.0.1","@types/jest":"^24.0.11","@types/lodash":"^4.14.134","@types/micromatch":"^3.1.0","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/mock-require":"^2.0.0","@types/node":"^11.0.0","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/webpack":"^4.4.19","@typescript-eslint/eslint-plugin":"^2.12.0","@typescript-eslint/parser":"^2.12.0","commitlint":"^7.5.2","copy-dir":"^0.4.0","css-loader":"0.28.11","eslint":"^6.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-node":"^10.0.0","eslint-plugin-prettier":"^3.1.2","git-cz":"^3.0.1","husky":"^1.1.4","jest":"^24.7.1","lint-staged":"^8.0.5","lodash":"^4.17.11","mock-fs":"^4.3.0","mock-require":"^3.0.2","nativescript-vue-template-compiler":"^2.4.0","prettier":"^1.14.3","rimraf":"^3.0.0","ts-jest":"^24.2.0","ts-loader":"^5.0.0","typescript":"^3.0.1","unixify":"^1.0.0","vue":"^2.5.16","vue-class-component":"^6.1.1","vue-loader":"^15.2.4","vue-template-compiler":"^2.5.16","webpack":"^4.0.0"},"engines":{"node":">=6.11.5","yarn":">=1.0.0"},"gitHead":"5552f62e21b42cb816bf9019fcadc97ec6cd5927","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@4.1.6","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==","shasum":"5055c703febcf37fa06405d400c122b905167fc5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz","fileCount":116,"unpackedSize":235823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezgeTCRA9TVsSAnZWagAAbHYQAJ4jxtBA1YHZD7P7A33v\npvtUUeE04p1Na2zORj9YWz1mKvTgYUsmXgKK26dw7L+Ry/DZzsc+GFybX1tr\ndOxd0MY0v7P9aoYuWXkoKskjlLz2PXsUwD8jrl7yrThkONu59vqF3qvpNqxm\nnW+rv1BIKz6sfP/G2tzYI+dN8AkG+c5x567wJXXCX1vMPR5ML2aAAH1KYmb3\n8dFHNO64XpaqpGAnMTTT4nJzkqO/ISm+4SLW7ou2nKloQ8rEDUkSyzuuGLVj\n7jsdKOE/THJmkbV8y2cusdKdkA5t6+Ty9YGAP6Gt4aQTwoFENY4BT+nOAmRi\nHZABAILXRRYk2rFQtk4F0Hq8x3zEpnYeAFn2bDEfl9pS6rysjT8mvYh7HzUt\nGY6aHthnunimg7y121MJ1OZKZvdIrgDnbcB0PdBfX9MQM28xGPd7ErgNC/il\nvCNEt+xXF3nPFQwdPNlDPBGGbusP8YGyEDi4BuqHZvTDl+bqbELjEzShr8u7\nwVkzQSwpjQeDLIExdzi9Rl6e+8Eiwi8sbDsy/gUXJPPFJ1UgLdfpyIEcrUBu\nY+jRO9doGgPIIn9LGb8nmyqDkQrbqk8zYi44Kp/UEjLgBL9NhIbMV4n2lCWg\nhEYxmfmiN07Z+S0mJMffj182RkT0njoP4MsjCf6bu6i/3GWcM2PGMqbSrZMi\nBpOB\r\n=1fNX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGT4mkZ47AAn7zpx3wv01lQYVPQAGpqfRBlq2LwAKcnDAiAoW6szSF8CLZ7lcv0BpGY2d37Eb6TCBet5V3fa+UwNCQ=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_4.1.6_1590560659210_0.9998226275078625"},"_hasShrinkwrap":false},"5.0.0-alpha.10":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.10","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"e59a8d2bcb017642cf10bdf5bde0c1091db591df","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.ts' // required - same as command `eslint ./src/**/*.ts`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nconst path = require('path');\n\nmodule.exports = {\n  parser: '@typescript-eslint/parser', // specifies the ESLint parser\n  extends: [\n    'plugin:@typescript-eslint/recommended' // uses the recommended rules from the @typescript-eslint/eslint-plugin\n  ],\n  parserOptions: {\n    project: path.resolve(__dirname, './tsconfig.json'),\n    tsconfigRootDir: __dirname,\n    ecmaVersion: 2018, // allows for the parsing of modern ECMAScript features\n    sourceType: 'module', // allows for the use of imports\n  },\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.10","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Xl7p2uCVELlxXZmx/Sjl0sxVz+cwmm/0Yk6CwYjY6wzVHTDhPn/cRoUEK9kzsHeZxYc8xcQh3mJyUVrm+y0QHw==","shasum":"9e047e8b44d5d2381e0cb79ee3f1a4d9f0fe8ace","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.10.tgz","fileCount":206,"unpackedSize":209602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezkx+CRA9TVsSAnZWagAA8tIP/3iJXJkpyEmGUJEHy2h7\njXxSiVVcNhXsL4NKRcUWmrdl3f+4RlcgGKzwFKTPXhXGQzAjksA8GXSIJk4c\ntmmoZNcIZFtZx6nw81w/Yk4JpkdshrzX8XoE1XN1eXPAIcsKcSsCPSBvLrxv\nUxsF+Tptc2siwic5j5a55vYwjqp/+4XXwbefCmyOLQP+eXc5MMQO+aLsjEJM\neIZxTcqBZhEjwNSy8Y95SNSFVgEQEfyFLVTx1Z++sVmfU5vH6XgkzCNkrRIv\njqZw4sW4grHbHh53MXeO60fmgk8JyUPC0ZD6lp5twDh0xOuedJ6GJKjyjis5\nxH16Os7ioMaGLxF69+WpI7nOVHKL3A2IGKBCUMC91/6FGQSKLCyquV9X1qAR\nXyhsfMP7LC8f6AOA8Vvy52q6vLdRalM+iDqiedcIYUJYKCRkHu4Aowpya0Sb\nttuqYEwdHycF78S7RtpogbdbxHjZpjRQVP4YG0kGRKo4opXu+eEK/tUS4xHv\nSKoEt8qNSW0L97PRjhMS39RlVocwVuccnDZN081bB7tc9dbp2OoKlIKgLyFq\njLI+BqcXA8oVePl9N3VKY7hrRVCC/Wu9kwvnKR2idnLoYo9k3WsU4yonHT9n\nYSb3Q2CYdJIvnv46iaB/PMpCoP2w+cz7dWd3eQXraSWVk1iI/J2hABzFNiRn\nrl1o\r\n=Ck5m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcrcUpYhvQzSY5I7iLooPKG9mE8RfknOSOP6rSinB6TQIhAMZPot0cJnd/iJhnUd3CJ4+jIZ7XOQUcbd5eoxtnsE/B"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.10_1590578302414_0.3620205296264982"},"_hasShrinkwrap":false},"5.0.0-alpha.11":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.11","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"2ba396d4f785f00c8646a1440e59f35c6cf8e088","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. _Note that this plugin doesn't emit any files even in the `build` mode._ |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.11","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-zAHCRnmwLvgFBhVhdia2vvs+Ef1VR4XCYLFFiOunFHZuVlCnfX/F05XHsqwpL0npkMNcdiZbmRn+3rIuQnB/zw==","shasum":"21178f36683e9ffb85e29d3075ba1eb71e4161f3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.11.tgz","fileCount":206,"unpackedSize":209950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezlGBCRA9TVsSAnZWagAAY9UP/0lGdkiXDF6Bvai9U0vO\nhKsy68DrEPveJbhRcFZJwVH4IDVAkwDOzCCD8XTbe99V3+CbAPrubZdv0xtl\nadiYy34OeVZrZlLeCfnUu4KJoOhmiYG6i4D3FXkDBp6Zr29OCDIjwEjYGkv3\nl2ljL9oASLDG1wN6XS4RJa8gqkxCMXmpvKvnyyhe1VfVbnMgH2kZoMbHKaMR\nNkpv4sm6zk0gTmhT9nTsMt/7EUlAILjvE1Zmqy8URjR9Jm61wC6EVixoHflK\njO5+se/1dV1MpulYfPnBvZzT6YYckVhmNJWsNJNJTqlTNlttUYktAJHRQ3L0\nOeZaKXq3aOwqWee52HR/sLC5yOeHM149qKP/e3Px0htr4R6Ldk3K+yh+kBQg\nkhKB8kqJF+812GdObp0MhvR0GuzjhDm4SqOAYLrOgYLfz1haH8TT5Dy9F05H\noBQxJASIV6NFkEYFbdLan4QURFD3QT5OidPu7urRsBmsdqB2xCGu4QdPfwiV\nmie73qA/pLOeJ0jdS9XTZtLP0Sqd2sKSVkPhSC9yqCgxa2oJzkRa8q0MKxY8\n79TYSePNRi4M1sSOVIuV07y2QCSCmdw/EMAXSOaxJWj1NBwtmObtGxGQV6Hh\nFmlN6SPMCZs2RbCoubrNgo2XnvKqosk6gKGoiFNZrWXQT6Pxhrb5csrlX68g\nVYpy\r\n=hVFE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCUDtxm52IUMgmuWK9uEqfio+lPmrpV1w+Fa75ys+oagIhAMTMclxUdiJ5f3PNEG98LFy1NVpkq0RFJz8zmjFG9cDJ"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.11_1590579584642_0.6326738379761274"},"_hasShrinkwrap":false},"5.0.0-alpha.12":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.12","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"9b3b9dddb16151e791b483668d7958e2ac71feec","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type                  | Default value                                                             | Description |\n| -------------------- | --------------------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean`             | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`              | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`              | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean`             | `false`                                                                   | If truthy, it's the equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'readonly'`                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `readonly` mode to not overwrite filed emitted by `ts-loader`. |\n| `compilerOptions`    | `object`              | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`              | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`              | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.12","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-JBfZuE3BZBFj8fEB/nkc2HDofZGL/s1Bag+WQzuQr9+F2E6YvV1fBhzwGxT9D2MvEwhrjngHJTePQKlUhAxrlw==","shasum":"02f6e340177d732d5d443481997dc80eddb49f65","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.12.tgz","fileCount":210,"unpackedSize":216335,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez8/CCRA9TVsSAnZWagAAlukQAID5zTh2x+TfPR5BeuRc\nWHrWaBTc8A70DFTLa5ys+6UBaLv2N37AqmzMMlu8AzfzoIRNRmo8N/S/E2l3\n+wr4NauL8X7VK6aDARMaSRkipH3lqC7QeFE7OGoAmQMB24c72YOeXUghbzin\nFrwrRiTRKnp9RQUGVLmUE3U6Q+c7ahVtLgaOwgpyLXpqZBMjkljNGkc3TsLC\n8WxvhoRQY7tpHsUej8qzN+mqMrclPueCgkk8r49wi7Fg4o1rH8oNIuCPeISH\njPNMaoBUp12G98SPn/wZyMPEtxtjiaalvCbo2rw4L72NYH353IZupHDhZwF5\nIWtKZRDg6tLvsGMfuD8dOrcEBrF5gAyJ+L3X3AuXgj+IJ8NMeKRoUWGupOZH\nMAhxVNFY4KItt0vSRWbKo2xzOxRqniFbMuh6DF9q7T4Lw8Js3QZdkN+gRneh\nUVusMEUmW6jbeJRV8oFTfhLbpYIHV1+b4C1RJBXyzzW3NipoOF+gmoP971Yz\nYl3nfXIq6m7bGaqa37No0dBd3TszJEifD1VrjisPxPSiQCGA/tpVYqmzgisg\nC23jho1NS60PQzswKlIRxkTwaZPQiLo7J3qtQokPGcQW4MEgl/f+WcZyzNSG\nmuqJVdT+4rNpzhjg2HFNKwjm9eaU4H7kANzBOyX7JH5ZnWyoJf/lJRf7BnYn\nek/X\r\n=t4Lx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8Guvvy+hFANhLUT5DoqJ7W8AROUyZb93SQ3W5t2TYWAiA0SH1849JqG4YNN8N2NxTE6UxlWTwHC7NzYBQqwhdwxg=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.12_1590677441542_0.5167376092715132"},"_hasShrinkwrap":false},"5.0.0-alpha.13":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.13","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:pack":"yarn pack --filename fork-ts-checker-webpack-plugin.tgz","test:e2e":"yarn test:pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","unixify":"^1.0.0","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"503a9488f1420ffc23565cc11d5fc7314148f33d","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type                  | Default value                                                             | Description |\n| -------------------- | --------------------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean`             | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`              | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`              | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `build`              | `boolean`             | `false`                                                                   | If truthy, it's the equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'readonly'`                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `readonly` mode to not overwrite filed emitted by `ts-loader`. |\n| `compilerOptions`    | `object`              | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`              | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`              | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.13","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-gLWBvxtY9D1UJsu9mSsAcj12lvn30pULUAzv0dfMhmORnwarvKwHNExTpupl9ll5GqF/eFfjz8jCMF2gB7I+3g==","shasum":"f093c9de96e9930b01c7f2968688c4a89ba1aeda","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.13.tgz","fileCount":210,"unpackedSize":216951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez9T8CRA9TVsSAnZWagAAV38P/3ER5qKBYOzRz2wg+QF/\nwYLsbsibThScfVmqgjn+Cl+9af3mXGqHkDh7kR1BBPygf/oowS8/LdYPNMR/\nXnWKjExRbkxTV5/pQONmOrtvpy1Sdzwd9U3bkYLuVS365f2Z8Ebf8s9qaWhX\ncMN/NQQ11P/YkMfr9MpqeKReDJZbRFdOYsBVFEC/atlyh8NKYkM9z5BTEb6S\nS7Lo7nW5s2p7vmKe1HxWxsbgTZLInFTFpN4+DMqPuTQpyQRz1/LzTx6nN2Z6\nqVhwhFIqxwPpG1XK8okGf0uvztYhKjeM+BMItyKzr8kdWt4aciPvbvQa8AGp\nn+Y9ihDcqffhBMBdNnoCFtq4uCZWe8bY+r/YT9CMcADB28ntHALZvX6R+9Ib\nLiQ8caylDThHrt+RD9qMh29UAKJEbkSS/jjjvNxzl4I5dEO3yWjZXfQYu7Yb\nKIwDseLiLDI9IiB6hoTQkGjxioIC9TNdpiU9kj3fkaJTzqsrg4tRfG81uXhD\nuXJiu58rgwfQ9zftvB1D1KxRD9hz7g5IjcTRQ0pJB7hvN0kpdPVdcBC/H69U\nf3jpE/5IARyjz67CSVoDB5gWwXi4na2Q4p6wBGbIdiP1Sd7YDCHu7BScp9cp\nGLIcXqJtViqLHnKJJhwQW7T0GqRx/7qUqtm2JkrYPfL++IaHDg24rGeRGDSU\ncDBm\r\n=2ynz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD23LbFOoAESsXy6VjQF85ZdUKmptG+4IYDQDxtzyKpEQIgS+Ie5+qaz4yo48UOvM/pUQQwRjaFMeYiB9GiRshXDWM="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.13_1590678779830_0.7961900485154831"},"_hasShrinkwrap":false},"5.0.0-alpha.14":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.14","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"a430979fb77bde73836a5c6e72d327a58fdf3556","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                             | Description |\n| -------------------- | --------- | ------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                    | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                    | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                         | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `context`            | `string`  | `dirname(configuration.tsconfig)`                                         | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `tsconfig`.  |\n| `build`              | `boolean` | `false`                                                                   | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'readonly'`          | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `readonly` mode to not overwrite filed emitted by `ts-loader`. |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, skipDefaultLibCheck: true  }`                      | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }` | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                      | See [TypeScript extensions options](#typescript-extensions-options). |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.14","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-XO9+Zv7euvIG/FcM4YMsyo1cQgd8n7UWMdwAo2pbNBBWiwmPOkNYJWOrQOEVnSv+lZ/YQM1wR/K5j3ZxAwBQyQ==","shasum":"d746f9d7c57cccf30e04c8dbe2f469435e60dfa5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.14.tgz","fileCount":214,"unpackedSize":219492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0A4bCRA9TVsSAnZWagAAfhUP/1snN8HdUJnPdqF7gxZy\nDegY5eonCMWlNdN/O2rd90yMrQu3o3yTALQ9amWEZbfLQJHPb7r60TVI2Y6+\nnPfCJnT1zy+JRlZAV+WAHZQ5SntXe8dKCY2jhOAlcMqvs+mdm09FRRV4dd7k\nn0nW00b3mW4UziQhcamo62edhGPQqsprylK+AtMjiUCKv4aBPmNMpJP198ub\nkqh9mxfYw7yHyN2TxbAPN+kSPKiOAh4kQtmZUJcietUbLPXyDXjSc6nBywho\nUGtaE0KBXY/qCl7tfhlcpiQDfD2suwvhlAg4iPEh5iroE/Im1C3TtTXONZKt\nx5vEp8p8mZbUgDcPw7Pn6vcQquG11DZzRjt/FtS54EQ0pl+a3mOLmwMCZuNZ\n2WFIlaKNyu6ZR/7RZlBl/J2KRVUVhqx85WNFTl16IQ7tZ+KFQ/yuoQgR4p3q\nwyiNGMbrPIpiYt+BfCwDsvWCn+AEdeiddQns90xJJUi4dWwQUjXgLIWuLo/I\nY4Gwl5WBIZeGgRL+C9rcqquWJxIlHfBwznZbwdYBgQ3Rlz1mTa4uSk6BevQO\nyFNcLEvTj6JBt8YpmZwFM4ZJo3CkfimKhbTMv8Hs0LJo7fLXgXbw/LDwHNt9\nFts8BDLy1wv1CYXtDAU3zlk+IAnNZmJn2v8nUGuliXDvRh8Be3rT53bk3I3n\nNg2X\r\n=G7VR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHAq8iU9szKkFp7yArHcLj1EkFlLzRKJWaSj1XtInhZwIhAMPw/TA8X0gHzakVaA0xTzEs+ilVwAKctZF4HhoxKep7"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.14_1590693403209_0.14159378046966098"},"_hasShrinkwrap":false},"5.0.0-alpha.15":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.15","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"944e0c968375bc93b5b77c183338b7804309a1a5","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                          | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                 | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                 | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `tsconfig`           | `string`  | `'tsconfig.json'`                                                                      | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `context`            | `string`  | `dirname(configuration.tsconfig)`                                                      | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `tsconfig`.  |\n| `build`              | `boolean` | `false`                                                                                | The equivalent of the `--build` flag for the `tsc` command. To enable `incremental` mode, set it in the `tsconfig.json` file. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`              | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true  }` | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`              | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                   | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.15","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-jtmL+EsOEJtPVclzScnsX2QIVeIM/ObIGK/q0IrC95vg6RCa7ta3vl2OMHL/qrSBjHyolO0UIaFzMZy3G5VG8w==","shasum":"2376aecbfa315bb25c45f8fc4642d3ab8377d3c3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.15.tgz","fileCount":218,"unpackedSize":229268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1+ubCRA9TVsSAnZWagAAjc0QAIk1zqY9TPhfmEW3Nb6K\nBg8zVhTaOddoB6HAwBGiMYaen5y7n/5F4Kc3rKF444Bnbzn8z9DZxVJjN3TY\nLthKpG2mKlecvjHl06WBa8jnjTYHLrqvDRJubgbxRJe64K8kGyyVR5A1e1I9\nUYD50rv2lA7gJGhBgM+pW45JwEV66Hp1mBwM45KK4WuYQ1d9AV47rIS7iU/F\nVgRA7scP/Otic7NcCZNlhbyfmqzpOOG0p3h6deTBdWvtG/sDpCOxMqb4FSf9\ne4rpyZBm3PwAoIPZ+W+Ks+R9oULoHZAb9GCPo5cwwiyjU4anDT05KF6Vxnim\nqgVLeHigpTwVbXVeMF0wR376MzsiK5C0Prd/bXaNrqc2UWnAQ1tBMFpI88ms\njDG8Ew2qtSdz2CKVhinS7ZNStQ/GqfrnPY6NO69txuuGQ/cWRcE4iKUXQc3o\nzXpleYRZkf/YzVYcBy60OGpp2V4gwJLOg03MyLRwbUGJc1E+pojh1zqk9pj3\nAwE/Ne6qHQW3q9UMboTgfMBHLZBAllYXWXBT4xSv6z3Fy1mrHF8Q9rtxTNt1\nwStf+xY/b7qhvspNXaL6RGzaxbTs/r3Vy1bNalIsL52umnECZJklBk7NkQqP\nH1ssi5dJEh5AqmFvwLH3aboSaz3vU8Roo3M0yziyty98LdqXYDz9AtQF8r5O\nexQt\r\n=5BDC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkhc6NEOP8MaNBF306C3pLRA+Lnw36DvnOcgi/yWCmCwIhAIzh3MVvdP6uz4IJki4PxH3NUn5uQztEnSffw7FB0ZPU"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.15_1591208858587_0.662771270848983"},"_hasShrinkwrap":false},"5.0.0-alpha.16":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.16","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"aa8f74decf9971f40f51e4073dae5ab24fb31173","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                          | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                 | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                 | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                      | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                    | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`              | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true  }` | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`              | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                   | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.16","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-PoXN7HV3bkX0xp16y6ThsiLqXdD2PuvD2zra91uO+odZldh6sTPelYpUNzonBTqcrRWwpL93cQ4tlaO9X2pNnA==","shasum":"bad54d281c781823e98c27ecda99fcab55605dc7","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.16.tgz","fileCount":218,"unpackedSize":229248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2BDLCRA9TVsSAnZWagAAQ30P/3Hr+BUomLnm/yZqdObM\nSX8IbCCmMGeNSorWTgO3ZoTTLCH3ujq1CqLky53yGgLr/KwOjsIqmWDvxCbo\n7HbzSo56XzrEOXznY/D7iLo87qVadEtORrErU2ymFh8YWwTTYL49mZukEhxW\nPgsVwb0ZOpMbQvIjHexXbA3wOsdTMmWUZvTyeW0FMtYQgUePhSRbqFJmDC4O\n3tvzloV3Y3s0hlH5h1JL0q8aDor9tDzrRXrQbc3jZ88SI+2yLGYar6rUXyAG\nepaoJNi8exmT7Y54PkXRo93TQZfHDOZBZfy24WeEHkdCEivqpfIR/1WQnS6e\nzK/QhTY41wIp8NBM4kqIXZmoffP2M0yfOupF75uvFFMcRiBW6pINpcJSSEK9\nYk2Q7mkhKdLYyDIUBxVLUzsPIw+5eKRb63OEaJBiUdBRujP6ppAEKYhjCb+L\n0kvLEMJ23XGnXFj7MbwGQ9LWOZ3ULrDf1Z81mIIFvaVuan5VeBUgZzq4RL9n\nsSIee9INBh454AYEiHLxLJx/KoYRHUuEkbxXF5f0TktSxXP2EyI8HWB4qBuy\njtoOatYGl4v78WnzWpVt6p2agCPBJKS2s58yIgCFGehVuaxQUn3bFsPDluhH\n+zkmqycnf54ROEQGi77+njDr/OSLN1UGj7J7ZN3o9sColTClijkBctuB4/MM\n6mtz\r\n=idE/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLu7OL1MLYDgHB2RayBo+U9RSTV45xQIP5qK4y5vjSJgIgOmJ1hRq16fVUIzxRE0YWCByzl4ys0Ih3n920LpE0eBU="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.16_1591218378700_0.499017037353491"},"_hasShrinkwrap":false},"5.0.0-beta.1":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-beta.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"1f7ae0d275e0910cc37c6d7862ecf5c2e8c852ab","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                          | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                 | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                 | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                      | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                    | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`              | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true  }` | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`              | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                   | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-beta.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-zcdqI9QqG2QPPnWQcZTPjIKP6SOxkaAjb788YNDWWvU4kUc17YKo1SvuyNv/2aDFxzbHX2bT4+p3v0augC2XPQ==","shasum":"a5d8638c2f2f513a009e84d6f48639bd3ead012e","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-beta.1.tgz","fileCount":218,"unpackedSize":229244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2K9zCRA9TVsSAnZWagAAL14QAI3sXgy6URMh8oVZyVAi\nY+aE6pMc604Mkyhrifgx5OD7fN/Lg1PqbrAXayrX5JSA+h+nIueBaL7z2MR0\nL7E2R6z6Ftcc8/xLi4ony0L702cAIoj4FxYwVJ/Iz3B8U5bYg2D0ZyUhvFVg\nCnYKo0KM2pTQqjn7PcCav3kQFixbYJcqGsVVJvc2jRKQP7tweaf+Tz4UpmcA\nV8GJtt2/qTdHRnXvz1vSdHd89YhcgRGTtTgDXNDVNCvQIAT0XRSaokdDIMl/\nlMtnPeANIUpYiHbirvZdn+Hk5jk1AzHmmYx7St16ht8xWLyZAbZXvpw0GqCL\nc1FuD8GlKeyeaGmTAZPGaRYeC+tPFDlKQfjHHAqa2SbjCtHSLUg9FEvMn1fV\n93uOfz/OH8sVN5bBbJe3d7hmXDg1ap+IfqzW6kIckC8maSmy8QqlhUI8xngu\nmDwfvk9iOVu6k0PaJjPAZKm3DUpYw1aovqrEk7JTrX3XwKC/LRjXiNHen9FQ\nLw+m8hCHMMi9Ht4mOm1a19AiL1dCaSuMWeucjWji7udOOTHe0WrE+riI8j9y\n7LjYMAp8PqsnuTO9rc3caIPnrZoBy0dJKHoujYdBNywsojuvyOEXAvIoDRmG\nPDlx4KEqaAd3zv6veXITNSCcuX6T8hIWuJOtEPWyCywIEDfmq871U4li/CsU\niz4K\r\n=4fO4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICwz3RP6E07dIZI5j5tArFQhY9EJAXnhanIekq0LblBkAiA1ASxLjWaq5V6S7MuY73zE8L75OuTHRL8SyOJ46jfuCg=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-beta.1_1591258994912_0.23022955868449002"},"_hasShrinkwrap":false},"5.0.0-alpha.17":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-alpha.17","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"1f7ae0d275e0910cc37c6d7862ecf5c2e8c852ab","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                          | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                 | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                 | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                      | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                    | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`              | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true  }` | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`              | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                   | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-alpha.17","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-7FOs4YUTeCgOEjaM9VFIWyiK2RKwP3h5/EzWu0GEkNXRcH9wc1BVK0O0OP+65p8Y6in8FNMKDAbrK1Zxgu3sQQ==","shasum":"481d6c7c600f6769ac88b1a36ca8cf7a1c2d9df5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-alpha.17.tgz","fileCount":218,"unpackedSize":229248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2K+dCRA9TVsSAnZWagAAoKYP/iiuYvazDa/4U1OLIBCW\n2a+7TasnzAn5kOIuAzJXJ15FvWDR0RMuhjDZW/jkGk3kQ6VB5NqMYHrquE+9\nxnBgZywwNiykISxG+dUu0VPsv2/egJDXG0NjBj785vlJvMfAd1A3o7f36Hfs\nzxmrKY+rMBa2B1MkANlthVsK2ERMGN2qzVFr+dv7XcSEw5qvssu5Naxq+H4E\n/VhsbWM0ZX6JH2xOB2XbCO9B2YkvpLsZWDHhh+fm9K7kr500bopBR/lNUGQH\n4ZWrqXCkGf9HDr8EltHDWy7oi4SBMsWICYtQBxOMBOrMRbykEdfT8TlFXzns\nxzDn1WIhGCBxcAp2x26+2AeNiWdCs6GhQser1LzvFoPqWiU30RxvzNYynhFY\n5L2MUeKoqHjtOMLuJY+zvC2lknoosw5KhwbMmYsL74XKVndXGGbO3VCVlto+\nnUUp6nVovuRTtnUv+xnfR2mWbuj4v6PZOBJzpYK66LMUf5cJ1DTn26S8CQ0A\nLyxujM9MlAQaUKCKzYMNjqnH0PSGj0z/FModgsBgsLVG78K8xoYPA4x/VGLG\nMg0fgMoGkvEPEtcqMZxEPwoBaGdQZBcgyCAnTa5Cpf3cLn/PiATS3jPQNYI5\nkIPBxrWBSbXBQsEbdhHLJ2u9zUVo8XEQ0d8MfDdf56Bi+EnxtiCaNK+5OjBD\n8qC6\r\n=rY3t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBT7sDHx9pLt097ijeiLIpqYr+hXWvCJGt/yGfNI8eS2AiBmOSnXefKIO+tM8T7LcOXMOBYo8qTyHi3TEGCrcDxuOQ=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-alpha.17_1591259037355_0.8048436018588208"},"_hasShrinkwrap":false},"5.0.0-beta.2":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-beta.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"c4796b2efaf618d53d3aea0a873e8fa0fdde5369","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                          | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                 | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                 | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                      | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                    | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`              | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true  }` | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`              | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                   | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-beta.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-LcJivpK2sT0djmvIeK1J5HOLVbTaIVpILADzfE0BQVqBFq41h5iOd2dKdYI7boqZvvYXx8FjtUByyixte6f1BQ==","shasum":"2a3c54b6206685dc24d4386456ad9c9815e606be","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-beta.2.tgz","fileCount":218,"unpackedSize":228718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2fkfCRA9TVsSAnZWagAApEIQAJs2tq5W1kAwB7sOHfMg\nj0usJ1cIikrK0Sbga9EXaIxYa1wCyKecjVeEPaJh4i8oLAMO9Um7RkM6NUJN\nl9mAE/vnTfZuul+JpknlZoXkwEOqaJkBH0Mg55veBOOWTdAp+phqcJVerN5T\neISCo0i/Lh/L2D9aYq3p9cXjEZ8x+imlSMOCu2Zp9LV8dYQWx4b1AQimEJ0c\nL6DSQda0z5iCpnxBFQWgJFzjn9gy88BgDonwiaWIFR+dEJDvqLnuhGCJTQnx\nnWaquzWS+xLfmL+2jrplxgkGZXNSzYYk+N0yn1DbLh00eX97d1ZaxuX/ssCI\nqhwJL4ehTVVE4FGAAvOamuZc49OvzX6hQwjPU7rqf9nwidEdQwCmjp2FY/Vo\nzEkHSLElm240x7GA8Xr6NDp1nYQYh+xQ/P6i454i+69B7Z4E2lZSjX+zYKK3\nMY9uvBEuDsHjOgvMjiXnl340jlrRttKMKqSbYVobn7iGpfvwGfCO7H5ruRxi\nvYwnfzamiDXa4KRom+/au/TBnhcQv+EUX2JSBnYTVZi0DAmmI9I60FriQc4j\nvdGOw/1zCg1HVg92xjd8rYd0KlplwHJePafz29mdOZd2tOh4/RW2b8DX9t5e\n1iJ5Y0XeYqtRvAHrZTho6O5Wf+wa/VIHWmRkdXOmuWpkFPdW3hzGGX5uRj+n\njmFQ\r\n=7DBE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDr85P6kD0GMI4KG2l6mq5bfrRvnhTIsNKPKEtBnCUO2wIgMd2BwmjhsnwYK9gkxM9W2RAyQr4weNKk6/zjkH87ndQ="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-beta.2_1591343391090_0.9031445718224813"},"_hasShrinkwrap":false},"5.0.0-beta.3":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-beta.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"2b72fd002d1529c723d8b0acf9691bd50e10c54c","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                          | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                 | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                 | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                      | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                    | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`              | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `compilerOptions`    | `object`  | `{ skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true  }` | These options will overwrite compiler options from the `tsconfig.json` file. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`              | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                   | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-beta.3","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-/WH95K0kDh9tZD5oavY2Y0kj85Gxy5rCDWwPocszE/96JdJ44TIsf3FpVvwqtYPHNOEAsYVkji1lPLyjWs9SQQ==","shasum":"5049093dd4c1ff306db0a21664a851bace774415","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-beta.3.tgz","fileCount":218,"unpackedSize":228718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2pMbCRA9TVsSAnZWagAAHe4P/jUwKNtglrBehd8zaJ2h\nuu7OmoCdAwzxlqnr0yJoq4oddq9oMeN0xtCDCgjm44EfgJFKAXoTD+/qvtX8\nSDhkRqV8pJlmUYg/vMEpWReDcuI5KGAT1Q4jEb30B2THh1M7Vs81G1QlxZgJ\nF1VZxlfd69gNpWZf0CvEJhTWV5Po+b/wGvlchuDV9eGrQFZ6cXWP20g6P86f\nNLCzreYAatUCWAh0TLQBXRrWJZjIZ/Sk0zbbQz2cJRA4bE+zR2SyuxA2gyFI\n2m14zT7nn7+Wsq5pvykFnYBFEi6mMNp5XrhOVXL+7J7pIMZkdoMpp4THP2OH\nKpvY8ZQMe/qflShMmfOo4wOtcZpgdmGCNNfr6Qitza3yLIk0e3zmyFYXuu5j\n3wfEHhK6N45qwLijTEdTUahQ6dXCz+oS4pOnai5dTVKkGnWEEC5aA5zgkJeF\norQqBC0s7TUBYz8+7EgGcS0uDckGUlaOQmLKdeZxUJlMOiqNFp3e0oBjr0Zh\nhWWIPkfy6UcdQEYC/9+Tzsq4fDQNy/iN0A0FJsNyWYcRwmZZW6OkVb8jsNl+\nqdFIBXiGPcefe/8TwXpPAxX7MLamE+R5uBrRIyMbuXnL8cb4ulzFMHHkxpiA\n1ldNjdpjDRGBLeNZt2+alwGwryq5uPaCOvjg9tsRBfJdkHKsM2ZgGbjFe7JK\nnZGy\r\n=zW+L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaQIGq7tap+GjQik54yX/l/H2n0bmpKW+Wa452hyUyAgIhAO5WFjfNfUXpn3oXGxgSS1IRevlYb5ue0IelmSCXnlpF"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-beta.3_1591382810577_0.049263479245243325"},"_hasShrinkwrap":false},"5.0.0-beta.4":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-beta.4","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"e812f18af3fb63bf30f1614792bd5fb4825d2bb2","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                              | Description |\n| -------------------- | --------- | ---------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                     | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                     | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                          | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                        | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                    | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                  | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                  | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                       | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                    | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-beta.4","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-5fmpwrjAZ8MrgnpPDM+QQsMfUbuI9N/qduURo6prMVaWdNYPE+zhlv1A6H4uHJ8vc/1b8r8z/xQltWSFzaS0Cw==","shasum":"70dc77d899a4d16c8e37da93e04c034545183e0d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-beta.4.tgz","fileCount":220,"unpackedSize":229894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe26ncCRA9TVsSAnZWagAANKQP+wWxYTjQ1q1inH+BCDNz\nuvbhnqgUDj+orj49FQbR+cu/9dUvYPIgIAPgJHtBnxQ8nSZkCDAaS2/jreIy\nQALAl3EAmtZKLemgte7jxdRuWV0W83z0AuDaCRFAiLPQrnrFmJEpnibNDVwm\neGYPpAFNAbJEaf+SsDYiPGZ+zuCIOwgyvKiZOFLtsXja38+/GeNr0FmSnkXr\nh0zhbGEirw+KJmKQe2OOkvcO6lEdy9fLn4VRhkM1xaGITkvLSfuwMlSyXWVI\nvyKQiRXyvzBhA1p+VnQ8TQdbWZRwJ6BVR3rjnm/4ycodY6J/oxjUgyRZh2tn\ng0IwlERwqfegpchC7M2vL7nsQE8c05tyC47ef3pjWHH1pfWrRjepakJR7l2J\noEe+PnbgsExCfLXH2Yxj44W6CCRMdSXpMLFgaHnRcoXrl3pnwtWaaXdlWnXf\nrysP+PQa5baNO/Fbz2HZVaD9BGl8CaJ3ZH7KW61yz19ja+AtcrpTtn0Sq35g\nohob7qOI2ZCC+FabaoL8jq86z7d4zOWIV//58+K8TFzeM/x4GqfrNiSP6QNm\n7hMI97hAv+sy3Rxc9lVJdyBdw28dnX+Jhlv47EIRGx+8T7LApZrza3cniPB1\ngimJ3du41JeEHjtAnanntn7ZJ1T7s7tVLk9vSGaIoTYuGzaV5C/SlLdL4fni\nyd/Q\r\n=IPLZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGBzxQamW1PmpBqOrxFvwblpRzSksWRwbXA0oax1G2q4AiEAx3S+WOKOFkmUypzXTzhc+Wx7fazCE3SredZqVAjxgpM="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-beta.4_1591454171456_0.5030301804463515"},"_hasShrinkwrap":false},"5.0.0-beta.5":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-beta.5","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"b865f1d0c228b7fcce3deee4b083546e659070d7","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                              | Description |\n| -------------------- | --------- | ---------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                     | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                     | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                          | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                        | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                    | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                  | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                  | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                       | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                    | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-beta.5","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-VRqKVUCbtsqks0grSY92nv2Y6m0/AK/MZzew+9O3OvdkssCBhm/iwr1myJqb1KOlfu2vWTBibmtCDfy4kk9MKg==","shasum":"4705e483116ab83ebc32a07e7aabef00fda43661","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-beta.5.tgz","fileCount":220,"unpackedSize":229913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4KMbCRA9TVsSAnZWagAA9UkQAKF+YeIYOYFApGLRZfEt\nMD/bOUDoNi9Vpzf5We8yVV+8jnI4E47D2yW7TjTy5jsTDv5KhZ4pY2W9hUSE\neDRTGWAtg+6A/39oi0Z/E3Wm2MFYwKUdJDuu9fkBu0RcTW1+ef8SXR5YQPIA\nh7VzrQC8Ro+NuLQaO4YyUTNEt9celxQDWoHKxtmIHssmWSKdCFA0SYSlRTZU\n0XXDSWmbpU23mebUjFoDk3rJpOV2kWI/5cYBj/uFJC2pAWkk8EToke07kqNs\n7X3Dl8ksAq0brveb5aPjLcKsuMpbG/R+yO9wvIVNhkzqyBsuUrXC/Rfa1tXM\nVRw30e2iXw1UmZNIBhfyuRvI1YpcIxejEe/d/hE7TfkxURAE8p21b/xKKxSk\n5Al9ErxwASO62GaJ4ldvZx5eJKAHHZrIvDGhURgWL/L4g/Ehdhi7Yi7DqT5n\nUWp1YxueJICwppSPlVfBnlVTYPwA/e1GAi9mGgFCaVF0xwauixHyRL5bij43\nBEQa6ROmtUvSAFzqcCAb5h0u3eE5aif46CmpBsWXy2NztEAcD5SFPHv8Hgy7\nbl2C+BpDq7QamgmfSgHfL9aMxfmhna6Zt3s+GKvbNKrUi0nSrVHdJKFEcy9L\nmZFJ8Va0YcW7PODnVmg4l6RvpPAihSIiLUV1rPfo4FjpkBWwiYkYIVCozM5N\n6Ggv\r\n=5Xu0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMS/2RmSRdJnCBSO6ga3Jnicy1bT6y2TPDKrvTt/NlHwIgSU8wtTaklc+1ILPaboZE2W/W3LZkzNF36WL/kb2nwmQ="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-beta.5_1591780122744_0.6559894135718802"},"_hasShrinkwrap":false},"5.0.0-beta.6":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-beta.6","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"188d44d5549c20ece70f0d2a50ab927b16a42157","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                              | Description |\n| -------------------- | --------- | ---------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                     | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                     | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                          | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, incremental: true } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                        | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                    | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                  | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                  | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                       | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                    | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n| `scope`   | `'all'` or `'webpack'`            | `'webpack'`   | Defines issues scope to be reported. If `'webpack'`, reports errors only related to the webpack compilation. Reports all errors otherwise (like `tsc` and `eslint` command). |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-beta.6","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-PAL2pT26KoEQp3DwVi/V2XeIDZKLdk5+hI0SOX5YWYNak5SOU5erCaiRFXmciQgaWLa2vSJGVn1xHrtj3Id6UQ==","shasum":"e8534a3b6fbf1f2e831d988b526802141b4d8bc4","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-beta.6.tgz","fileCount":220,"unpackedSize":231387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe40mECRA9TVsSAnZWagAADhMP/17cSDr87oPDy5aFul2x\npwUMb8mREVOTABsA5h/asZ9COJ/Yuf/ANx8IUBXBKoM5pGZLBaET/WknXdOM\nkNOHSXNMeEPbgkgWmDH3YUWOMGyVuDuCjHbQ8JFo7TtYIJSl4RffLG/vSLN+\nCsXGJgHy1JxAMmlGKFxWMHwjfzxM1yJyRe0N+QvzevH/VbD/h3UFqc4nG1b/\novQWjYdxhj506si7Bw/f1e9I1XM0DKNV2BpSws20fLwsPaOQmym48p59R465\n1Ox2aS9POJdJ/fmQsxNDE/LyVcxf/EGVTBvWpEhXDJFfGIYEn69DNUZ8JxyG\ngsmpRtKw9nYVVP0fQFsXZYEb+mbpce6Tc3v13TmVOcudSKhPDD9mTN2dZtRR\nGuKXC1CxGzCI5YmcqOB+B+Vk7dqVtD9JcW9lOIahVLKK4E6HbBJzq8p3m04E\nsFh9RfBby55j1gO2bVR33W5lZ4rLxSLKiOKlLaDym+hu2VVNjN275A4V+EP6\nxG3dOBFuRdXtN37sUirDVY1O3D99N9It3U0xVKt4dRX5S7I/Y/lGa/WluTrr\nJGZtQhQkro4T0bh3U+mtyFcNHZvA/mGfx4mxiyPdGXiTSKHqVkjiiVTETBSY\nh7NxVtAloF3lpNzXzgQCq4dEkxqLivzcqZSotvVyRAlQtp+8j1HG/scp79TX\nILM/\r\n=TPPN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfhT+2Ccszg8Gh7rqM3xW11Fmp5hRvhquQeGfY0AXUbAIhAPpe9h+2NRNdmosqU5bd/d8xCoRt3rmQ+5rVPIutduJB"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-beta.6_1591953795944_0.5062927867594336"},"_hasShrinkwrap":false},"5.0.0-beta.7":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0-beta.7","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"d056616890fd8fd685518f269e8af945b38840c9","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\nIf you are using **TypeScript >= 2.8.0**, it's recommended to set `\"importsNotUsedAsValues\": \"preserve\"` [compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) \nin the `tsconfig.json`. [Here is an explanation.](#type-only-modules-watching)\n\n> You can find examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*' // required - same as command `eslint ./src/**/* --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                    | Description |\n| ----------------- | --------------------- | ------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`        | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                           | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                      | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                             | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                      | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infastructure: 'silent', issues: 'console' }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite filed emitted by the `ts-loader`. |\n| `diagnosticsOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n| `scope`   | `'all'` or `'webpack'`            | `'webpack'`   | Defines issues scope to be reported. If `'webpack'`, reports errors only related to the webpack compilation. Reports all errors otherwise (like `tsc` and `eslint` command). |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** and `\"importsNotUsedAsValues\": \"preserve\"` option in the `tsconfig.json` (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Type-Only modules watching\n\nAt present there is an issue with the `transpileOnly` mode regarding the triggering of type-checking when a change is made in a source file that will not emit js.\nIf you have a file that contains only `interface`s and/or `type`s then, by default, changes to it will **not** trigger the type checker whilst in watch mode. \n\nIf you use **TypeScript >=3.8.0**, you can fix it by passing `\"importsNotUsedAsValues\": \"preserve\"` option to the compiler options in the `tsconfig.json`.\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0-beta.7","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-KkaYWFcSfegCOQ7EL7yySTMawmtQw+nA0y6QfhjcacOEPAWAOpc54MPp3yhddAFQMAYA5bjiS4JBpyOrXa9tdQ==","shasum":"6f2e2dda4ee0372ba7f7da2a2455c0ed915759c9","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0-beta.7.tgz","fileCount":220,"unpackedSize":231325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe43+7CRA9TVsSAnZWagAAtSgP+weFvpNiuT3/izeuVHo7\nEifj02SDs8ER11/5dXZ6DGI7Ibp7Rk497qtxM77oaP35+mkL/y7veImuIbzt\nG3jKcI1AISHlsl0bJh1Su5h5eFnPT6yvlpKVBbgJlI8K6hsc2Vv1fHz0uvrJ\nXCeJNgF1pnbSH9g2g3a2X9W7AW2isJlsu1zLWsv3qhUN0I8nG+b0UyRJqQgo\n9xXSMnXzMelIX5JOPBQxwc5abodXkjBnIYCMesSSKtELVbFQ0H54Xlog/Vow\n0961kuMIcPC3rFejuh4IJjN001pJybtdndRzLguEpb544q/9QI5Awrz9wjjI\nymK+q/eyYxjHGcrEkBee84NVElB2g+BCWX3Dls68QfgqZQkE/9MmY7Ytqkt/\nclR4HI9Va0PIm71lQXd44mRtRbpb9Uys0noi7KvEcohcokcM2g7hJaLhGTwh\nNhm8KfdnP3ce6D5geN1P0VnaD74EsT4dTlU8yzL3MYZkCVrgw5FTALdBHTg4\nLpkGCz58AmmpgCi5CvEbt8zZjXoAOTTeDukmeede7TGe7vWf49suDlX3aHoC\nN1CXAHKBmRyVhdzoY8dPjWIO1EeIafiL3Omym/Cq3ksFnw6F84PmTIL44IBg\nWAJHqZZ8f8HyL3VjDN07LZeNfk47iG7nZz2GlB4hfR6xGI5tefrAL691Kp0U\n0K+d\r\n=gDl0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICG8exUI5IMgXhVPesWfJGTI5Uxm9j0qYJWtza1dnM7vAiARnpPLIp6gh0sxpKoX3Rz03eh9bF84OfCn+w3L0F7uew=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0-beta.7_1591967675399_0.9439931801219192"},"_hasShrinkwrap":false},"5.0.0":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"5ba683960e871d387685379d5a78943e4a5dc679","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.0","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-XdMGiyz12rl8HFEj1D9NsC0yxevLZqWncMbuhelV1a1h7ciX7ftauTHIBzO0gKGjqoqZG0NqnrnN7xavIHvzDQ==","shasum":"43a8efda935aba382ca88ae169ab11b70041c06a","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.0.tgz","fileCount":220,"unpackedSize":231311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5IdmCRA9TVsSAnZWagAAMdUP/06Kf3bamF1oHAQpvvL5\n2I0HtKMmzn3KHFzLUgS5bEWjgTXnOV10dnQQcgRLobI8+7bSVkGn/1MrZLQX\ngwk7oaUJ+J+o6r82IQOmoNpsCOocPIy9kbCkm3iRAO7bb6m5XaVaEnkEmNDF\nst1boPLxkwgA36Wql/lRn+BBuUyHvmJwaUYAhbi9Fn1JCePI50PXd70QEx6W\nprHmYBJRbNYUOiBlmN9o0lKVP9PSj0pUx4qlIhH5bzKEnX8ELs06ugudv47F\nAnEis1j10ovHSa/pkVqFhQIirT0qZr9QoJiwoH+X2Mlgvy2Arp9rnKn+iNA0\nIHbmA1erP45+ZWKOZnMvgXyJ2SgMNT7xOBzdi1YDWuoUY9pCqt1hrdutTUKO\nkCatFI1ij4/IR4hCzBKM0t0W/ILB6OAsbPGT9ZOJH0W7gDb9P/vrGC2AEzpF\npIpMObLFrFvqjKERity04a/aon9DnlBSyjoopyG3V4kkWzL4QtsJHhkF81uo\nQ5v73M6mjyE0MSlxOSo6ugk7Sm6qDsPxku/H5fTRQKkhu+ORuFY9SrOJ9QSs\nThPNdpqcllguAvVBZ7DLR4WyAUMeP588HqyRzsFx+V+MnwjG/gQiUXhxiQFV\n9GqHsDEU0npk1q6Xn1ja6ZLGbyD76mfC8hgRDb5VOsIdbBlctD1650rLMNN9\nV3Tx\r\n=VOK5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA+iyuQjdpbOC19DnubmwqY3j+cJnZBOEIA+2CVOr0PUAiEA0AZspRN84HYVfFOp0RSRiz3eXuwrInHIneY8TBm2Zjw="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.0_1592035173601_0.3464538124139991"},"_hasShrinkwrap":false},"5.0.1":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"1f3d82fe9364e0f8e9e7cc9b3c98870de4be854c","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.1","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-bys+hPwlPckrSCzNkg0BSUTsCRZWS6qIRiwk+8AjKitLWTqokda0QVImCx/Vm9cL/OGZZUnrFXazsVc99nijKQ==","shasum":"21adab94c30340c50dc5a3d36c25d180a8bb29e5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.1.tgz","fileCount":220,"unpackedSize":231311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6G/ECRA9TVsSAnZWagAA7U0P+QGP7i+H9AI+WNJB0VAi\n0nT45uyUWMUDh5x80TCoOVmn4nRg6/cwPjilvHxsGH2rD3iebqexKQiDTpAb\nMEKiJCsPXckP0uoUQnYUZ2cNPcsalA1istIqo0gKXqjtsskWqJ/eUSEHc6Aq\nlA6F2AiJIdJRTObDWacObuy8PYPn9UgA3bLD8EgfihHk77fK+x+dBeZ5eDSk\n2hmlBQt8UcRHsyZIOyiksGKPub6auN2laLa71UmqN+6XqcDI9ujHht7szI+0\nSV0YqDZ0xRsp6sYW7ouTfRfO9QVWzR8wBcgKcRmIcENG0HBU6Vdc28Ycs2WA\nD9eX/UU2iWDUiguxzcRb/oIY4sIXfg42qXtjhYjtmqR1aiVP9eM4fVTISEXu\n2FtIEzd5UHCaX/eA4aXicEy/zmF5G7g6+45F/EFvB4gqNFX0H+IaNLfzMB74\neVoA4ICpvPIFqydq095l4E2Tc5aOr/nFu4oBS7yT7HZUDbWWi/YLADu/kdWU\nQCf0jPndUlYoNfqsVcOwuswfx+ufbDCLDDn09H/lUr8gUHW6Xt6OsAEvxA2o\nwx/W01Lhzm2tKp9drD/SPDOoTgSXfwjd5MoZoQbdisHYFl0KTy0utO5PyjFQ\nQga8zLlqMCUGF+2C3DIX/9EmsfJlY8ZUzZVEB/8P+RN1sp6QkjbqAoY6NcWN\nDO94\r\n=J5AW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgdaejQVznUWwwuEsp/D8QkWA9uuYEkPYjQYnoJa0AwAiEA6zPp1VLKGyOE/IWDh054+CR17UADSdBw+dc9XDxIwo4="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.1_1592291267863_0.28992548415335406"},"_hasShrinkwrap":false},"5.0.2":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"a3f09bc18bd9657aa28175d82da12651e5feac19","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.2","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-RE28CyE8wMhVwDDKjjRZFsR7W+TiZGlSeHchXcR8fervOeCWb3xK2csh9NLSblch1zDWVUaWE4+g/zcxufKk1A==","shasum":"9eaacafd5bc52ad670e0887f61e6473e7dd7815b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.2.tgz","fileCount":220,"unpackedSize":231311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe68A/CRA9TVsSAnZWagAAgZUP/ieZhvTTg+/wtSw44mHW\nKwidMxqAdhtDiUKt2ir1mzOjhS9Sb+2TdVT7kuL45IMJRZRBqglE3anPFl7e\niKN2jbL2yUJTWbxlAG0+3JBUDakT46MFGc9yBYJ0vn7WdANaznJA9EktG7fK\n+KldG5c6wTbBdKq2ytcNgJQtIux/0oFqAXXMXvUdqw4rENrnkOxQNh7bfSa1\noShE1qHIY18o+1lR8L1zCBn3bM1oUmYEjmVPuSy/k7CrutZOS5UDn+Egd/ij\nMkvUdrVuOIwOoawYih/AFOCrlIWAgVgxaRIioj8NoqVw/7jQZ2y28LDQI77c\nXruF7MZeQ+BWHpOQ3G0Qb7lU+e7tRT9Bh1ijziq1wj7iF5/xVBbKJwl9gwDq\nFeEe4qaf/QjX2gmtAclCkWu3tXapibAdNDM+XjDrdA9RNh6S+goUR6p4j3y8\nv32Wu96C3W4lvuXVJCiNWF5jlnnhenD9JPc/uP4RH0I1isukZ4DFBR6PwaHa\nFI4DfuYkYI486YQ9QjCCbEf4LoHxOrliFj359yyxlpkON+iu2TEHj93GlHZD\n8v+6IUiag/yu+9EQAOJx82vDiG0435rddUVTzmRDrXd4N8EmX1FeqhdHo6rB\nW8N3X85ToZ0WiUCYTfTkAlO07BoxbamIkrHbey1D2LtfETcgzQh8zJ9ftUM1\n5a9q\r\n=wHhx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAXucmxVWHOIzqW20ERf98MjUIrGbNcLRhO94cG+MiRPAiAuXI0UpUO4DD4ytPryD/MpWsb6SULAr2jt/WYdsj+Cuw=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.2_1592508478946_0.3299163195516821"},"_hasShrinkwrap":false},"5.0.3":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"1c2ab8c631776b0ca7a968852e63f588a305640e","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.3","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Kp8Xa38sRfr7i8pQnGOweHzdOJRPdCIJZAkcf4T4GxzZsTMbCX4A/R+bNPdiiyYEEvIOHBALDVOeqt8CkVl+8Q==","shasum":"8d3eba5ff022bbb0ebe895462547793c25d7fbae","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.3.tgz","fileCount":220,"unpackedSize":234403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7MCACRA9TVsSAnZWagAAAp0P/336+MiI0mvwehai8ZdP\nu/PEmKqEMneI8J+zG2WJxRVmJVBCE5pRkdO8wZ3I+fZM5Ao1VSDgmsmU4DYp\nRKMHHfbA55BxqTOUY1Uz9a9ir0narQZTAU2qUHvE3h+kfio+Byn80mGyjrBJ\nCKjnimmWd1ABlOYQXzYghVU8gBDHpKYCe50dzva3GIZRtdPRbJ1imXoQmtdc\nCrTBYg1j4pj+24PjIUpKg9xEBC7yqRxn5GjMuTujn+kYaZuk7ZWSMy9IuabC\nAfW2UfzC2nBy7UM8M9g2fGhyLs37z27eQzuf3FyT5+6BNFFNA7bHmB0nKcnO\nP83QSYjY3s1OyeFBDOt9EM10oE6k8fGiMffTJ6CVZ10agsSD5A0JrFpMe23z\njH0zNKBhXuuaU2P5soGXTK6maCq3pi9uVrxPKee0LU/M5w2pfttgOz2mu8Aa\nylWrPwb5ERjRU9jcqLHHTcBMS7znPZokDsGI8YjTFZbY/fjdsDEh3DUDS5L7\nqp1ofqA1iwD5EGSJ8qb0li4E5K/5Mtf3U/VynKF9oYn6bqkaJWAPVbh5R/xN\nOvyzHkFSu3KsIduYkf/tNlm7SAMb/fay7YQj/Zhr5WZhf0UQV9nfnYN75uQl\nwjtbmxk0XFKE1+CD/jZwgypwuv9ZEVI/OOGRIB/lCihJ3R9OSSlNj0KA+u/O\n1Ego\r\n=By5D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAwXy+tYyOLGYK9jMEDSPSGGcHRRCdlvTrjj39C8YttJAiAC7+Gx/rAxCEYVkZa2JL2pPfpg/zYBAhytGPgsf5sCnQ=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.3_1592574079652_0.6014777366428454"},"_hasShrinkwrap":false},"5.0.4":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.4","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"5b596912ed1d93cce8c7ae2a43504f79aa7471aa","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.4","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-nSEqM3KhAjTf8VmuZym2k6WadIasvXybJExFegqMJDkTrOBOY8yGjsXG2FGFJls3DOHtXKzrr3Bv0ZD1LaM7cA==","shasum":"92ae758e581239e1e37ddd5a6c9cb955764ef470","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.4.tgz","fileCount":220,"unpackedSize":234659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7cVWCRA9TVsSAnZWagAAA6MP/0KSizSEafhSAWTUhAAs\niuUR+RBMwW8D691z3PmLb30P2wYoPyjrXjR2Xh7RUUD27L/KSlvg6zcUX9lf\nZ28RmCnYF1SuBaIIkxSgohqHyK7ACsbBSjbPZZJBVEuE1epj65HclGQHHNPo\n927N9CZj4VfcHwmw7utI5z/eynmIy9ZF74vBKM5R/GncASK+0dxMOpDiUL9M\njKuG39b+aiEN0P2num5y38A/Vn0GSJWZ+n+62TJtn3qTKKwPTSJzQcUT1P/q\nmMnRE2883SMqDch3mpcvHaqcPSxIB+xGW2qATziMOvIM3wSWXnDh+aNXhMA0\nhoEkbaS/GSoovjujB0uVv3/bqaRJSKG3G/tYHTtvJHv/7UeTxjUR4jR6F2CR\nTjQbNazFzx4ThpOdB8VKLQE9AaqOUmN/9E7peXr9Y51cQsBL8X/l+AL2JzeF\nNlwcadAN62Y5cQkoRTtcUg8WJf7uiT48Xxhf6ZglD8DdiENq2xYZxkluC2Jz\ntCSWB5RSiGF21ERFs1NcvzUL0FAE4MsPk5zh+9++dP6CWctyLaCXEiGxZYTM\nJEuwRisu9YaGNlrkTwuHYhjt3tUnRHYBJAMeRUkPoPgfJwn7VAPvS/gUaROU\npzoqjAB+LE04H8Tt4cZNIg+jPlWaMf85Vfg4/9Ln97/PJzwkXdgSF/Y3Frb5\n8neD\r\n=tOgI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWYzWAgl6k5fKApm9p+o0DLkLu+bC/WfC+/Y4AzhN+4AiEA343vMu+KCFcTC6HHlPEQfSddu9Ib851yE7ZkUMxdW4M="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.4_1592640854081_0.34513596186676865"},"_hasShrinkwrap":false},"5.0.5":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.5","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"ad0eac9ed09701cd0369f7ccc3579742c22be63f","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.5","_nodeVersion":"12.18.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-2vpP+irspLOpZ1pcH3K3yR76MWXVSOYKTGwhwFQGnWjOs5MxzPN+dyDh1tNoaD5DUFP5kr4lGQURE9Qk+DpiUQ==","shasum":"4cf77f925008464db4670750a6e9266a4d25a988","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.5.tgz","fileCount":220,"unpackedSize":234877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8xsrCRA9TVsSAnZWagAA1DgP/1eCX2x9ugdTpR1KvO87\nVUtvhS1smOgBNngxhdXYKnb32INvjCxc/uRpFBgfpyfV7eC/YhnPKv/SchYN\ntHNMlfzE7CxkB6t09wK6VcmUBL+B5xCtIXlW7hyEz1yZqst3iuUQgXwnqR9y\n/7uys9kFkFOFzbLZzO9B9fM90JVQ/NPX45A8i8OAnbkMY2yNmMBjdnk7MCzI\noO3ntMY9vM0bBfIqeRbpFBP088ag4HavG3lRZDzxrLJoe0nH9mUG14zf6UJm\nhBIOaxJGPr+Dq3ZvXnfjMH3JO54XawqqMuy2vH7/+1f/YocS1D9BqRs+kOCV\nNPpR9FKClB9L4Z+9i/7yniGjpEF3gs3/j5ybUl3K3SvZcj1LFcmf57pPKgay\n+q32/8xujLyljQ+q/9e77q8LWFhvZ0RIYTe6o0yp7mja7lb+dsfvRcvEcisg\nHEnqj3HkoAWxkcp5M+55KdsXvXTES+Ap4rhOPOCOikSf5j9lcNWLl34trpT7\n3eY0/o97trNC0hy9qjm33iuIlh483AvOI487PQN1zpOFDJwF3oVNBaMdPHJP\nXpzFjFTVD8cJujn3M8XftWJjGs9N9PGIfCnviF6bTpmQv1+HAwbiNP8YWB03\nD5/Fl/goQFkkYR65AK0uAqtQFV6dWwltgbSx4JY9YqYL0tloUkHpDHezkxK2\nEmB/\r\n=aVBC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGVHt2UyPdvs98Sr2VS0XjzF+47Tm6WF3PMYUpkg3Ey7AiAqy0+2PXq1NLiNvKk8IPpr5gjLgqDpGYHs3Rwox0MScg=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.5_1592990507119_0.5413249562900422"},"_hasShrinkwrap":false},"5.0.6":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.6","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"65ab0cc994b627648fb872a8ced33de33808efc3","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.6","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-8h4S7WANr69Resw+tMd5U23xdbVPsT+VOeMKQhUaKhkGeMm0fNf7ObJPP81WG+tsmy4LK4ayIf0JXBY+hy6vMw==","shasum":"02af713af02e47b338a3992279209bc65d34c773","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.6.tgz","fileCount":220,"unpackedSize":236204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/ZT6CRA9TVsSAnZWagAAbyIQAINIeVNuQ7OmMspxM+aH\ndOZftTHpLgxi20nn/801h2VFeZk8deq6u2wIkDLLbFxZuo+8DbL1kgtih4C3\nWvC8Mg45+Ja4K9pY4qYcJZxf8GfF9VNM1rXVpekhNAxRo8AyiXTgEOwEZF2i\nys+6h4G2CQvrwhNel1H3zZKhD5PjSpc7yz0N49P5S9i9PYWjbzt1MKprLKAB\nXQDC5qUAAbm10hca4Tmq+laxxIiDMvvPZa65get9DazPd3sYz79R0Adf0BSM\nBJd7nxY03Ccai/vPYd2MIA3+o4x/sJndZ880bcsORcUvuBgocpnRhBodgvr7\nxULPpe7GWLDZexxoNS6Xz0QjmIs5edb7IV2J2kCJLtdmQ3shWnPbQTUfiH8j\n0IDlHc30HXOJvF5DQLTHiAubdb9nDHZmy6bjpyx49BcHjLJJuMvKU1HHcIbV\nYw21Y+LJvke1U6I/L611lCOdtV+QmMVEWvDzmPQg1jLAO6wAT8oBTh6ab5DO\n/wxs4GeD12dakWa7OiJN9M5Hxde6/o2MF0/F+wbP/iDeEPYVD9f22gZCVp7t\nqF4SFzpwhEkVVlysFM2N1ZgOeSa7v0yxhmPOYWr384U5kx3qGQ6WofOm9z4+\nWrnKtMzcFxlxRWwv+wuyRINWoxBqvHFXuuQvd6WpvPaJNTJkfaUZsMSGoDbU\nuLbn\r\n=BSm7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwXt7s1xO6Z1jBOHzR44ouFMms+NsT8LhTg3kw7abGcAIgPThfa+YBIeQj7zrAROg6DV8HDjzyiC4bVQ0EfXnvH88="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.6_1593677050038_0.2558340529164289"},"_hasShrinkwrap":false},"5.0.7":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.7","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^2.4.1","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^5.6.0","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"355d1de797509f444c5347f40814c07664ac60f2","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.7","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-X7zHKTx4is5YSKa9bDiXGzv8v5K3bsUrZlZgr3F8DeCVsb3oik/+0Mo+K138Sdjh4mpzoHcuUgsrIgZeLIXovw==","shasum":"a462bd863bbd654bad14a25518006ab99b7b13a0","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.7.tgz","fileCount":220,"unpackedSize":236508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBC7ECRA9TVsSAnZWagAAe9kP/R7QqkY+qF+ctZaoaAhX\nz1otqweHjQuh8ztQK4O/A41oJBufhgx7RPYUEkxRzY3+p61pFpEijSFXEE0c\nhox/RA3YS8+xVNffkx1L51mDC0BBwU7Jm4+cpQm8s9F2V3z4Ky3QD/LugRi3\njyKa8LnqoluZpr23d17mKpQ6f8/GJQjcwahiiYRLP4OuSgbwzmtNqUrkHcWX\nvljbgKElZb/Gv1jfz9qvhKxLYa5rzn2ivjLYuoPU6NPAtV2uXUSMB90G7BU4\nobuYmLsJheJPJ0XugFecOnkXk5lcJlXFF6LhDM/6Y7Op43yFOb7In3k7yaFh\nHpn54BqUgkIYf429cEjmD6vpC8LiZRviPlz0MOpZpuwdgeZMw9zMyKPixp6l\nAF7jjy/96/sYZnvrQGDGYJqcjBJSayw+KRkcm/PZigEuf2eeEWJeejSazkC9\nSVcELrlNGZYCwx1myw9I0374RktD5R3kATh4f0gBGmIq9Ts0v/U4MueHW+TA\nmVT/2r0KbDNDqpnoYjZBmIYZhVkk+ZB34Wr0jQ4beAW4esHjzNeoz8BslEz4\nXzsw5D0TK4hVh1Pzjo/pCiLUsjvVDUNwbIf2Qxk36+M18bQdMf87pYWrxwsE\n3Zv6nylOlvzdpbZGUvvtkPoRW7++VcypcvN6KJd4CPJytotiFBjnpHD862HH\nYBCu\r\n=Cl7E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFuIQyGUKvoScDu4Z7EKrvoFXVNZTkIIJ31fwfZoJDxAiA6P2hUvZxZQ35gwINx73MWx77fd8VKTE5PnMlMdKE/+w=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.7_1594109636106_0.33977072868727665"},"_hasShrinkwrap":false},"5.0.8":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.8","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"1.0.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/schema-utils":"1.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"714dc6e1f6de83897b06c23af21774674aa89e2d","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.8","_nodeVersion":"12.18.2","_npmVersion":"6.14.6","dist":{"integrity":"sha512-q2hsuRXbjs1StdrdtNnwBS3Kfqg8at3iKFckh5vZEGO36J1vAyrYhdLq12vkmEky++yqlA14I0rQhPr/Jz0J4g==","shasum":"16910b4d056c883b8ed2038796622c269820ec61","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.8.tgz","fileCount":220,"unpackedSize":236508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFq1wCRA9TVsSAnZWagAAZesP/2gr2hPiCljMy7uL2mI4\nVgrz1WuvQls9c0Lp+tP3vDQY6gYEigC/kaz0K3+ihtb3taww9qFtCdp7XRWT\nVr5qsBgSfAW9E1WfEaJ3F5OULzoYjrLx1q18X2kszK7tRiQin1LKM8DATeyP\nFu1MMpih+eYYrzAzy3spdFZcYv8OIRrjEuwYC/zxHrDtpz1MIowQ0PxJ3qRU\n36IjtIThgoUith1nSOcoUxXWOqI2el4pdQ5JMwXpGwNSDs6y0NyQVocPLXq7\nJm3bJbVUBE9sTfODbJA0RY3Oy95SQlTG3MUm4OYybTPaoS69w9Y2o357gkqW\nmBurVoAHiCS3vrqcDsBuqDpyzp9aiCkyS1hI1Q/AwI5T5ylzHEk+IA9beD/u\nbBpE1l0ijqPMawwtC1CaQR/3WBGME6kC+oh033PmTjNpd5glv9Cz2Er+z+CS\nGftEyigzLoktExMkdzmfDVJtQLLZObcDg509QUy+b5KyiI/IH62LaQZMWTU+\nBPEVUGEUpXFx9GCUF04oXYBQ/K9CWiTaz9LtNQmpwseehFgX2lXX8KcHDyF2\ngJpP+bW0nhMXPZmJibe6Fi8b235nsidV9XFxUawH4i37Ky6DdBNXntPS7wOT\nVg7RTuoNT500BAfu1dOhqte5gcajUofd1apLUfGsJrr2dqlhmi0kVX/0ddQg\njgwL\r\n=1mI3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3/VnxdbcajGlLLA8CmMbzt2tvlGY5tDhMQZ9tUcC8SgIhAJn9NXn2MSj+w000DryF4L6dafESs+wrVkCtrPB6F5BJ"}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.8_1595321711435_0.8051091308694285"},"_hasShrinkwrap":false},"5.0.9":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.9","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"32f91cc1baa0e736f01144e71af14d36f839099a","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.9","_nodeVersion":"12.18.2","_npmVersion":"6.14.6","dist":{"integrity":"sha512-fk6K9k0OlniAU+RsNR2NhzYhdUAKWoNtIaUd/DfeVyPT11d8jg46U2M1EJHulG+qZSoOPXJutgVfYusWigifCw==","shasum":"9f5c15933d943506e418aa75fc9d74dfb1978684","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.9.tgz","fileCount":220,"unpackedSize":236548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFzaECRA9TVsSAnZWagAAmakP/2Ix3OqvxpM66FRAWJTg\n+z0twJdMqUeVEknPoowUNvYmbXu0obv868Kd81g2QLHZBpoFl/MLFoK4U56h\n+5q7/3JtBBwqDESCtID8ZFKCuV+kZnI+Lmr7xrWMlVZUHu3YnLcbSmEIDEKk\nJpl43gjsJ0AaiLw2hdy/ZSNLfm/6HSo+pc1dcwXqSss+L9beQABHcUggrIn2\nrkWCNIvbi+hgJWjP+14avVwb0pC0KQ605Ek0b+8+DmcmhyeYN64VRZT47Zt2\nLT/8E/oA2n8V1OCIPTEOzkri7KGNhnownuKLnAtDl9ItBccmgZf5+iZJC58I\n1xZanI9wgbK6mEz01c+Hxf8NAZrYXzxUnyThEbybI00CH2dEjlCRdJBKtWlC\n5f2ga2h/ODz3Qm9YJL/4XEVJektV65F8LnMe2gKtm8GfUpOLgdyTu/l6zJfp\n0tRPLNkCrkWh6h0MWfjcEUUNZmrHEYSBMBJhDi0WmhETUhRlFm+xIDsTSnJs\n6t0ru6uotOI3eQljCbcMGiu5u9T9w8bpqepDe6Z5LsW8xxnsRr0feG4wB95i\nZPsVrLzZQxat5ecEEU5HSCjv4ZAgqG74+AN3pGnQ7CkY+vqbvf51ZVMjWsTI\nmvUQcQNPcqCMsUXA1bA7bwAVCAmubsPDU7VYlqRYVR3KbOD6rkNe/PyuDBy3\nQ2CN\r\n=M4hZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHgdgKO2RbfCZ3nKq/3n5GUR1WX7e69PjtA65slRAg4QIgalTAOwCWS//MwBJcfNc9zp8ieDSx81e7Rd7p0DJBhFo="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.9_1595356803926_0.784270865107138"},"_hasShrinkwrap":false},"5.0.10":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.10","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"756d2146c0d36f71f1484c9a2445c4a1c20ad2ca","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.10","_nodeVersion":"12.18.2","_npmVersion":"6.14.6","dist":{"integrity":"sha512-HNr16nS7iCs/1goxWmV8/ObsY6Z/mIJxiUokLEmdCg8m5oRRSFFh3Q1oGyqcanmdoD0I1xXzGLJO6LvqZmOBeQ==","shasum":"7a5cc7f85a010f0311a2ba33bbdf3c9ebe3246fb","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.10.tgz","fileCount":220,"unpackedSize":236699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfG/aCCRA9TVsSAnZWagAAKH0P/2wfMLbnYSouktTnHl3l\nhQBxFBoRgCAEaUUc865QVmHFx9DO3pY76C3dpUt9OqCv6XsQbCIP8K9ebHNt\nr4bkBD7sXm9fWToV+D5HDsjXZLF7QnbLeC4vYtvJP2rqwdXj8qzfHd0N5GiX\nSPA7383BOOmT2qXhOB1sLssSNdM28KFVhTMgCxW8+ozz2QAgJDL3iV0MRQ3S\n7iIHgh11vPfPtt0Lb1GOFCFzKzu7VReI984Svg0w/Y+KF4tcrxgh9OQgg0Ya\n9GPOqlE9C5OtZroDzAkwHqBlZl/JyFVpAAAdHT9Kywm7Kork6gknEC5B2JJH\nNy1qdiS8xPvE0EKz7Jd1xG81qzS2uE7HBYi8m2B3S2CJPkQhVWxcvOBJb/GK\nBOTZwoTWz8deTF9D33ZgZIEfkkXc9ANrKtED1vXjPLOqLuQVEUskkerfYX5L\nPrw1yH21hC4+DFIeHsmgNmfRP93vKEtysHwdRAVvN4tI4JB8K+ZoTmnziQnv\nE19Zgs4EiaCgA8iiKeBwI8uCpez20E4z/wsIODLkKR1gKQJ5zJe5tdmUYmeY\nUXnIgMvASiCJUL7D+vw7pT4GY42jfCPMr46tSopwssXmQNMXbi3i8zAaQBoc\nV9PuWeChxYU+4z0dzyqSigwfv5yVFkjdD3ULR+CWzYraOK+4U4Y38VWTUehF\nIZ21\r\n=1klS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCopdHyIN0QAd2KUG22zR39m4kLVylaVxDfynmjgG6YnQIgA26vNPi5OAdVZ9Hd10yIkaCfC1Mt8AUp3ACQi660gZA="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.10_1595668097541_0.9911021325469913"},"_hasShrinkwrap":false},"5.0.11":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.11","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"cf52452b9d389b5521ac38d71427ff29899c8293","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.11","_nodeVersion":"12.18.2","_npmVersion":"6.14.6","dist":{"integrity":"sha512-7QFCTfjayFhoX7uxncnHHi3ICWwffUQMoYaHldElA6wYy/9aDTsRIi6QcS8MDAkZa7xdDyv0YKuqcGYjAzboyQ==","shasum":"40a49a45403910c118c6ae7f3415dbdb317e4574","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.11.tgz","fileCount":220,"unpackedSize":237345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHAVxCRA9TVsSAnZWagAAsDEP/2RXIyCLwCeZKoCqwmvb\neLD496sesBmFRucHLarSmqv7I2UDR/Wry+lZZXz7u+ePkHqcjWGznYXc7x6F\nkP5aR6K85W5LBIL4yqzNv1ilGNVmvKv6CnmCKwx2WHu+FRG76OMzVbJXg2sD\nmQbCiMhxspT3D5WOj9pyLii2jLbfVGchZd8cQccW1dgq3sGFOcdCRVedJHRH\nidhn+w1L5bg2rGqfmZk0rfO8gAjpsv1Ai6+N1OOKz2b+lITeMnYXt3pqDof6\n0uiPd91OFhurfQrTMfWDSltK+SMKo/OG9RCexBe/4YUZ8TmQQUAZyYz3b6Js\n0Qs2JPmWvf2ao325TDO+MnwgTg1+cxvaEWpQE/f0fS5KlC826iAVuAY7lifD\nktLWrx0PE0bjZoFs7E5TeBvXMqpqcgqmUbIYiDn7PgGsmy0TnUoAN9aQsvTj\n9155tPkZSYDyXsZL+0wSLhalMMVMG/M3jTr++0qlNPewxdVdgdCLRzGCU+w4\nc1FyxPZA2Pg++60H+E2kMxVxGr/ujOuUO1udnpyXizP6I6ehdwf1xjgJ9ADN\nvGOtxUQu5tUEAuppYQz4fLe6l0Y78ml7c/v/ghIBhgX1JZaU4vWSqCyaU4sb\nnqCTMVW8Q2NpeV92Estilf+Yk0fGEG/OCn+n8EGE9Bls5i+DgnP2auc2H99P\n/i9O\r\n=mDxx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAe1SZ5OaMBpSnfBQxuH0V+2LXcUzmIDF88PeFwz3ApiAiApW8Kp5CtZQg4NZ/ld7sSE39JlZlWqhMeRbeK2Q5maew=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.11_1595671920997_0.17226765082964635"},"_hasShrinkwrap":false},"5.0.12":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.12","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"f3a0c9822d75c8f6fac582c7fed7e14802bf3e56","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.12","_nodeVersion":"12.18.2","_npmVersion":"6.14.6","dist":{"integrity":"sha512-B/NZNlMq6nuPosU6M+QKxRqX9irG/8M2GVwV/4ufzM2R3cm7XQVcG4zLibJowE7e194Qw8/qppjiz+UBKzyZxw==","shasum":"6bd63e224c20a073c450ccde0daad0db365d4b8b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.12.tgz","fileCount":220,"unpackedSize":237168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfICFyCRA9TVsSAnZWagAA0DoP/R5yk3i2qSpflvParJAU\nmcEjZ8R5MhalGppI0wXtIEPPJweMAQVHe/NvkiHbJ278qmmNG6cLQOva/g8n\nJ7NIniCZZxHTJ5MZ+XUaKUF2RIvO75zpU1Y1kNnClmkMEMkCUNmGOunj8QY+\nJZUv0nmdmFgB/2gJbbr4cXI39osaFWMgFxtYKQLycl2hpNezFBSbI0o5O2WH\nrwSR1Y3gFwKks8sO/eemRKdc7yfYoBe2nX9TeXj6nFc4vRyVFaeL5d+NZl1B\ne337RxvxBg3l9L+h7zBSM8Mnyi5r05XHXCmTxq75GfBLLUEMwHAKNUn1ki1P\nhtOfJzNI6+NSpB9GvBuoGXuS3CUlA5b4KmvyW2YEkbP1tt159TQFZLA0k+wi\noaDkOsAglrm1YYv7O8GQ/zdlB1531F0HctEGnTO+T7u1qnkvvnyiy3BR7G4w\ns364w26tz4wX55JZo/95D8vaMGjSbE5GkMo0BSDNV7X+aoK63LPH/NRN2yNe\ncisuR5XdytxzOctQOMn4job15gHHwvD6jdO5trg579cMbMOoF0FGmssPUND/\nY5YOHdG4mmPGoouygpDZ9hcfXs1NkpadNLa/msQXyUd7r7UYIOCcyFTelNjT\nc6DR2wUTWugjQTbcqpgvHRwfskt2wIGT126SfIfteSYqx3HTxmvcp7jCYpXI\nK00U\r\n=IgCX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEClFXuzbamWt0VoQxWCO+OMrn38DtvcagwWWeqrHj+FAiEA7tFeLC9o6GyNB3nPgZyaFUvtBUm4cZRSZha3r+iYO8Q="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.12_1595941233721_0.2570241258761954"},"_hasShrinkwrap":false},"5.0.13":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.13","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"e288438c793141dd5a0364bf976ba37e370b46ea","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.13","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-87KZknpv0HcXSl1/Z48Wbplcp9x6Pu7ZroZMXK8z2LdfBmPyCbka7E6qy5ubgfzQqjIsWBXilFTTRxi2Z6238Q==","shasum":"916170e311d08f6dc0d85e1d8d4c8627941611d4","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.13.tgz","fileCount":220,"unpackedSize":237226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJB+8CRA9TVsSAnZWagAA1l8P/1RZFmmf2aGfCPqiJiqT\nITDwPEzdNZu1nf4F2gz1hK0ry/D9veLHu24j20L7GkcbCOgD+78j3TeGBn+m\nxsXcAQ0G6TrWhjMtmpRNexDlr+zM+zQ0HPJvAFGE2BFYKSYxBslXE6QuQxoD\naaq8qA6qT2IfueewMSKO/GxXeLABGDZRPjWwJJAHERJL2VHoMJWh7jEVXKJ0\nzXsi1M3Mx1jr0tbb8EcCjppqbahbcnnUF0Ya6qYZ7OzAJP1szqFdIc3jtcvj\nM5VsobkZA/eOzv7It2pCQy7e0WCwaQ0KkG/NgjkLx07XKKmFiMDBhEMpZbaH\njwgpaZd0Hlf25F4GSr+VOcD8auVGG817x2yAkU6Vt9QjKJJ4wuM/qwm1qAaH\n3ZQrzpNAbepcmug35cobSOjwJLDwRAs4mDgItMuf9jmtO33/iDTDdSGcMJWs\nr8/nLOK4re2/Cm7VL2+RTvJjJdabDjkpisGY8L1KPkWgcHcDvk/m28BDHkpi\nSTmi3FcMaJNVyq56hF6cdcGSShOgg+RPxBhTjKou6njK8sJo3R4sm2ihL64E\nhPy0XwnYU6oaeIjS0PeqlI7kvMchjt4QctjJmt0gXnCfy/GuHv08kW9OCmFG\njm8ee6Fj7zggwMDZFy/Kd30WHn/zahkybSY9hBysq+/mYU9NEKYFUUVS4apY\ndvdt\r\n=md7j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4NYTZpXETQF0i8RQuWvopyVbi5KuTwuwcIq8hTRGVUwIgFai+pbu2lhaa1FwcBvZJNq/uiBiryzYV8wshP7pE6KE="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.13_1596202940442_0.35393580793682866"},"_hasShrinkwrap":false},"5.0.14":{"name":"fork-ts-checker-webpack-plugin","version":"5.0.14","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"83bc29c5260f9bd8180700d9d5d538612fd76692","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.0.14","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-iwRdjgZx1Ll0DAMhmtOF4ffoICpiUxOqOHLrbIHmeCtZiwCrL/qscm+EXOJyzj3a9X8hLRLDEHy9FOyD6Gm42g==","shasum":"83758b733ccd5d6e5780a72a5d5f099c353c108d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.0.14.tgz","fileCount":220,"unpackedSize":237938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ/8UCRA9TVsSAnZWagAAOt8P/ivp/RZCpv16uxx+DXcn\njtfqUgVZpwzCdFi6ukA3j1sVd5rl495SBNGZZvWoDczutmTo8rK8TRxhyRLf\ndy43kfeSzS1kCM5uL16Hlk6m51hO6XsjlHDCEHaVr21/T9drGRDxJaQ0Jk1U\nT+wbgLmzUIVSBZIEGjYFDvbYX4lEWv4NDZb+7+kbh7Q4Eiw9+4qpYy2bcVL5\nlwa6uDd52CTpq+gNZq2jKVdN97sreC4EvQz432j+HJfEEe3BIAgiq0OxJFDE\n6Opgi3i7HbJC6E7w8+g6MV9t618kLs4jIrz6jd6xMa4hO/QwNgiluJaRpQqj\nnOB9uWuZdg+UwBYN5v2EnPeb3cBkDGoQT5W0U1zSCswYCtoiruTG+pb6QCy8\nQZXvkwPoGuYPhgE7c54z34nAkGrC0l/r+s3BlbKaM5Cc4C/D36ZHWWAFGuG9\nhFPvxR5L9yfQAzs47ZwMGSiwkBCZwOjHW1qEVbYS8J3lqfy/WUIROmrmLgT1\nV/+z3g2AS5O/BG22L48VFaoMcStoT5nz6GO4g/iSMDxDrKDTKPHuxzlYoUA7\nqVEienxpE3n7F1h+m1BfkR9F0BoOTNrouW2PIPNsEnhnYM5c/fkstQI7IlXr\nU8kzHOEvk+lGMzHv7zgV96L73HwdkoBIOWxNrx5h3ukZwEiCSqNqP02dWEqX\nuGBl\r\n=dKUJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyElhWukJaE2r5kY2thzxV44e7ra+bXafunIz0Fot4uwIgD4nGF90Spqglljd4wlGvrYz/Ib8XdrHPh9z8b4UuXG0="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.0.14_1596456723992_0.13327335170674037"},"_hasShrinkwrap":false},"5.1.0":{"name":"fork-ts-checker-webpack-plugin","version":"5.1.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"52c5110869971019118592d19bb97091a4b4aefd","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.1.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vuKyEjSLGbhQbEr5bifXXOkr9iV73L6n72mHoHIv7okvrf7O7z6RKeplM6C6ATPsukoQivij+Ba1vcptL60Z2g==","shasum":"586fbee24aeea950c53bab529e32017f543e71cf","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.1.0.tgz","fileCount":220,"unpackedSize":238545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO6DzCRA9TVsSAnZWagAAgOcQAIh6GgP99fgVdG4sUYBn\nTsQscHquyiPgxqZvk7j0UKea/uAtyAMLxc3l58qQp6nabQNKTM2iWdb34HU/\n1sVaeN50ereNfGBdIvfy7+jjNPQEC7VLQIjXlkVjPhytXH9ddq9Andb+SoMg\nfneut8roCUwG3CPalFmCK1FDSeD0bUWMDlINnCs+7zk0FUPqzLENdYBv8thn\nOURDDJ6MGEkxGYuEWC04MIyDeIhXcZ2bK6ap5GgACbkGyYF4ZuiPGs11sRvj\n170GSvqTk0jJu1Mv+TgESchVfyXW2n14jEqUvzGBmglR1ffmtLXKG38D9YDP\n1ZN4eZDMd3MUEA1OPdptiH0qY+cbsagKOMyHSWceeanK6hc29Nnvvpy2948t\nCQXL9CjxMrPs66fPNfsCOHPEfcrg4iFuegV3faIoKvlYv8/a1iVKmpxrSWxt\ntoYB34CsEjRuXojkvjUeFXC5r9IeYAUgZIFgdTT+ySbBpcmkZM8VuYzi7oxP\ny9s2p/C5T1/JzPQEPP3Ag8vTh8SVE2YA27QOkTcPxFL4PzZc7e+c5d9UQR/v\nAvl3Lw+LzMsBcYrB1lhNbcLL05n5lehEEobMNMeePXOSgf04zSwsCShCQyDW\n5BesEgxKACSMIjcCI6NF+fYraoYB1IlMIu/B7CkOPPEtND6iYeHGAksOgRXo\nyqpu\r\n=4QtV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+DQkT7qjc0Jq32Q8g/xBtXwPWH/ZChbwFoSavW8/mMAiAYHwN4P1eRIO7fTHtr4+YAkm6YaUk7uRhyLhiCHkxRcw=="}]},"maintainers":[{"email":"piotrek.oles@gmail.com","name":"piotr-oles"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.1.0_1597743347023_0.19681830706083558"},"_hasShrinkwrap":false},"5.2.0":{"name":"fork-ts-checker-webpack-plugin","version":"5.2.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"b964d0586be4c80ff1f7b4c9d397973962d22987","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.2.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-NEKcI0+osT5bBFZ1SFGzJMQETjQWZrSvMO1g0nAR/w0t328Z41eN8BJEIZyFCl2HsuiJpa9AN474Nh2qLVwGLQ==","shasum":"780a14fb0da02a892baedd7aa0d089a1eda7b3e5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.0.tgz","fileCount":220,"unpackedSize":237844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXQL6CRA9TVsSAnZWagAAV3AP/2cROUC7qUOXL+oUp3Y+\nsFX6VVrW2oeoUkPIJWbfRvKiD5dZ9RV56TV4khxFzf64JlxaV7nyJ4wq5W8V\nLjL9nNOdnZv2a5vTMX8SD57FislbMPlUbxicrTn4WU2fQBB4mv1RFbyURnO5\nvUFzAN664CKtbbQuOInbeBoI6jFpsIFNB8ypGC8kPGY3XD6spU1ZPyraivyA\nfaqj+/+NMbStSS7/b4EX397pdy415HjQzpimdD/Es3+tJQSTIzZkUutjYFFq\nxW8qs6MhJ9lUEB7Qjn4mxRlRzlPrtxbpzBp17mVPc5D01dCqkbioPIoqvRB5\nuSBr+vM6gQxOtScva06z6edOLfEAy1jNBG2nMIEwhkeTK7qLdNELVawFNBTY\nuSSzZ84Rk+wuwZ1SenSu20s0zoKNgo1x6C//et+D64mjDEoBv9VBjY5J0wGc\nrKv3/ad3xr6Qg3KH8zoWOZIxTN0ivahO0TGlLnzWNCz/i+7YPh6rcX3hluJA\nwRDX21Fj6ZPmiUVrJQ7Eeo8MO+uCnhLpPp6zbMtW2uI8rAmvsOIBG1Uruphm\nHSkvsv9XORQUU112qx3g3j0gyBafpfMwoJQuMr2J0rJpfvtKJh4LTotz32Ht\n1s81GFdCe/tFv2z/UiZ5aGW8HpXyMh7bLvczUCWd+e7pbbH2egf3I5baEN6G\n+bRn\r\n=5a1Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1v+8Pz0AzHf/cKRVZMa1Z5kH6pyJrlklyzq6gg9aTIAiA8cNoDycbL8HslMdSlVflZoSjUdQzGnSqtGZZDFrgDvw=="}]},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.2.0_1599931129785_0.3656328477033428"},"_hasShrinkwrap":false},"6.0.0-alpha.1":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.0-alpha.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest unit","test:e2e":"npm pack && cross-env jest e2e --ci --runInBand --bail --verbose","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^8.3.4","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.0.7","@semantic-release/npm":"^7.0.5","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.1","@types/cross-spawn":"^6.0.2","@types/eslint":"^6.8.0","@types/fs-extra":"^8.1.0","@types/jest":"^25.2.1","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.10.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/webpack":"^4.41.11","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^8.3.5","cross-env":"^7.0.2","cross-spawn":"^7.0.2","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.3","git-cz":"^4.3.1","husky":"^4.2.5","jest":"^25.3.0","lint-staged":"^10.1.3","mock-fs":"^4.11.0","prettier":"^2.0.4","rimraf":"^3.0.2","semantic-release":"^17.0.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^25.3.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"fb22e479e12d0429d62236304e9759d22501bb09","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) are in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.{ts,tsx,js,jsx}' // required - same as command `eslint ./src/**/*.{ts,tsx,js,jsx} --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                                      | Description |\n| ----------------- | --------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                                        | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                                        | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. If you set the `files` option, it will be `true` by default. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n| `scope`   | `'all'` or `'webpack'`            | `'webpack'`   | Defines issues scope to be reported. If `'webpack'`, reports errors only related to the webpack compilation. Reports all errors otherwise (like `tsc` and `eslint` command). |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.0-alpha.1","_nodeVersion":"12.19.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-n8x5fcj1J/K9g6mBEAp29bMpLV5bVozQXzDBTrhcwJQmL/f4h4bGdrKkGHzQjyRP5Se39uF8gl0E7vD1fGYtwg==","shasum":"2a08502c7e3eea871ae1b7c8e20f30ef935904a5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.0-alpha.1.tgz","fileCount":228,"unpackedSize":252745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfifwCCRA9TVsSAnZWagAA4qQP/0u/T3Q4RUnvmclsG2Cp\noHaqm7+BM0s99RaJJT0vt8+Aj2m+LipAP9YhFZS7kGdEBck9xQ7sp4W+2OT4\nNTk0w1XddjCN12bAuzy6cxmqHN4Tbx7z6HHusIwJ2zZlafG29HKXiRUfl/SI\nBYnXexJY6K9pHGBwhNcX4MQzKK1NY8NTKo7vKlCim+DgcTQ4Tt/cBS5JIs83\no+StPdd61/cB23+MzqqwcCPaBedLlCgbqmsC1ixwsS1+h2jmrRf1JsTUsfTF\nLSjxc+76tIfcsGSFEznNEKz02HcamAskKSxe2u3ZlDpAS9roKE19mJCY836T\nOCijpzw7+bRZbZDOzUt2eYbRzlopHFFLPh/Rc7Y5YUtMmXkmBWEBMqsQ29PF\nolETEFI4ubdKfOeOGmHm5VEV3rRAEtTkRs8D2S3dec2DxuCz6vbzngF3/IaX\ncIMWwsvmcEV9wwaxObRfURZMxK4yqJdXMtgXFA38+nWWNka2nkZiR2rfc+rs\nw+l7znaCLaq4FiTboa/aoOMei2uDfClOJ6fq0z1+cCcb2UM5V5VZmN3Fgvwp\nZsGfKiyE8NbKT3XtQmUupyxT6oe3Wil21B8Ufa65kwzl3hlHOPfct+72pAVs\nCjLsza+bQaHb4gmqQ4LnRfuAqq2vhb+fKNzTBpiKbnyam7yaH9jCb/IvYOyN\n9AYL\r\n=4DDO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICMxK3zemrHN6BcBvZhhH9WgE8CSsM31PoQFWrXEo9dJAiAM4MP+yGc7kw7crQGTyIhBlciCIprQ7AS/WQnZN5VzFQ=="}]},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.0-alpha.1_1602878466371_0.9626690070552135"},"_hasShrinkwrap":false},"6.0.0-alpha.2":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.0-alpha.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"e90c7e436185bd8b25ed3cc52b6181a8d5c2634d","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) are in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.{ts,tsx,js,jsx}' // required - same as command `eslint ./src/**/*.{ts,tsx,js,jsx} --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                                      | Description |\n| ----------------- | --------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                                        | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                                        | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. If you set the `files` option, it will be `true` by default. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n| `scope`   | `'all'` or `'webpack'`            | `'webpack'`   | Defines issues scope to be reported. If `'webpack'`, reports errors only related to the webpack compilation. Reports all errors otherwise (like `tsc` and `eslint` command). |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.0-alpha.2","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wpgTOeOJ2QADI6wy0zqOsepfQDCK1E3Msx8xsCmGDjNjPS5lfx9PwxXg1VfGfsqw/uXMv2qgZc49KKFXH/w/KA==","shasum":"9a3ff105f1ad9905d344691142917a4a26742a6c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.0-alpha.2.tgz","fileCount":228,"unpackedSize":256042,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflHCSCRA9TVsSAnZWagAAFtEP/0iqVrLD+L3NhbU7Xhx8\nle7eOoSsOZSjQ+ojPHsCMJ6/bbh4SL/YuwX8NZqdAS+rOjHBFwKZtCmGoqWt\naoqgZvO+yDICKD82EisJxWYn3dmxalibbfm/GE1mI837NgbCejaFSenKBFg4\nXJBvJ+MFp58yOoj2J5nfnm/tT6e9WKJKQr94e0WF3Fdt74SDetfNIT9pp7Ln\nl9MLe9vcCnVnXcn9u0pQ13cT5566vu2vKQVJHEBgFwopzWhLQGI8aTJg/V+B\nbXuCis5fmPhx9ULBUN2e/1aHglQOjTORCP9HTxjp7KO6haGnaSSv706QvqOR\n8jZJivX/rICNudpSGCR0+buR+6Uh9kWuF9ISNigpYrxbeOCCpjKS7d4foAdm\ni/3yZghjTxk49rJOUOGzZ4+HUDhMdV0PypdffRRkzSclJI7Y4Py+sx8NnUMN\nscaHV6dKgny0mQv2frv8764zRkL7EjBdWbqBX8l25vs2cZ5la3R603Uw5a3q\nr+pXaBcXlPfHgWTcVRQMiuPADnmb4KuiXLhOdzAvdR4s7moYPZuZo/cL+C+Q\nhWd0tU4flbD7r78KskP7NPGJbkpbf2tRA5bdLlNEhTBgyxVgR4yLY6VXTd21\nW3t+nROllT4msyY86LMmCCNh7C25bsCtwEmNp7EC3sXYbfbDTmpRn+z0oz3R\nIlH3\r\n=6r4x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCL9FYheTdps4/l/Q0D4N9oBTeKsUE1OGOhReBSjPzbwQIgA+8qbS0b6ytATBOaHYtvkgc1n20/uBDk2nnCAFolI5U="}]},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.0-alpha.2_1603563665541_0.9894655181853265"},"_hasShrinkwrap":false},"5.2.1":{"name":"fork-ts-checker-webpack-plugin","version":"5.2.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"cadede8a6e7de8b5d8fe8961d5c7ff987f469c1a","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@5.2.1","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==","shasum":"79326d869797906fa8b24e2abcf9421fc805450d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz","fileCount":220,"unpackedSize":237925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmS2pCRA9TVsSAnZWagAA844QAJiQVin2bgHlv3eovzgk\n/s29g0OEoFUkNWyZPxtbBkbUvkmHxJ2zZoIYZa/qgRIjh+kXLbO4aU95xZR8\ncxs4AA0h+G3IChbOPHeNVB7WzG9tyQkXSwnp8QbL5AbcwY4accaBWlEKQhQQ\nSYvXtSSidLsU6xoZLLJXeob+j4VO9K6IN7KGloqZOn9DziVDNHi/Z97kmIRm\nmMx6acaVArhoieWrOyykhLi5W7vxMNAd2AGboeXu+S7UwRdFbQ0mGjrjyB+X\n1imjCWEC1vg8pnpR4fwP/98/rgZU0Dj387HACih/ITDsSa51nQDWWAI93xtp\neEeOxC2vE9qPqwCTYbJ/uG+E0+qlJEhq8PRkgL+6hkJ9rTnhMJPeHnYjHkVQ\nEYjQ4fVEfTguErZv0ioVDqj/XTCqfJY6CFKx3cFgqF8XhNuoG2YA1hT+jwA4\nYxaYw/7VcBrbYKP60SWvotuhRBsqNzaOJeI0MZhmMyuTF/DP1dP3UOKN2QsU\nXhZwQ/Mh+cYadIR1x3tkch8w5BsSSXoteyPWRRkrTTfkDxrF95qmshJhIYcM\nsuj48ZngofD/C3mTQwKM0+CdqvKnFv47wNEGZvzYNYP2VIlzvtOPISo0tL0p\nfU1lJi4twcuHDRgBzqJDjxQKju/l79P9FT9hd4fWdobAfGaM/rpdCb1BaF6d\niM61\r\n=FvZK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAQfhB3gCIGwstdbROfu7ej4ybsGhFUI3SRDr4vm7B6gIhAM/iAvg0jZwvNY/DaPsFKR7slAwQhMBmi3yri4lYaZC2"}]},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_5.2.1_1603874216471_0.05045036703376904"},"_hasShrinkwrap":false},"6.0.0-alpha.3":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.0-alpha.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"060fb677e79bafbb9125ecd9841873a0f3f51301","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) are in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.{ts,tsx,js,jsx}' // required - same as command `eslint ./src/**/*.{ts,tsx,js,jsx} --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                                      | Description |\n| ----------------- | --------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                                        | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                                        | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. If you set the `files` option, it will be `true` by default. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issues` option object).\n\n| Name      | Type                              | Default value | Description |\n| --------- | --------------------------------- | ------------- | ----------- |\n| `include` | `object` or `function` or `array` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `object` or `function` or `array` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n| `scope`   | `'all'` or `'webpack'`            | `'webpack'`   | Defines issues scope to be reported. If `'webpack'`, reports errors only related to the webpack compilation. Reports all errors otherwise (like `tsc` and `eslint` command). |\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.0-alpha.3","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-gQkcUcxHpAnLlOe8BXQyy5zkZCKaXrumILMl9OX6/J7ZBQQGT2n8KknCixOntW+LfzlHijkoAeRt+8jM5nYUtA==","shasum":"2c8db36f63507e7e87d1bf65f18103d275322cfc","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.0-alpha.3.tgz","fileCount":228,"unpackedSize":256004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpG2BCRA9TVsSAnZWagAA8iAP/1SEf5DA7cXfp9Oh/nC2\nM83t9hWfcionkjuHYwjCrdEwyFjmsfpep5RTaH8p9oVYtBC47UNrnb29v1ej\nEPLVOG6gv55bkkrEq6obivjxWabg+PUef4otuQs0vnrraiow8XHVLCKTimIL\nYygxV2hhP5jaZGwcGaNEj0fciMOyTqGSeyTHCsn/zLRgd8tdnfoqqimI1yxs\ndG4cADihyB8Zp3fBIpxQ+y9ErGqsCSk/4T+0zzl7jTNk3dPi1JQ5NVqJGIVT\nXTIB2hlB1z93daduNvt8EJ5c/hqG/cdxw7/U//P/cnKoVNNj/NfQsPqgkBL8\ntSJkHG1IVK8X46IznDw5mZWrELoDchYPYAUryIVttZYjQ+mQwokrDM64qnLD\nAFGH/Uq5b0z/XZuYe0etqYPEH30d1Rmr7D6wSBF1ca8Fq2qOtdb5nqR3AUQi\n4XhIjXhQo0jLwSrX2A8DxH3FytYjlhYIaZNEs8FYjnPDENJeTv29HcGQWiPl\ni2Ud2wWKrLrmHsAdFds4HU7KnWsCZ7LNffPyQdX6788Rar91x+UDg2myXdrw\nismz8JjSe90G5TbECbjni/57OPE3LD2u9eArMDht/Rle2KgBKNKzoOXBymtA\nwJ2trZZ3HTaGPBFK3CqXU51tNPVYVJEr0CKC+EJ+TbhJf1ZyreCZLCU5ZDgB\n0/c+\r\n=3325\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF3x3ty0n8BPdTTMZ2LdiNac+NJ2c5rG/5EtW1rIBc0qAiBX6C22jdhnt98TRlI1qc3eyMFP1fwZgdDZLlTbioDRSg=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.0-alpha.3_1604611457133_0.9976570729909693"},"_hasShrinkwrap":false},"6.0.0":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"45882062124d60fc92389c7b488f550d4580875a","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.0","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-fa+ergrDxdy8d8fkCp14hy9slxrdXUnWwaHZEyM+k9qimq3RA+x3GncTz3oliTZrTshCTiFz8auPBedS19Tviw==","shasum":"7166d972fb07ce4b6e954085e02159a82d030d62","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.0.tgz","fileCount":228,"unpackedSize":255988,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpbtlCRA9TVsSAnZWagAAY6oQAJmWhNcAOVV5UtC5BM3a\n18N8HonRqslOX6rvVwlF42ZF9+Fy3pCQ+OKNxKqpnxm5IhqsIqWXnIXzLBUQ\nOOuIfx7srMU1mPuyZKaEuW+HGvyZKivwhteQziaRVDj6xRtRbFHaR3wH6zZW\nikdUcMIF7aGzgHVL++K5lw9DlBmxZBmfeKBvkTDy+Y3XhFYNUdMs9TBLN27t\ni81SZwtkfwdAZwvk9du+L5RMgOeGtLG+YIp7WC4GymPHbL0U9m2Um5tnBAIj\n2SI8b+kjq+mPlEABhiDuSL8j4ZIuQdpBKDh7O1dPshGndLJFx+fsdmgerSM7\nTyWJCsK/Z192ZPIYy/iv5HrPhJO0TXWbb+lIPSvzgoWdlwGzwBVxTJJHoyE9\n+jNA4ZxpyOidypPL257zdsql4tmUXZnARNAukrsPplBRH/qG+5souc3B7sLw\nzxYlaXjBM4nPWP9KCneSOzDuVSz3Kb3CkWwXZKfdXIyQjhc/zoPsDpGOB+QI\nnYsxhER3lbOFyVCK1EXN3B1GGD5h+25xNWRE0V5VERlcdwGzsze84OrKNUzW\nw+p7y8FvRWMpcPXLkWBxwz+a9CUvKeTHNvJGz5460cPOBrxZaQCLgvAMZ7J3\nVjmbJzUqHVuiLriiXDuaW50PRrL3zTUZvsy9wuWx2brAl7kgZ3MhFFfd9rzK\nu6KE\r\n=5+X8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/lddSSnpxl8C17hqA59eiSO/e7nKaCakcjMWOS0iSuAiAToLkKCXDZnqpSujVM/BM5BCUmVWtXwQSVxvsAXk5Acw=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.0_1604696932721_0.379054346261128"},"_hasShrinkwrap":false},"6.0.1":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"ca4dce059c5247a23219403558a597e97c705654","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.1","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-G2uKf40W+a8/TzoCrGK+22ccTIzSBDFz7RquT5WaQ8kKw6TpplY9+THKp71h/3ne6BnXc7CXc2lcwj/nuHd8Vw==","shasum":"77d73640c9275ebfee6b60e6571c6efb7256ee84","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.1.tgz","fileCount":228,"unpackedSize":256616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqRmCCRA9TVsSAnZWagAAFjUP/10I9QdZ2fQUeYRQuYMT\n6YDy1OdbSlgu9D3Ev+BS0PZU5QMsItqr+2JR6BCU9TrlwVLcGRYL+BNYAily\nuhIntFY9OzB7+OFW89oCP8YQZ+BGvfxLIfg3xyM6x0MxY6S6Zon253dzayFZ\nU/6nBLwjGhli9fsGJAPSY2vmRfnYLcLTSDqwZylVWTQ7JWX0ZEnmGbD5fYY7\nbpcuRmPUizcOV2TT8adCKcWOGMicIzoeaSlqwXn+iQUtLeHllKEESVxHfiaA\n1/a5flCYzQaAZikhduAFP/DHJM54nNECiKb1gXsZ3wc/HskX1xLgs4NPlxtu\n27Ha0qhGO93jF+AKSNtuhF0wq/6Hyamv9k42YLPU72eoLMZHX7pcHuXLEOrv\nUn01/gBT5neN7epG361jBghAZv+VQlJo8L46VDpmcCTiqcBvr9mwClieD5aj\nOWNnjWbtW6dJ1avtrZLdzFL/qGIoofMZhgAHkzucdC7QrFoKik62pTZwmzrs\nQEeWtVTt9ft09RYBtpyn5BVPOGeiau+3+cGzgAryOJ9iqS0x97MRWe2I9rHk\nhb3iJmNzmYErMm5q9kWUJ5N63ntvNFJj6woBVBuMy5A/AMLNOizEi8rTinl0\nuGru6qxLhexT/4HmQjnA84N9Jso6aLAGvT9/ehcoD22ENpYZc0SuSRYd0170\n6PFU\r\n=pKlK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbI+osC/c5GXQ8ctrwGBe+7bF0WCSg34WrO19ej1MHmQIgXwHTvLbbDG+zqRg8OC2x3V38J5xVG6KVbROpR/egruY="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.1_1604917633728_0.36223339419656675"},"_hasShrinkwrap":false},"6.0.2":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"8cd73047f3a0442cb4d4b386b3eab0183cea8661","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.2","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3WrR/gNMcOAJ+macFpYTXxbt/xZDF9MLCYsPU3j9IUmS8LAvi8WoTiI001z1A8qkgmDtkoh6MTytTQqf8/7aOA==","shasum":"3c490536b302c60cd8fc4654cffd7d15225859f4","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.2.tgz","fileCount":228,"unpackedSize":256772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsVIUCRA9TVsSAnZWagAASH0QAIRC/dsdkmz5reLy6C2y\nJtC0p+2mgX+blfhSWLvEsFAhoMSd83FdfRkDFP9ALJREQiTWCKD99Z3nxF07\nsbupHVyGcOgRuCY37plr5OFn6nVe4YcuHovtvzO7wKkxWJ9raGRfoQr/blT4\nO/cu2pzYqQlONSSOWRNRaJ6dbe4PqmOv/FMgdnELiBumfYpWkmLeD0I+d8ff\naF+nZKfMmRcN7AN1S4CS8KeogDGy7D+q5IYxKVDVPWrpquF3dyoYLoM6jVW6\np+c6TBC7VMJNwbn534NjC1hRycHJKwaexnjkaAQCuhbY6bKwjxzWCTjfRJk1\njungLm7qTGHAKVw5b3iDHzw8P8UQ+c68TL35nslQyVm0+hyCkKA8Io33d/kO\nhgxhcmE/Qo2HHw4FDYNTlxiYLgr5NL60XO0GcxnhXWsZVbJdQl6/i6NoG97P\nNz91wp7wbUotMvM4FsgH69V/HjkqLogttSqYVKv7ojjZ2TiZ+tQkUuB+xOF/\nQ5xkVSmxnNQcd8LcP2JsX/ejYMLCZfc+ycdyWdOrW69d9+wAqLjSvNkaMPRe\nvWZUUjFDz9gPn+c9kJ3b7kzpIcqZ5RaH/HJa9irCnOzwvOPDSIzsKgOCCVRV\nQRapCTuyD1s+7reqFci5IHIcdUiU8tOcaptL2HYSPgdz5JLvdEAseTIRTCE4\nTvQz\r\n=fgMQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDf4v2wwj8HFr8p7M9eN5zA1gYJ+ZbBt7oqQnGQiEtFVAIgYRHXL6VmtiwwaeHIpASGFJ4x/7LHPUsjeDCHhC7ziR8="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.2_1605456403829_0.4959291608826113"},"_hasShrinkwrap":false},"6.0.3":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"c0bf2d2ef5d0c9e5cb7ad580626d0917c5692987","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.3","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0cUpN1Hpx7SXZR97e3W50tG2sVHFIrZxbimkXQGVdjpX0qme9iV2g1sXd3t07/kzvmQ82nHujjQTblR22M/NOg==","shasum":"8932dbc5094ebb363a9136ba23230a041ed0be14","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.3.tgz","fileCount":228,"unpackedSize":256666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftAnSCRA9TVsSAnZWagAAQ3cP/2FUki3huh/p29JN0Fft\no/+K2egk6xHu9d8g0BEtXR86vjYduOLzxidLPLw+Sn3mQJYd8TL5GbSFF9Aj\ncmMmqK1WFCQic+DYlfcNu7uKz0MIrLpDEjpqvLdyb1FgUrGG/sFcBjOieYM9\n1KvEVORhF6Qi9THKwvSWz1Y07F/GpiVQEfBd4/v2StnHPNpnEUwtJdAnznrV\nsR+osbVPGLIbtHfh+5DsPPgIZFfCeBuTflRJBxwsQvsp+mDBT06H/pQtDv3Q\n6Yk/iATzbSnqGB9VpsbkVzBJBo2X6rxkKR72CY6jpfj767CD4/puNAnrQJEo\nujlCMhSFjK3DvkmdYPaPZo5UGdEAuaH2lspC9J16rLgX4EW5WIf+Vv/FAEla\nYdtATx4fy8iGXMg75JHp55x3i6meVLRiCSamG9XsDcLEu8W4Xb5CnrQd9L8O\nX1CpE3j+L50PhZLpSzzpCO/RW0OIYrCnO/z6qVWnrXQ54IxNOPoafhf5XfEi\nBg51G9AhRM6egpYizPknunfhaU2cI7+n1tuqeh7MUuVvDXLh27xo9AausmY6\nccTpBi2aDwPaWnXtDpNXb2BoCaCj4Y1uimj8ivOsKoFWcgVN55oRT5biOMXn\nITmE6+IVGz9jv4up9m/Vmo8kF3i6bJjWw04kRkzZxzNLv35So5I4i96qodqv\nA1EL\r\n=XzMo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdyTwIm8qATkwfq7mrN6dOPsrz4Hb2CmTdoEfECxrDiAiEAjrzRJW7pJjvxvJWcE+GBwrGw7gvy+NMspUtteSWA80o="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.3_1605634513615_0.8215819242319362"},"_hasShrinkwrap":false},"6.0.4":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.4","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"89780495a15ef47c9cd7bacf1d51863743542d62","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.4","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8/Q0svTnhyF6msFnW2qOOjn2wVsrMq5C6II6lyN3VkPzqsWS3InHjDr5P8Gk6w7ByhE7U+1CGGAXTVkPf5uHcQ==","shasum":"6c221e4613946d5458d5735e4eb3c67da7c9f60d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.4.tgz","fileCount":228,"unpackedSize":256718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwB6zCRA9TVsSAnZWagAA9pcQAJBbJUUX/0m95t+cCmhi\n6F+up4GwLAQ9t2oxTfDn/slc81Wks71Pv22rC80/8eWPqcL23vB3eDlTuyix\ngcCVlRpB2CoJE/CoKBHRnj9JhsyGYa0ELHfi/IrJOiz8zZvUvLUsn3sWmP+z\nD+yay5cHyhKtTU8ey4zkt/XmiVKKJey94W76CTLtYhvwDBaC4PV6M8qeo9Px\nFkg4bUhevu0hvcmC9ZeoHQScGZu6OahKXRA4gTXoxuVocFspeEzgUCIxue9x\nc0xIrXoyYT+YbSPNMm34Z7I1ZFudUDddcBzels0l8YpEs3Z+VZMrSpj0b7Gv\nvgb0qn0wXnj1/JXZJkG6fSkWg4oulQDAzq00yca3ut+QZA8jmeLmI6laTyCO\nnMMzZX6Ac/BtH9wg0/iPwEzwKajifKBFQ7CISMMcTgJRps+Fl4IJixYTq77k\nD8QB25IH/7iAJy8l8+EWH5l34pVFHKwFz/CiG4JFwNDveLwDmd47CgRYXkvb\nla0T4fO/98oR38hm+IkElZbDKoPspKdHeU2aWDIUcmJYYKXj/OEyW8ZLsTOk\nFCUYIA18jNtUanMTeQj9ExI9gRlJbFPaTjHPTdxHsj17ZU0rXlz4np/IaLYe\nLnHZi9D3GbiDDn7BzDsFnZgOkkDEVX7+lpTMTnT5pX6uBRAD5CrwXyjznR65\nIUz7\r\n=HoSw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5GXquswd9hJ9BR+EIgGaWMswNaWUxitzedRCfEapTdAiByN1CMiRty84zifa5BK/BoN+vq7qu0LKmjBQzNMNnUFA=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.4_1606426290488_0.6050030544379339"},"_hasShrinkwrap":false},"6.0.5":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.5","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"2f330b565114d19648b709dcf14c52397d5724e6","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.5","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2jIHv2RhXzSxWtvRQX/ZtOxd5joo+FQYzn+sJ/hyLqApKGgvjMEMF951GnvuSNPheGsqiVzIDjvSZo1qRtry1Q==","shasum":"20d8766b644833cc5c600b9b7c6fbba0c8087419","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.5.tgz","fileCount":222,"unpackedSize":255177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfygD0CRA9TVsSAnZWagAAr9gP/2Kj2QHt8VleHE3MO0Ve\ni9IYiIm/v1M73BMx74pBhWb8qzMvmVMls4q2BWphAJO2DlE+LGilrOp7xC1u\ne5xexgvImzvw3kT4QxyrrpEBC/R8hw/Q3X8tIcTLgGVReod4xwJxEmwcHbBT\nxJs9VCQjYHvfZTspARfBRJ8cVhkcQrtJIcqjWdj4K9F6TDXxZHdim1v5TIgA\n9lh5ZPyxuc28pcgxWgVmCozCz71kDPOr+z2/9mapulclzlGFRIPxv1XZfh63\nb1NYzrcAZvQk5z06jy2RHI8uFhQqGTm8UIh59twxDuXzuimowZ3k7JtyJ/Uf\nGOdLg1xhcy0jZU5DdM95fQlQoce3PRrzufNlLxuFVzGHQWUhs6DM1we4V6Pc\n8Tb0HApVOTVgUlbbUktiZbyE4T3cMQlkUP2GT45FVAzkIwwURAt73byQNYA7\nleZdEmn7QeloA0qrNCen8uCiiFxKTFgbVNK4imlfcgzQs60z/x5lepiUgfbV\nzxcTJ8LxGHwPmGJbaNkUjKaE65un28vGBu+wKq4s6Hrsf5s4NFQCU6LVf1GO\nwTTYaNbPUi+BWN+tB0wG60UDySkoTEahYm6bGl1K2JowV6cgn6uAg6a8eH24\n0hyK0gzjERPocFbKa9AX9vTnNTWzua4irhnOVmSBstYR4ofl2t5Y09kS6EyX\nZk9U\r\n=Xg/f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD86Dq9DRzPBuCUF3kBeP8NBnN8++TpGDPNELym4ABCBwIgSWOUqN8MFu+jVI+6VrY7M4lV4vgSqxhtHVEnhzK9QGA="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.5_1607074034976_0.9955227959612054"},"_hasShrinkwrap":false},"6.0.6":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.6","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"db5a181093f4c1f0d9d83762febe27ecd52b1362","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.6","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ZxtF9vwhXvoPv3rriV4NgouQy/TTUA5rh/iw60ztRxgGUVfxe4gv/LQlDkCzttiCqYlHTbUm3G6tdfdb4OBH+Q==","shasum":"18933bb40d565eb22a94c3bd7064808018fe57f3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.6.tgz","fileCount":222,"unpackedSize":255177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf00juCRA9TVsSAnZWagAADKMP/3DKCTUFurClSkcFn+z/\nxPMxnCOO1IE8OTL0jgkhV4QWx2WQKax5UIlii0eoUZ0Hz6KQwrP4UIL0QEji\nN2PIb/ckjbiYYf+POftR7V3Kifgl7J6IVoUGxMSvlC/vlvF1mVZ73Y+hONf9\nBHaeiQJCza8396eANfyj/6TXee1UZOJFl+JDdeQTZwDUqholBEE/c+lc7BsT\nRdZR/gvAjtrVzRwaBjYoYIsaU3MYmKC9aUcWqpc6v0Gx2zSuOCHoV0MIuDCR\njPhQSrH6Yb+ZCDi3GHIBKDvdOkw7eBAD9/vV6aiRkt4GnS9bBnqzaA0pw0m8\nDL4WtUgamR6ED37DpPtGez90a20OhVu3hgan50vOLlGAU72ek9mQqEwMOOGe\nH+i0OwCbuFf5vbRzB8MDPTrL3Lc7V9rEo2NJQc8Ep1V8Q0ryF0UuT0oYnYaV\ni7mfm8q1VeMoH9r24CUgyl4CIxFcVyK6I7w20sMqgxC3nV9s/ZgmMUGoHgdW\n7eannPFOV108XaxfbJqGodlici5CZsjrxHMQtrstHe+76EO3xAxPgik2ovTL\nwMYASPMgJNKieI+FcqQHiI9GpuW33E5myYeiv7oYjgTQIJtPXlQ+llLtF8gi\n5fKMEiXN7FYAYmP48iQu+/nkqdVFYQS2BK+B3/gK0J6lnm9lCW9umOTTm4LG\nzCS0\r\n=/yS3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH+X4TJcVFcMjhlpPDmSMPDqLgih0uD3d1xPYespK59lAiBAmKYCsSciFPTm2zHyZgVtoAlGPG6F8xX6KnDT4y607g=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.6_1607682286116_0.34695336991190673"},"_hasShrinkwrap":false},"6.0.7":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.7","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"2a1348d463190b3a75090aa427e64a5ab53f909d","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.7","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8M9q76SFQFNruI2L5Z/WmDWZsbkzAjEtUcL8QXKSuTLC+8A4MriNNIiXR9yRcKvGxaBTFzygAmUYb3huTiPraw==","shasum":"90d36489d553c4de0d76b8a75f8734e43c6f8e9d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.7.tgz","fileCount":222,"unpackedSize":255339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2INOCRA9TVsSAnZWagAAGx8P/A1K8PVRwxjSm/5fWljW\npb7+Je/qWLIHcUmzjgb2/LSxWu9F4cvGq56CQm7HbIjY9a/99tqEDcDLq6KU\n+2MGlfnHgl5ERmpWxtKPRQ2/zfD1/IS/SIMGknBGiNDVFP4qBVjx6B4ErMaD\nm24AnRG9ihThhWSUMi389JjorBsl108GEwgvTWl4XcKFYU0bYRppk645ko5G\nr+sdgL4O4fa1fE4ivOnZba39nUPbB6h+0YXJVqprXWObHMEECVnFqLJbRB9K\n8ufSJ/23nn1m1ARCJlH/9CQ8tEtH6moMEaT260x9prlc/xbAwQt33TlOmsXW\nbnRuerNQUOt8YIa2lfsCwsGhtyL9MjqN+jCRF46/35CBgAnA/NQEpHmlBmbK\noCW1YFXZOXyLU8pWMY5st6ABLRaGmz/X0a4QwZdj5Xa+9G+8GPKAtb+SgAh9\naeRop7KtNi/kTqSv8sJgg9P6dpiQI9VBuDWGZqzBihM9ore3VYUemB/j56g3\nXgwhgKjpLg/YBsxwavTL2djtSNf38p+MuqbgIiNQoytxwq7gwbk702OeYsTv\nFcv7IaCKnvz5Q4tTPw1Hd9YJ1SFWtRkmxcxdXiFR0p2g4RsNQrqqyTUUZkas\nX17yudVAPHH22Y7P1WBi/gvE8o62w5Aoc4j+jbXtW6N5nLlNFm1gfsdVficG\nBPKA\r\n=uqLC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEPGG7p4uS4+DKDyVz656B8CmRj2YCLiI1jOWz8YW8hlAiBobYKwltx5VugOpDBEoGfL3vPozwOk8fJ7PrXNHONfOg=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.7_1608024909400_0.8148465652499823"},"_hasShrinkwrap":false},"6.0.8":{"name":"fork-ts-checker-webpack-plugin","version":"6.0.8","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"8f49d3eb22deece448aad972708d8a26b3a51b9f","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.0.8","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2K6Ozamm6TSL5heFIwPhX5+VsOBiiKf9PzaPFS7kwzrILKX+jlN3DBQc5v/6YYZ2oKJyImg3bY0/uZc7cDbDYQ==","shasum":"437bcc0e4e1f9f56e08e61defa5df92648eef27d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.8.tgz","fileCount":222,"unpackedSize":255901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf35fWCRA9TVsSAnZWagAAEBAP/2PpV6avrkZ3AIob49zM\nRcAwV1DbSsdcAzyIseek3W5ewSR0kL3wZ/SmuQ7nv0ldObPR7ODscwn4Tq/9\nrKlqdn6SGIGKi3xKh9y7J8xyLtJeNf54rFgvLNKt+HKIrqaedM2S2BKiM1ZH\nVTlKNXVat1Kw7OLXnbjKrp1QSCyjNhXXmYVQgXp9565e8qJ23Bc2FfBEbcVL\nzuJpEFrYnE1+XJ4bJtuJ63wD19hceHy8NmJPbyfxmYX91Xq4Kp44u5x5id4J\nlUcuiS4b7yqetssph2ngFbQ2SKZ1EATklcqmH9Ae8tjDPey01+/5/sESe43O\nJiHzQ07UiTL2NFDJq0VuTvRodxzY3cKIp8wP5Eg+qkevlERrLY/JhCkTozt8\n7wgAgrW/Kg2zY2AqHyCBkOnbADnws6EVMQGNT4SYssvQTZ6KpcQjUxHeuYKt\nlQztCZX4koydQAq6GyJ0ZVEklZlF9/halGoHURJ9A2MkE5d6HdL2PMryFnLj\nHKXq/D2dE/ypsutvU1dZgZsNHMPZbogT7L8Ew3J1FIMjS8bTW2+KGVKEFbDH\nOrdlQTOP82/xHPfIdCRovS9lmyxLY6AOlswS0i76VX/VsNUDCV746gCj1Gfy\n3a6iM0Gsx8Q9MDxuZYL5NVMyn57D0apGiz+GKPmClgvwaGhG9Xh5VgsWh90W\nxynU\r\n=GSqA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0cVjcGvcQO60QsutkYu7PouQT/b0TlLvi7lYIV6L+sAIhAI1n1/CKZCXpSpnC+EFWTgBZzdt9+r6MLPDatDpfw4IP"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.0.8_1608488918136_0.16878742402419133"},"_hasShrinkwrap":false},"6.1.0":{"name":"fork-ts-checker-webpack-plugin","version":"6.1.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"d6484ed6359957aa849dfaa782fad1468bbba1b7","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.1.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-xLNufWQ1dfQUdZe48TGQlER/0OkcMnUB6lfbN9Tt13wsYyo+2DwcCbnOaPBo1PoFow/WL8pJPktGIdbJaHxAnw==","shasum":"7581a6ccd7cbbed9ecce3de64fb1f599d7a2990b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.1.0.tgz","fileCount":224,"unpackedSize":258798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+ldSCRA9TVsSAnZWagAAkZEP+gMs+4YiYA9dZh6Tmv+X\nz0DS7rNg7t2ze2yppg+CEmTygxvntpactxwNwi8ncdLDU27NFg+q7AoR4mEg\nIdJPnHPqM17bERKQm5jDXExqLNXqCzJw3vcO1ka4DQZy5zZxHnenUuatPikJ\nbWDzOcG1gBX6TXTY1wxBioLGp1wuR6wZWmr2BaNtCstKzZStaV57PIg9ke8H\n23h9BUPtyzoLc1XLCRibuFadAV5xWcXbKNtS3Zo/08QE0W3j5Njog1IdRB5z\nlUShP1PhE4Ge+JXwRqJN2RhMiPm+iZ44/57qA40gMpK5h2AO+AxiXmjwnyqW\n0oO1ayMoTUVnXsCD5GRwrkvPCijD/mxDiiJMcY2f7RV+bpj5yTvunAgmHsJd\nUZIxHPASgy8OAxsHMUeTyZf6OzQNjAvs7dk9B42RU/PtUUzOj4YS8PxwHEn/\n44+/A8ya3y3kCHZijJ8gF2d6FC68yp7gJvx6D3Vt+MRWQmrnKIFYVDPDqbW1\nbkDavWwD3nTOPiFyX6AB1w3Jr/eCPKfJbKifu76Z9Eem6g9s8dckEvHwDWQu\nQWFokh+CC99GCZbtxqfD1PpBj+xOzY+EdonYIiqoVUYUfybrjqegVKn0LL9I\nkSqTpPoh7zPo03y7Jv950wEt4LNB8psS+7VkcCtnph39UzORQOCga6+t5q/8\nbzcI\r\n=uXpx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIERKTjGOW8a/r02ApyW1aFJnRU+q+SHLUqhnsByRCL0QAiEAvXQ7XCMHY7Nazarjil2XWlmAzj1VNL5YjvaAzMAOLaw="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.1.0_1610241873891_0.6291533216713137"},"_hasShrinkwrap":false},"6.1.1":{"name":"fork-ts-checker-webpack-plugin","version":"6.1.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"6e3881dfbbaeb31e71bf83a86540ed32126e0f3c","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.1.1","_nodeVersion":"12.21.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-H8cjLmIxbnAUgxhPOqCqx1Ji3mVHnhGDnKxORZIkkkSsZLJF2IIEUc/+bywPXcWfKSR9K2zJtknRlreCWwGv0Q==","shasum":"c6c3b6506bfb0c7b645cd5c377e82e670d7d71c9","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.1.1.tgz","fileCount":224,"unpackedSize":258798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQVOnCRA9TVsSAnZWagAAZkMP/jo9KqRVvFsLMaPKXSDS\nz57Kz3p06K6bgbrHAsb3HKJybfcM1hY5sFYAXGgro0OGvFP86mR1+Dx40Pai\nz/zHlJ4CkcQsbjGRcg3bzYezYhsSQ+YyX9Jx6mX9xQK1VIbe4QQdPTRTeZuq\ngU+Bgaby9Q9Nn3FIeeJP/2IassPezxJ/MT6E4RGkkvf9xDf5KoGPgs6+Dun3\nC63WNEIAeQNvSs2SNwm48rtrrVOTUXfpYrrAlUF/+yr7C83reez9uKOuDEmf\nwVTJcRAzXUbGRgM6MGQSS5+BF7iiYEXLw5hziDJjI9WsR5I0QHmmt9RUj5mE\n/oJYI5p2XNKnhIhUEmW2mBFdcgx6qo6mkpXpiVvBghjqjGI+zpwbIlEzAcXz\nrgJR0jYCKD+tvJJdLcqhVNVohNmpYCyGIgARUBsLFRYSP6wXtMQjfQ1gIL2y\nD8xxOFnr0bWVWuA4uLMWiTgtsZwcleivRDL7msZmFJYWUfUpKyOutHb40jvJ\n6WfJQMhl8LkxkbDgEj0iVtSQbjKrB6GxRNFzYUWHGTL9/pPvBxZ8/IanORfL\nna/AeDq/ynvHtEn/oAM0PqPctaB/l3LGgyFO5VehLc5qGLDyLHwA4cTzdscv\n3R6VrG6CabW9gEtzhN+zFS4i6pQ+jYG522mJ8YpC2c1Y7S55x6kvqlvKGD2b\nWJ9L\r\n=5e/z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFdQRIHdCPGd+rEE8U2RWlzb2w+0mTIXsxfqnVnQa/JFAiEAmtxiPprsrLKpGXn0u4lApuaqsxzXpnfKT9NSuO8lgDY="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.1.1_1614893990566_0.2831197417302307"},"_hasShrinkwrap":false},"7.0.0-alpha.1":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"a195dd5b81f536447e3b343309a7ba99853f74ba","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=master&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amaster+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) are in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \nFor example if you set `files: ['./src/index.ts']` in `tsconfig.json`, this plugin will check only `index.ts` for errors. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.{ts,tsx,js,jsx}' // required - same as command `eslint ./src/**/*.{ts,tsx,js,jsx} --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                  | Default value                                                      | Description |\n| ----------------- | --------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`             | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. | \n| `typescript`      | `object` or `boolean` | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`              | `undefined`                                                        | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`              | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object`  | `codeframe`                                                        | Available formatters are `basic` and `codeframe`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. If you set the `files` option, it will be `true` by default. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  origin: 'typescript' | 'eslint';\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude eslint issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { origin: 'eslint', file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.1","_nodeVersion":"12.21.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-MBlGxHcal4G5TfmLlO7pkT/9GOAtf2/+bQwAGtQt8Abs0+uFNZZ+4Vddxt7Ejwq0WHCM0cPsL0Ca8xzuYJ6rPw==","shasum":"fb809b29c0449a3cc8d9d94ac0de580066d0a7ce","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.1.tgz","fileCount":226,"unpackedSize":261852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQeNDCRA9TVsSAnZWagAAHXUQAJUWQCybktoAniqrQkO7\nzfIg1XSMBPCkBgqtFeMJ1gHqJ4qONab3YGzG9vDLXQ00iJWtHj+yxYAzLzTZ\navlZUeJAxTE9+UqvBpQBbCQ2kHjQuuIOooCkGOPUwWS5gCd6lBvHdp8be+ap\nQ9GvYb6kLyw53eexr0/GOt+IIzy4anRIrYb3KNHQuTzTEqcuNbNV7iYC9TGf\nETgDjD4EPUbljNev+SpRc/OrjnYj76YkDce88o+DqhQPznBf0Dpuec241h22\n8hZg8h53EjPRxF+bnVF27vMmifjEs8/LwHFqgM+PPGUS9Nyu+RNTqt/3M2KT\nqtjd8wKo1eiRc94YOivms4M5+wBNwESnYe6cqQx5YkiHvmFubCu8yYUHJR4A\nO+ukAKoG7F5jG21jw1qsHHbUzPKrmN5M/B2VgevHDoRrqeruzBFIbckqn50F\nj77Rp50clX3646zH//eJnfu/0UPVgHVxls+B9II2aU7uDFNEyYz7ufvjx6Gp\nCtb5yM1CybO+ZVRCMe+gy4QFs7ajRfDDrsXvYzbYv0f/tUJ2EZA7jLXpxFdZ\nWWGdO1rSo4EGfTINlKg8R/PQY64Mg5dRjW3IYQn+eVgEpGTCuOeBHM3j/BVO\nyZap5QJXYCfAHXt5m1rAGx8PoEqegAlbXpWvGYSIOkEwmZ42bPH8L7Yxqfd/\nIzoV\r\n=EYmU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxxEGOHPsGk1Ar0llgX7gW5U4Kjubtna4IAGfYtjVztQIgeQzwPAZ1FfBG3f9WnO4eid7Sj8S+E7P1l/ieIUDwgDA="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.1_1614930755063_0.393256694059021"},"_hasShrinkwrap":false},"6.2.0":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"3a2981d985591d384c82ebc66b5399a597f282ad","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.0","_nodeVersion":"12.21.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-DTNbOhq6lRdjYprukX54JMeYJgQ0zMow+R5BMLwWxEX2NAXthIkwnV8DBmsWjwNLSUItKZM4TCCJbtgrtKBu2Q==","shasum":"d13af02e24d1b17f769af6bdf41c1e849e1615cc","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.0.tgz","fileCount":224,"unpackedSize":258983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU2VnCRA9TVsSAnZWagAAvhEP/jeF1wUj0wkwfLbtXdRJ\nLDdeEpWs99WVBAVtrAneCGmjPmWrLeb5JiF9REDdAjAOwMnTjLxsj0PnIXIn\nT1Y8Y36aKHQjmg3GKhpUEte4YatrKLbexBGXshpO50XdUjsBpjiV/BkAn/D9\n9lSolpbDQacMcRVDAgD3ysFB8uL97uaqUvexx5/qm6qiy/Kc7/NdwpcJXJiB\nQEroh3L/RfGW9lWbsmaZX0pkHTlETG7eF4EmXGM5Y1U8EfCjGNnmDidWEAu+\nZnSoph/VESDcn2scocCtSeagDl5bTZsbxD8X1pKEu4vqav2ANh1b89APVUhJ\ncVz4Xtk2BAI5VSKzHjhpnpGQoOeunt8Ta/qzx71Iz8ENfJ7umBEG+t0l1EA6\n9TkeUIpD3vOETyzp9AVVn9E/yR2qrygqfHK3LGDzJVBircYocNauDSLQAocJ\nrmIUo2AahS9poxIUyEFCdGNaOnndaKjJtJ1ehv5BygNPIe9AWvS6QgOddhSk\nvQ9VnNtmXKzAUVW/RC6F78IwIA7UeAooXDCrJol/OZWtefT5xgbHCPxBAtmn\n88MlZBgPmwjVbbXKbZt4KZG2gO/yzg3oBQV7RGNNQBsiNBeaPTPfsV/0eyD2\n0rKmzRTRnopSJ11R4kdORktFtYgYFhiShrZR6NqBiAkf80LNFs4AqPVlL0jG\nJknS\r\n=/Hor\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpfhDoJUWOIq4ZHeSuK64pjaPLYW22xGznyXa4Kxx+0QIgc9ilBbBmXuM5JG6FuUfTn2uu9Y2TwgMyKzydrsqLk5o="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.0_1616078183322_0.66887499462563"},"_hasShrinkwrap":false},"6.2.1":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"baa3a37f18e7764cf7b1e47f4473f7b068d194d5","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.1","_nodeVersion":"12.22.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg==","shasum":"e3a7e64c90e5490a75d43d86d47f02e538c0a13e","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.1.tgz","fileCount":224,"unpackedSize":259605,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcDmaCRA9TVsSAnZWagAA7BIP/3dcVrKDznAOi16LjvIs\niOsaEDVzeoo/MuPZAZ/kNEyk1jvqLEBT5osrjwvKlSWEL1yt8EmbRcglEwk0\n0LGbllY3/6rpkOmvvGvofUa53skvxmXVWxFUwSnQsFf2gWMSscGjF4DJfrZO\n9rfrTXFEssQGXtaMQKSAmrbRp+259bss2Bw+iSz+LNRJlRQxFkk+o6LI8yDv\nMHEulfDYtJ6mBfDU+ks3ANL+YTat+Vo1B/Fkl4J7F/9Cgdkba+DTIHPQHcCo\nYRYV09fr/8VyLk6h3fjNpoffT9ZzDQHMpCViJ5mgnkYFPlkOic4Ji/Hy/vWq\nySFYhf6Zbme0Sgb3PpDw2BZZZWf4HgcadGKsyNOrhG6S7rho9sHf+FR8K4K7\n+NoHXGf/35r4DzQQtIbBO7UBM93a+a6Y4ZbZ2XnwRBpJDEz/90OCiSuEmByE\nADlvs6PIlwlmreqY8SPYBC9olFToIDulIbDARz8LZ+XriQkQdz3WFvqQz71M\nvT3Ia09uFmvOneTCY9dhZ7KSoL/cUPujp5KlxlbGfcLVxf7aa/8Sx+yjSr7l\nxVWjyJ3cY1R8rsrlR6JZlKkcozfUN+vArvo98qvx3w7WLKsn+6tPNQQlz9AW\nJftiCncugPmo+wjBuN0GavOS9hnSkcG4mMBxUdbhf6Htp+d2+2VsrtsFX2rU\niq2a\r\n=tBPh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaD5mwrKEYpl295nC7evWFOGyvjbyfNjqDQyTg1kppRQIgRquzY7MmG77JnWB2J5zKOkD0m1gfLSa96UegEIhvOws="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.1_1617967513341_0.8816292626361235"},"_hasShrinkwrap":false},"6.2.2":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"0b0703a4a5970a35b2c3a25f49934d8d2e543ef7","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.2","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ZLTZn54JkoMtOakPY8kN76rwfWn0vOjKIAQEHWg1kcz4tzRfTdWrPdcnLQr25IMEKyCpI+fw013F7MuX2qf07g==","shasum":"dc8f40c0f9304d64b69dbbc1c9490e74f8b83292","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.2.tgz","fileCount":224,"unpackedSize":259802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggIS+CRA9TVsSAnZWagAAnZEP/0ve95rBA4VdVV1iOsJo\nm4RmdbYYjy6WBY7LZ5fs8v7okdjWafv82dScHFFNAjA9PY6Eva9Bbc7AMlCp\nlrxMo3zGgqjN7x08ipl6R9bPyhHCTGqSpquZ0SM/R1tTgLOa3zi9Xa4VClgZ\nxCa/dpKLBBAzbwRTBZnaz00k57DWGv7YxnUvKxc5rvtFhOU6RZtFLmijP7W5\nUWsUCd53KkLGTkQFOY4JkbqxgMBURsn2xrp1irkpeODy6IME27NvSlqwEaEL\nRVc4Zs2Z6mZNcIarkcUVCR/yGEAu18TdF0vG/96kh2sw+FSyKW8GquGWmkp+\nWQVzZlI38PfyenhF2i+7XV46UhASknc3tsX/NxJDvmjY13BLBsjAXUiLUNkL\nERh52HcFykAHUQFnTAph9Hv+iBb/scmkcx6fngqIvd4x+Uc5k3AIJTPLyh12\ng/9eZ8MPq/7ZI1yyeC5s0Qoy5tcTXVTpDsoUC55A42LBx4JIkAXru5LewE9k\nuweqPvD7RhBO7Sh+9xnSfAvGvdbIs0eUV5Mb/DZ/EdO7Fvq1IsKfSHNIJB+m\nTSh/0HSwejKg8hMHMThmTskmlutgH6K/cLYfhCHfPJ52U0ebTOhV6RSzkNtd\nKt7/TYmZDyRtjkaiKeuYSOXtvoDLMfZkKZhwSSLQhFgRUyb3+KXxNyvhIhq2\nmGyp\r\n=Z6LE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAZOXn4OaGvnVyQMju7KK6qP+bCgYjlxF7fDpl5je7r6AiBJLBTSqnJ7pxACYLZiLQlJbZdtFqPB9pBg46S4K88ayA=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.2_1619035326308_0.7623936186386113"},"_hasShrinkwrap":false},"6.2.3":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"b38cbcb5df722df9a644010c14337312fb44a6d9","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.3","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+ZaJMlUBm1okIN+jChaVZ+RkB/bUG02U+Bn3CkT6nz5afhy5Yy/2bvODXqJpa+dDMERUyTVd/K5Pl08OzPdGrQ==","shasum":"dfd84d8b04f6091ad0d4ac7c752fb02f3ba438ea","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.3.tgz","fileCount":224,"unpackedSize":260086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggI8RCRA9TVsSAnZWagAA59sQAIfw0VncEzFtDRvNQkrt\npO/BKWJ1GIEFcKmjpoAOsVP63HKTLONpUFmQyJ6uNaj2/PlhO/wLGQXPqzz9\nEp4KHD5kRkhbkOlz14WVDn+0PFGgYLyh7Crci+lOFniASbkcUzs1yvBK2r4s\nmCYcOCCaYaaobRsDsHb3HZRMrKdGlSweeF+RdpBKKeDerMvEwMa+HfdBDtCC\n1hx9qyM/W4p257dzTKcpg+Oiwx9zgwEIFDMWwRZlEIF+NuaEE6+dT+JSE4z7\nVcvCO3LAtBEN/1SmigUC3NQgYGOLO10u95kcqyzJzBxeTKBhyApk6NP/Eqln\nX6cZCLMhif32TF80PULCcogyiMmy7OO1oBc8u+RuD7sSRLrzlSEMqjm/z4Ae\n12a3YnaIqN9UYdnU5KqYpfHKdoSaKXdgmaJYwnfJfP6F+4gaAhHoHO4Od3cT\nzOfgdd6U/1pMuwm/bjq2PYGaJ8XFfrfPqn2roy87OXPgOUzsK+wAO5FEbPSF\nHprjUh/hv2aWSLm1bsw8BNhW8yfp50spaXPI3kTbpHABVz1KwVuOljj+JLa6\nSbnpXBDAyyYabzvTHe9cp3UwRBgpdoj0v4Fg3SgnpvU3RhQdSn3dLsxjfxU4\nsyQ1SZYBxLgBv+43s658qWzlw4oRqelrsekdk8oD3H67bptPEVQ9ugdZM7Jc\niQ7z\r\n=NeJx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDzxgJGsW3RMszY12TdAwg6Vi7szppp8sTZy+pEyBwj4AiEA9k829c7APu8hBIBXL5EgYHYnwrSB7Zm0IpH4fUy8Z9o="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.3_1619037968381_0.9019018711436857"},"_hasShrinkwrap":false},"6.2.4":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.4","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"5b7c333d91f3eed9fb134ba9b9ed10f52115e7f6","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.4","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-M0+lELATBqzf+tubq9PcRfJm4/wW172P7cAoCs1OpgfRICtEuJ/JUMuUm0H9JAZ57lLaN1gj38uxNktDhscYhA==","shasum":"f46dc0700820476f260451518b9d545c42277aff","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.4.tgz","fileCount":224,"unpackedSize":259963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggJRmCRA9TVsSAnZWagAA7zAP/1jmmsLCnLJP60eG4ZZp\nD1eezXhsXrpOTNtN+pXBw3fbnb84qtxJmdqsEuewQ8Ds1gztOqyH6aax1c4d\nlEm1RB3NeInuwykn1vlpFQU9foNbQgYfYz8gmzQ3nCkj+VYtTg5H80oClwUh\nOs9dhswU8MokrvojmntM6IOE0UInEMfdi4zK9jLxt4hKWZ5NEcdQODLaE31a\nuRp3AvF6uCNBW1MKJUiLVxifEJHue+8tWRQMdgn2Y0E74YNcMTHuhtUq0ozd\n4i3OcWkNwCaDQQmvFg9ZiVlgLGi7bEU7et6aLc5AW9B3UnYASafxRc5/CuJ6\nXVW57g32oPobGrXOlqCLIOX0ZXOqlOgqHLuQ7WONXsqCZIhVzUZ7KvSh7pPS\n6UP0KbYif/+MyX771+Zi7gZU5pWfnOX/1pMQvyHm3R5VpOCYQ75nRCldv/m1\nKXlcYm7kEPY9RExmJRHIRK47eWWbyjx7C9OyW7iYy6TMNGxUsWap1ouLZzDB\ndK4EQYcv7y65GkFPnSL4/B5DSITLPwo+59lL+IviBe95KdJk8BWwjAGxtbo8\nGcVQiqsXtGwKyl0MHTX9gLwHe+L47NEHRz+mJs60rOPHd8k4ALBBFavuehGv\nJhFPt/OFpVt4yGOP3JrXMSUc6yX65B4KZI7utjaVCUKqGSytkFVYAK7PHe2R\n9rVC\r\n=Q7zO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHSjUSdf6zViOCuZKWJYSyRoisYyMVGsXUttCs+MRD1wIhANt9IbfgS6e45WI6mV8Ow7+5H/IPS5JHvXENWUOLpTUI"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.4_1619039333593_0.5199013897231013"},"_hasShrinkwrap":false},"6.2.5":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.5","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"13c276f03262066abe11c7eec95a5001d497ee17","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.5","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-EqHkTmxOotb5WJEc8kjzJh8IRuRUpHxtBh+jGyOHJcEwwZzqTmlMNAJsVF3tvALohi9yJzV8C1j215DyK8Ta8w==","shasum":"09e81ad57ed862c9dd093298550e7f6966ab1a2f","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.5.tgz","fileCount":224,"unpackedSize":260199,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghViWCRA9TVsSAnZWagAA6UsP/0Xa3zD+kZSQMY63Tr9F\ntk6APpOF/kdhlgrPoAJZXNOvPs5WhbjE61xAhLl33KJW5dMdWRQDhNT7Qj4s\naxQsN+0TXTqGnf6JVkk5DvJbsiiv7B3jbeHXsyMD4YEbp3DSPkFC4Mdc2Xxu\ncZDYu8cji1hP6G16zI80LjxKh+Zdixw2UQDPz7rXXiebVgpr1Ps8LxTjmFxq\nnIfq5AKHPVyT1GJNxC2Isx6Y+GS4c/7JC76inR1XDLPHANSmjcgAjZ0SOlEX\nSOsSCwTcWNM+cSUgARhw5fQd0sl2gD2wJuDWrv8sd7jHQ8KhHn/dF//sL9rX\n/ZVWKysYfSBjLjwuBpSSFJEQEgROy2UbHBx7WTTM8okIE2DQ8fXFVgmBUlnc\nFkDtsI1xCid4wBrwCJOPgG0NzEPYi6YeUBhJYaUlBYbvDoTf3HbH8v2GTPGF\nSztiDMD58oG8fTPX8B7W1GmJeNWPbGZ8bmT4O3OhcGMlbJFE1zo7zkW/o46G\nQ7WFOrlv9jYtnNhjqY3SRYXFpz0m1aHnc0WqZOyqrJKbHF57pgGyUGL71Hnd\nQZUPv0RYbLZ1CJKl3/oRGbg4W6uz8yd3r9gO3mQKssvHnT/VXSp5xcZjyJBU\nFNsUzXElFuAMN3q7RE5qGTGrYNdXZgrdAzx1KDx+68gzbK8Vim1u1gPImL6W\n2GF/\r\n=cbHQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGRygDjAIG38cNhfsLwiImiKJ95bzFQJXMhfwIcIICneAiBVZ8FmowGmbHmYfktxil3/jdD8UzZvkHFPK6GiVPBvWw=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.5_1619351701720_0.7111711382258481"},"_hasShrinkwrap":false},"6.2.6":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.6","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"58ef473f75cf3b9a79515ccaec9ce8bcd10af7ff","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.6","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-f/oF2BFFPKEWQ3wgfq4bWALSDm7+f21shVONplo1xHKs1IdMfdmDa/aREgEurkIyrsyMFed42W7NVp4mh4DXzg==","shasum":"cd105c9064d05ad9b518fc3cc9906389daa1a7ec","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.6.tgz","fileCount":224,"unpackedSize":262016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkF+9CRA9TVsSAnZWagAAhdsP/RIEsQLGs7IqT5p64Rbw\nsccb0fX1h2PFJ0BNyDrkn40b6snjGR24pnB9YE/POcfkWImWF17YY7rAuev2\nzjgzh9pNfsBRggDKlmVQHDxUuxEMp3RBnDjKVMP1i0BdOTzAfeODk30XOcgT\n79J2nQiSlIeStpPa77DVbjd9f0xQ+ZurkLhJlekfjQhAcR3Sm9i4TEhn/Yl3\nfP1jAXiiMpIt75pn1gidYH1i2N4QBB0dmL78qqwMMZbq3NrYUloIKk1EjjtM\nnEMQricF2nlKmI1dgOv0tz8KavWaUtXLxnRSZG4urzgL8Y/Xxqkcg4Vq8OKz\nknW8TGE7U2YQv2zbLKtKKRQcSbTJ1vZP6VdwoCEQLUdiZ6GPnSEJlMOFq2d6\ndMluVYabg/PftBhyFVg7pIE2t32yXD1IWg4P1FIxPpfIzFp+bbUMuI1gupUX\nlmczpFN/8TiSonsutou4RGMu6YTshRiZjGuwPW+7rM7Kom1hX3MhqkAdWJrY\nLP8NtEAVtc3a0JksL1p8FGC62+HS1Da7x/3vmPAFkW+sKnpA93gSWh82tirF\nxOFw+NmvqyJDTUirMF1m/BXEcL5ehbi77J1AqVMBmirUvQ+3nCZdHZUQeRX3\nYGACGx52zLrEHXPxsZ5f5HC7Gcn3Cs+eQWXQZAejRAwPE4rjOF1vNphClnf4\nLWZc\r\n=G+BN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICVOZEix1G2dhh6V5lHMXfNpMGrd/v4/UKY475L66YkfAiAX0lHuKro3qnWlW4BoE4WyzqTT8l3v+iLJ8Rzeu+Slqw=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.6_1620074428613_0.14131085856166603"},"_hasShrinkwrap":false},"7.0.0-alpha.2":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"438a1395f106fb73b7f5af344e4ed6ef7e98b982","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) are in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.{ts,tsx,js,jsx}' // required - same as command `eslint ./src/**/*.{ts,tsx,js,jsx} --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`                           | `undefined`                                                        | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. If you set the `files` option, it will be `true` by default. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  origin: 'typescript' | 'eslint';\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude eslint issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { origin: 'eslint', file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.2","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-zK9ybjdkTDX/E3fnLlLKkGnAMyA45nSYmCmDOSsm1MybDZpXEwSVzYlWgAmCNHZQ0nug9oFJ0UtiqgCSGO1JCg==","shasum":"1c44d92413e4b25ba7331b8b25788a77cc032dec","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.2.tgz","fileCount":226,"unpackedSize":265070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglFt7CRA9TVsSAnZWagAA5zwQAKBSJmDmLW7xJphYybvC\ncL2JUqZOJE3DplxFm4f37aNoV48lciQfxttorKvx6m/iMwkIXd7c/0WrHT5W\nWTBFckHPcErXUoUwlxpRBalCg7+2JRsVwHemfGtnWbn4hoW7pQL4JZR8A4/b\nxeo/o4PEM1wvGLPWzy4nLyMeC2PU8+2IwWYvh4JXjFsjtdNx7/vKjgbBLpgc\nKyyJnuGsC9TlDIBZ1DuanDT2uV+ovcNBOkW6rTRNakTKvKflRT/uxys7oc1u\nYPIo6/uHINzgXKxEwqh+4IeM/ut1xCe1kDhmXUOW7puH+J/uwEigj2ZT+ng6\nTMOipI1K6tOO/2fm2Gcsh+7XdsnMnLksR2y1r4pzFrAKxlFW4iVFK4n8LaK1\nwfytWWN8OjNdvX683RWU6jrxbCFNRivAIwDkaUyeZcpU19smIa2rK/zrHLKV\nM36efDvPcwoLaaHKa1tLTmVeqsJCKq6Lh4rQDRIMGKczNKW6kzB4AdMQavNk\nz6SjoC7bKSvODIFhWefhKtJwSF6fEJgiC5VKvNHKvWSLZbkEjxMFxDRlJJYU\nG/STROIYJZGyhy32KdoSVFPZ+6EwRFBCxgkBdRP0ac2NFsgyBtpe4m9gJZH+\n/krcpgFv+9ASGJPbbFlq1RzBxXn+K09s0ye2PrKW0dxDRkzf5irbu0Ryid6+\n1ALB\r\n=c8H6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHbBmHSfAJPohAzDdHLLszaU9qOWhVV8VI52wmL+VHZAIgUFGXTnnu5rLE5TxlK+m6ez/1fybpY1Pxc8TywASWyFg="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.2_1620335482986_0.42765776080917695"},"_hasShrinkwrap":false},"6.2.7":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.7","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"6fccb20c45dbd24b4ad90c13dd92386f436e2477","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.7","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uGl/x5aiWbBtKT3QtXYuuK/gY1BfN0/RNM/BZvu2o2QdPE7FemyNIxVAgUUbPTm4l90MwWStfVVb7Bu5nyHglg==","shasum":"2787fb8e36e0e7d3030f189f9ef84d02f7a07386","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.7.tgz","fileCount":224,"unpackedSize":262062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmvDHCRA9TVsSAnZWagAAeWQP/ApATf1J5SiOd4GpJqV3\newEyA5RaxWB4zaBcKOmmonVSrAB83uVn14oEPClypF7Ro8GKxGKHnKWTE+nJ\nsuBGYZmUGYm+v8xggEqwqTZ2N80WgAqjwnzTBgI+YhlTNS75KkYWd5EUIYB2\nDaknmpO+bFGrVJSHavg7kvBXrGppoeZJxcku2YAOKN3cz3k+TWCllimby8P8\nhpcdcRBSy/Ft8QJ9MeZg61VumfDbdaRLV+OJBeFBIJa4PcmLc2oMaOC1yfAl\nAVWLHeLjIPyN8cHLGBZFsww17cvi/hCFBu9uL0mezo3E1v9ebdLOuCu91io/\nQkFq+/LUqgfIWhT/sEP5Z6gw8SA+ZGS4xp/0cvntxbDIfCcjOd0UGzl25Gqp\nmR49EmLmrUmUIbGzCvPirevLBLOR4kjdDe1zveaJ7Nv9Kt9vtid9a6qLDUU0\n6D4FKQ6qvPJH9T3ZpnwFjJR5GElBSFyJGpJgOCBpViD5W7T2+SfFe9szYcZI\nNBNMpyN7URbGDwIJ5MoQYq4k6EY3rPKo9yI3WQSjNk9m+8N5cVQVuVdU1psc\nSj9Ya0zYav80gme9rIGmp5miIaZ/Bp40b5xwRA66Y32acn+hvTJeeB9vcbBj\nrOJTHorihK2XNUzK6v/i/8SJB8dcrNQFRjee50kk5WDXay39uHk17BkqThfX\n3YaW\r\n=LToK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcODPC9Jhf9g3jWAomspyPnliEq3wy8tZurnd/tQoxnAIhAMJqmfN+4cNw575o5JisAeq5Ii2TGQ1avFuljqnM0Ud2"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.7_1620766918760_0.6862701056367551"},"_hasShrinkwrap":false},"7.0.0-alpha.3":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"98e4f39ce11ccdbbc0b0dc0511ad2d862f0724b7","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 12**, **Webpack 5**, **TypeScript 3.6**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.3","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-JZw3IGPlkOhUWn36UOy2T09i3YXA3cZjHPkKt5HiTsUT8s2QFzNlV7JPpYB0CQKzMR2xAvBb91UOfhRkd+MHPQ==","shasum":"83d324b7662741fbb21766c75775ed9f39e92501","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.3.tgz","fileCount":210,"unpackedSize":245587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm3PFCRA9TVsSAnZWagAAdZsP/0JzA4iaFDgD+NIwQwJ0\na//0284MBo7syubf0jzM7qIcyqXTX1PZg7X6kbQ+V5BauW5C5IK/DDhXgXSW\nbtrqXy+skv4pmpmvW5vmrzYbLAwxnU7zmXjqwPtrIDGcbYOEejyDpKbjK7cv\nUq6rDAKQaqqiChks3z/+M39Fy9EhK+GItwa1uch33E2R+96ARyfOTiCk33fB\nE4vYKr2/oC/DNvMSU9D1JrDGGxwWDJdw0SQsaRIPbU+Tbn5snpCmGft2zw/M\n0zP1809TRAYtaYzqfL7n+SUBUWmULY+rqCN/vxtWuhNJ2bqy0huQJqmaKHGp\nhN1lN8bgRhF1t2qr1Pvv2oggOOP40Oug2wuCucsOkBAFwUK/nCFu0QiwWDrP\nj2429JTZquSRoL7qwWgwcQ1Ut/9/ydPPJZdBfRhFLuXRBlLzLmbehkz070Ky\nN8U4hxfNopqCLI2vSacjb/o1vvTSXorjG5nRUWFYZfWYhqigm5KfQaK/XPG3\nOAE92RiTwStSJF5UcKAxh2ne1xrjFPt1DIN3QdwryNqKvWKT8o+8Xm2v4NFG\nEWZk/3ZEhIo+KQxeUzVo1ILN83X+QKV1CrglSadLesMYHHl4DJS3+P51Xfj0\nMolXgS3jbcXU5La+g7vIXwk/B98WU/BVBxHZ60Ady80Yp7dwtlewEZy3LfpC\nYz3Q\r\n=RLv9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC87cEZK/ilxC+oeyK8BsnMb1fKMJVnWVmfk/ZCkt2KqQIhAJXEjmlHUbTzGF5/z9Z3123ADpg7q3JXhQQFU40/WMAl"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.3_1620800452469_0.7073169030367465"},"_hasShrinkwrap":false},"6.2.8":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.8","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"f83ac29a7ab0ead5e42b48f2211965f3bd4c7e7a","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.8","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-KduEntkrnDejqZ6zw8+pRpsENPtBNP9J92bJIFXBi96tySa3csyZiVIyqKwdN3KqpVWwtQIcu3j91DDbvuWB4A==","shasum":"1728ea5a7790d5bdcebf2bde93861dc9c16bc3bb","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.8.tgz","fileCount":224,"unpackedSize":262114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnZHmCRA9TVsSAnZWagAA1c4QAKUaLL/P/8Kd+3BnNykY\nhPd+AMsX4zZYGbZGA7mE3qwrU4rnofy78g+s8Qa32UqSKtYRj146N9pSnr+X\ns5MMt/mg3PRinuWnNuIumTkC5PrloPKvz3uDE0LBxF4hStgeGSTfqZeGf8+r\n+Ca8mV2k3lPTZVOMzwOeIAD8eNtzlK7W5X0RXQFee5ZyPkr8S5hcsgF+V6eD\nxKjHbM3xbcCFPYNwoRngd/obsqBGDzhxXO5nylL3VA9enlRUomsveOuaEJqf\n/RY11eiXfNPnjlntYT1t+/hekJAKtehEPerYBx+IGZk9DKUrz4jvlfh154ND\nW8nY9UaC1DTC6M5D8w55nXNe6i2WniyagCK7VOqwk4X5Pjyb2H/hBlioOG9N\nkiInQHs2ZZPF3ATa65z2L/Y41YQm9fuF2b2FICxbJ82knKrTKCLCP7HZfymY\nEj4SWD3y1beqAX/DE2RUc22/PBwJfz825Rd0jfFgwAzyHxEngX3ZHD3RZ4Xi\nIRVWlU9rvyesfB/GyKaeHfWlhTjA3bgaEDrx1s1Oya0lJleCyBMYwMpvauNO\n8b+8tUz6Hma+ltB60HrRpfTAW+EwO57QZgU5997iUuJOSo17ZlvvEACIynUK\nYBR63PljFBllY+5sDIC3UAXM+g0JhUx3wcNeiQiNjuSKejY0O8t254CdNbxn\nKOdm\r\n=Dh/o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWje5Ylq1skfXnmd98RiOWK8/tm0/RHLlqQ2iQLgi8JQIhAKCTTqaRHTBM2DIJehXxjX0fxSr22LTUkcmGVmlvuRP9"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.8_1620939238110_0.7247031305519718"},"_hasShrinkwrap":false},"6.2.9":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.9","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"c297d58a64270271a188c4a58440094c1841e937","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.9","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-D/KSb/2VeiOy3odDerrC16WiZ1t5TLwiFfZmuDeTXcf3Km79M+f8nTCIdKkokxybybrgMcStbx0QpGaseePxnA==","shasum":"08f51b685a48b09ab3ec079a8501762422443120","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.9.tgz","fileCount":224,"unpackedSize":262132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnkmyCRA9TVsSAnZWagAAvbAQAIPdest8tcPycPLBOu4/\nM2ZIoIEboGFx9I3PJrwlVUoyeC5y7bs1KEUbhzDa1aGcjhKzbZjhtJHXXUiZ\nd5HmzG9xO7vH0OK30QsiE3xxMLzWG0VPsRahOiOXq2GG5PyEq115PMCZYzSR\nvcHhdbZfcGc1I4+nWi8/5lGcCZO1bq7XU47LQWxLuJTUBbQ7T38NPYcGlkLO\nqGKLs/YYC1yqVawylp1SYP32Q3m4uXlkjqijnXx0jIwrA2Fya8vkZlLszz+k\nxoxaxynoDYrg7E3QhzBDZGb1AOitfdXt1LALvTXLOKw3NscymPPGtC8rMGDS\nTfEvH5LGqkctyV5Jw9il0wT8y7XSjC0v7Ap5eHzpgtTaE+G+wwiIRU40fMCr\ncqIoWbOI8tNCgYamInY9M7UxLRmnQSOGTqtQg50jwOHW6ESvs1PiQytpzlzM\n6l4edwZ+YxR3MtmSWslMMPdGfvF5qHbn262K6VA9E1GQvb8E06RKwMJoIhSX\nd+00udkW/m4cHPSg5Cni6aO/Yk/mwXNXOIjOMpHJ0XD+pznNdqekHAD/wVUB\npXulDAdBtGeKK5Vr/4KGvSHy0RpL/QniMZXX1ZBxKmoqJsbUZ4DMtUWcdOg5\nA3JxXiSkxsAqDgeOLuDcEFw2YdwOu+VGORqXh3OzDWpl0ksdvPNJOc6W6t/4\nNycH\r\n=JCaw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPgOZGb79+fz4stgZyGxhVsMjto9XOTOYpaP1MwQvGVQIhAL9/8J8KJsAKsGFjk2FaHFHd+pgcCi1CiZDglue5eyl5"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.9_1620986289469_0.7545418096405103"},"_hasShrinkwrap":false},"6.2.10":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.10","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"05cf95791f0158bed1547b04ed80af23fd3017b4","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.10","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HveFCHWSH2WlYU1tU3PkrupvW8lNFMTfH3Jk0TfC2mtktE9ibHGcifhCsCFvj+kqlDfNIlwmNLiNqR9jnSA7OQ==","shasum":"800ab1fa523c76011a3413bc4e7815e45b63e826","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.10.tgz","fileCount":226,"unpackedSize":268990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpCnnCRA9TVsSAnZWagAAwEgP/iFr1NnufeemZ3FdYG3d\nTT6LiRl6t84zvscEdyG1XNwKnNxjomAXUfNqLmerIJ5Bs0pQ05myNkXUf04e\nofKr6vidBfeHhW/CBFQLm0x3ZIMvORF2sVtMJC51tiW1t49Ba9q9gBY9PAjy\nQgestz3g2jRYmaD2BYooTMYLv0iy8Keg9CAk434CmgHy9W1Vm7Ax6hp2towX\nG6v2MYUDtJgFNwZyV4eAsokpXAMfckVKGxlRXa1U/h4QFy1pBxMk/+92SiE7\ndECVZKk1H52EHkM/l2MR7wIQBqXfRaRy7aqi81LI5O02c2mYSY77YZ4Q3iQg\nnnaoZPKuWUwAPzMaK04PtG5eRwRjBBr0Mric/3h0CrcS22pgJvOToakrtAKu\nhhcIdggKLZ2bZSFrL/uPw4rT/xXaIum051d75APQ9uRX+jVTssbLhZPReI4t\nKJB8I+DPt8IuyfawzBi1TkcAY6T5k2AC71ovCvX58by89GSDOKKcP4ujUmPX\nKtX24YtIzJAIVNj8tJ2beeGN1gTzHTzIiRtl5CpAFEes1cJFjMiD1V+1vKIb\nkYOheTIkEAc/5Hugb7UTzobGmix8UgMuuc9B6FMWDuJvy1CPlQJcnEKkk4ZR\njz/lqzOWLUsf+xbudfo0bHxtlrAHM7fqlyPZKEXa2xrL5PrpCNcndywaJ5+d\nEVSP\r\n=nIvH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdcONW/GdrjZihHG4NFxBPCdQrTwBfxM79q6T6HoCKNAIhALMvBvvajluOCDVCC0zL0sarxKi6ciFF1UfsSbPpqyJ9"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.10_1621371367206_0.3061342429843217"},"_hasShrinkwrap":false},"6.2.11":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.11","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"0e682bba2d9d37d7ee3c6c9daf11328d81784637","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.11","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kE1iaY8wQZItKV9tcsUeNrEPV6hdy+db8CaFwJPdWijsjB8bMueRxk9D6TXShuyutWhiXrzY/pnihaIUpNJb1w==","shasum":"bac17852e3cc1cd952d1242978fec68b3eaa53f3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.11.tgz","fileCount":226,"unpackedSize":269169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzZkoCRA9TVsSAnZWagAAxRgQAJmF6teF0JergVNXBZbU\nogf4S/TEHXX2Pyswhxwc5fF5/9Uzbnaq8B5siHxZEw3xbCZmMU1gEkr9Ts3P\nj8lpiqXeHfN3I/yivuwtYL2wPqugq+zNElIU9LNSkn0kpqbg25b/luNl+8YZ\nUXFEkwB8GfCzjS/w1wkes3SS654vJleGLadbiOyt3ROMKZf2ivVDATwhF+Zp\n4BKAXGt+xxLPlOfDM6qQ95aBJb+7mHSdTh4zcK2P1gd+J8P7SG0iD9GLSot2\n02KepgfT/wCVGEAZvsOVH+zFqtKpUz6tWwL+Bpe0VQiCpnkoYn5z/BOLlh5c\nFU5WRtk5+voYvMYLXNIsm9ztOCIiFPh5CTOTchdQ9PVjKlPD+XpLvZewn7C7\nf3M5y2/Rk60B2cdkJXg2inAGz3kH5taUY5ecf8J1ay3Lr4JDlu41rtdO//vB\n6FaNgd8WujgV/+n0vT83frC/I8Akp6Mzy6s8xt0Zg8UMUOgEtQ9cWPws59r+\nRi4B6njszZY/EelmDGQJIcz3egzRu9f85hSkS9+fwcc5uVRKj/bN0F9C3CLP\nqdfWQFrLhtUsZs8D7IynzDXHJBDtZGZnadAccNxSvLlsEyqryPagF66QoL4x\nBBVOeLHSDUD//Wyn2BNAOS5hx+U6oIUgTP+pE7lRVQjhZfxx9Xx8AurX5MK4\nogQz\r\n=uemk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgD59Jo7jH/VZVgK+IQeG39hgLNCk7ZitLO6Yhkgnd4wIhAMWsLMNIkUSVxCP+bCuCbrE9SqC7cbzUYwicLgCxL+SM"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.11_1624086824312_0.684673801036312"},"_hasShrinkwrap":false},"6.2.12":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.12","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"8d8125c94d40d16dc2cc5182416d73d15d336392","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.12","_nodeVersion":"12.22.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-BzXGIfM47q1WFwXsNLl22dQVMFwSBgldL07lvqRJFxgrhT76QQ3nri5PX01Rxfa2RYvv/hqACULO8K5gT8fFuA==","shasum":"b715297e39a77f31242d01a135a88d18c10d82ea","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.12.tgz","fileCount":226,"unpackedSize":270099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzahFCRA9TVsSAnZWagAAru0QAJ0qInlEC6aimkP5+yjU\n4GEXpRhcK8kJAgbKOcr6sJJQtciTWT3cIiE491SV2F/RA4yve732DT3WCQat\nMWi0DSdWWCSbw9/d7Z3/Ebl1u5QPa+Rv5zyaQr+kbNabcQoUZubRl84YdOWt\nuBLSuNNbNZkFxr+Kbtd7xBq1JLOHQJunCcyKwdzBHzX4QDgcOl6sqNnSNyuw\nGxKf7dbd8iVw7Z5kB5aH44BuqgtPlZDPqMdf3ZSFz22/cP4ihpPh1ea22B78\n5gIjdPR8UE8tWJ7zlu6pkXd6tlaXj4qUtRxeDbDNlmtO5tbus/FuokbK5ztQ\ndvmKdGT+EIV/Zy6gMQC7pIlebuySuviYiJnictohk2aBR2YffdVIgB7qoZja\n5ZwN8M8T33m3fAyAGwrWhxLzysx1Y+FRrY6XYxnxGn690OChm4Ra5fqokUkU\nGwriMAl7aTMAfpnVYT1DYeOk6i2hAxv/QFhiJG4Wm+vurbQ9WUxMWLFDAYaW\nW8rxcsWtGCZBUfhlYTJTPELcM0wCiI8/h4LbHsMvg6vqD7oJRxo5AhxwgOl4\ncJm40GHiYCoqvHosWhUNvtkJ3j9ExIXlKcOashd+kULF7bn0Pnq4a4E2FsNe\ncEfPXG1Z5WkJCKgyQbVZ9iWEKLlVfvLjiFx5D6X3eTZwOyfF16lBuN2HoMhJ\nKbwt\r\n=ZjBg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE9V2E88MY81avbUQd/6Mwtat47/Km7h8VTWbnfgFH/PAiEA8d0cK3lSrMfD4KvN6yDgvOOt2AYWCFSi1HvnbPcF7ls="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.12_1624090692836_0.9602840733644198"},"_hasShrinkwrap":false},"6.2.13":{"name":"fork-ts-checker-webpack-plugin","version":"6.2.13","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"d660ad1028e7c1f8bf39bab787588365d3245131","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.2.13","_nodeVersion":"12.22.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+j/DfwevcZeSXn5WOv32c/shbcbhcKi88asC2A4TDPtURS3MW/qXiVucGiL1PXdt9PCGB88R3BfaSWZ1C/XGHA==","shasum":"ee90a21c36d794eca481991a4233bbed6dc703d5","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.13.tgz","fileCount":226,"unpackedSize":269875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+0uWCRA9TVsSAnZWagAAHnYP/2T4CfRF8jB080LqNfT7\nKzZ5YfGnSgdnUX09uETjwWy3c8Bw2L4Uw7Egtug1pn1sy6pqIx8imGO2apGr\nVPRFFuAeN3PhXOBFkEbnBriZMlOASC0tEmngmQ7TDc4Jh7tThEzdPRRZOb4a\nS3LvrgrU5SMZEgycE1Q8BCbvezXT/H7XTiBg0jxESej5a/w/KrDr515qohp2\nT9tnDhs31saYmlSfX8k8FgvxEYRL1QcBI0EJl2t2rvh1MbJHtTlbPi3q2Q9B\n3zcHrwxdj/tCP0SI6Sh0lfIZ3q+g/wR2Zdd2EM6MCN7orOk+AoKkQnof4HF3\n4mbcIcsI/1Xz3zWvR/9pSqNVz8/Ro6aNeZqmqC82wn9jZuPN25LoVIuG7O50\nAyi3S6U5kR1CP9Y+zLVcyVJ3T5assPpvvfq1qdXUpL0sV0KS8pr2hdbz76Et\neJX9sT9S3ApK9oX6Wg13LVDPIIneKyUG8ehCMAnJCNf/ZSkGgFA0xHPq+jxk\nq8ZrnEVrqYkTafKIQukSqNZAXZJCs9E1++ZhnVWbrpEdUEuMlqG3EJf44iYP\n5/vgt7uVcQZewAdj/t5sq5rLOagQySv4KyKX3duRKN4jBprGaYDFvYwYjGIg\n9Rc1NcipWXxMXh1wHvZsx0MxQTw+NuvkzB5Y3Qfw+MoTqN5wusOddqtpBdnh\njhrc\r\n=NddJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYFcvuMP8D/t6w5zvPfS0RW6BV8G1smKBFjbbYlzPqoQIhAPhsFYFs6dE4Zk8eXK/mqRWRkS6TO4hcOqRlcfgJ3puc"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.2.13_1627081621809_0.35404376672560844"},"_hasShrinkwrap":false},"6.3.0":{"name":"fork-ts-checker-webpack-plugin","version":"6.3.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"4cb7e3917cb9b55ee577aed664f8cb6d6f1f3548","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.3.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6Kzb8HwIYd9ikoNzLtMNxOmrUlcV3DAKchUPT6ToP7cdJ3fTvIctlQwaNgJlv+PElK20NIMj6qpWD2kNxGkk0w==","shasum":"a7ddd6bf6c1bde99bbc3eeaf22252648560e3ca7","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.0.tgz","fileCount":226,"unpackedSize":272299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBr4pCRA9TVsSAnZWagAAwSwP/3ooyuunDdEkcjIhsqs6\nd7dEx0w7cc7lShKl3B071sLiMnwoR77A8QyVm4CqmJiV9Yqv+ZK8IifUKC4J\nF+t4BPNsH30m4dB2/2JNP2D4MboN7ugrlX9G+fuq4pmuPgHmPULIiWiFfQd8\nN1IHyZR4GdvWDbR/L197vf6Shn/APxqgAVsw+zFShJmpo6ujhcyjllFu0pLY\nfYaw8FYd+7XPPd6Y3S12I27h++kOcJ7FqYHht0vRAm8kKFsKLJuswI78XA3u\noe1Cwv7j3aP77x6Jyd5gHOcQ5zMFeQq7g076s2lNHPjb8NqzfOeZq7EjTjMJ\nsOWiSWNH8KnW3ajmLzt1dYjsY2sKD3u2aIdlITK/j1rJtboXYgsvurylCF4P\nLSPZmtcpYcgGsQxaKa/ANlqSYS4cqSqi/sVBIIZDmwyjwSP8NsyUUJvZ+/U7\nnm5ZmG8QS/dHNITkk6UvR8+YcmjVDWhBjrDZKOTzg+NrqWLdQ0OoVrKN3ljn\nT5uXd1KK7dtjOwboIA48K8dH75u2vjxy/LN6R8nm249XCMQmFA4i0A2RddIf\n+9xZDx7H37ZiRGGNteQHsAaEG6bJXIaajMLRaB4EUx5plmY2ZT360Exb7OSI\nco0iVvgU1gMd/ILRjKWSTQcE1fXyTrJkVOrKmbETN9oLOl/AZcKXUQvbFmEM\nvtAU\r\n=RHXO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+Ce7w09kObb8q59uVpWGyfeL5ZbMfPV2aUNDwbdntPgIhAKBk3KgKKT1m/B30fGxf3NrK9P31Em3/rHeu3Ujf0gYF"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.3.0_1627831849344_0.4807361464252524"},"_hasShrinkwrap":false},"6.3.1":{"name":"fork-ts-checker-webpack-plugin","version":"6.3.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"7150ffa921267cee45ce1948b764177d5a2236e9","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.3.1","_nodeVersion":"12.22.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uxqlKTEeSJ5/JRr0zaCiw2U+kOV8F4/MhCnnRf6vbxj4ZU3Or0DLl/0CNtXro7uLWDssnuR7wUN7fU9w1I0REA==","shasum":"938535f844cdddf6796211e5761da27341b9fcd3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.1.tgz","fileCount":226,"unpackedSize":272516,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBsP/CRA9TVsSAnZWagAAOT4P/j1Etgone7xF63zZBrS+\nEFKJSEdm3juXYdrG5svMiArLfFwJQ1Xquth6T/fHRw5QbSafntEfJEnEbwXL\nH6XLRrC7Yfr/Xi8Qsp/0ICGC8Stjle94MsNfJvmeH8JAduS40XK4XcmkBxOv\nJkZ3svU2gaNAbvNk2kcbYRwzWuj5tJzSwcpx+IpRAZzgCPYnGurCyFI60JOA\n8CljpFf8KWsOOjbu98E5Kbj2rVmCgoszCPuxv4b3fA9cqo/kN5T/UgBgMHzD\n6AbUKZPE52uF9RNUtz296TGFm2Lf/gKVDgD+6G1Mjm9stASDaOOmLDgIzZQZ\n72Bb3u+s5CZDQdxOvum3SlGYU23D6qCgAiUsvjxQn6gPc4kaDMx00UrI+8QV\n1ruEWlEcDGfth+sLmLKBN48LfzyTIHh/0OjzzX2EqpHyVys/Eno3OA4HhOzZ\ntCCKH9/cmc2CZ8Wzch+SyfVS4PQvRVYPVpCbDjj9qvnQZ/RuZKMmRSB0+vw5\nvs2AedK8rwVwO2sLqYBz+gyx+zTgkyk142dqwlAE7UhYl0AM5Y2ENh2D26Ur\nNAyAFsEXSwuQJOeyWhHfZVgFixaig68YgQNnkm/0sSvKisrBLMWt6h5kSgdm\n8gWkdeoEiz60GYvOgbAVOVurqxXPEbKHEwqgKoeM+FFE/y//RhLXhPW16ijF\n8Roa\r\n=uDfq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6ypobtx5zINc7vf3zcRMTJj5ty7dVzDBHPchgBHa6vgIgIUrYr30NKnC17SmIK8Nhbsjt4r/OwAZwstkR4HUjpGE="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.3.1_1627833343440_0.8480114282681246"},"_hasShrinkwrap":false},"7.0.0-alpha.4":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.4","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^2.0.0"},"peerDependencies":{"webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","karton":"^0.4.1","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^5.11.0"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"cdb531fc727ce1c03da1dd4f0e0133e85a38dde9","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 12+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.4","_nodeVersion":"12.22.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-sjjd0Qj9Nqjbas9oMJzMCzySNzYWuXX28Fc1vQ9UfyjDndaWmNfaCPPZQhlISDgc2lz7F7gemnGFxAsrcOqIjQ==","shasum":"7930c71d25d84d6258f35c80b9999c4f10931b05","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.4.tgz","fileCount":210,"unpackedSize":252099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB42QCRA9TVsSAnZWagAA0qMP/jUHTi+saQfqDSXc8u75\nsk89HyAcGP/gcf4j9z6AGy5W4hm/DnZt5qNbglL2FHacdPNkwKj8LlamgSmq\nGbN23mFoHLLnUXWELsSWzYnVc7IYRz+u3mmEvFS9JOb3o6pBpBV5flhZKcRM\nPq9sTTRWzntuIRr+E5kCqSV713Th6XuE7uWydydDAJ/Gv6psVmzI93UJuVRz\nLWHG9FZgbr69x4NLlZYR8DtT//9ot2kV7wd7JjWZhik/LSNMX84sc3jaTD8R\nB0o3gy2ogLZFvvFhXZaMy6BN0zbvaoI2z6h3QH8TNbJ+VC27+a1SCjH5ZrFb\nQKtB9Ln42aH3mytahUE3ksYdg3J6Jw0nWGVVGBI1+IKa5rznDrJg+T0YYXkh\nXyVQYKPpAgTjO8tsK8B/SnVfhfWIDaaahjbw90ioOxicAMmvSrXVmv5mfmSZ\nq8Li6Tes/fasWrJbYZH0QjOgeQ7lBjuKPAmpnMxyuNzHUkhcxEk1pTiwpPqi\nk+/xJEMkbgggtXIjzPo4V6ZFe10Z3ErNFA5eNP84uoTmf5fgPzTmVLv5ZZJ3\nVfu1EEB4fT/XJ4IgHkEbRkqMHjb1hdJZ9ppwJJGGLsN3wGkgEN//TUkrbnE6\nbqy+D0jxSN2qqgPVSmqCTL3peS3esPzN7mWnN/bMozI6QRYq2wF5a5pCJ+9O\nKkFI\r\n=Q5dw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFLSHJTT9Jwpzb0m92FLhGYEQtdcMsX0FBoRhBpTgBCWAiEAgUmcnpPv4sVlFp/hsixN1TudTctC9fRzARNIm+DhnVE="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.4_1627884943798_0.03274783780621027"},"_hasShrinkwrap":false},"7.0.0-alpha.5":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.5","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^2.0.0"},"peerDependencies":{"webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","karton":"^0.4.1","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^5.11.0"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"acc7d128900c176237651a3a40c5a4a568287b31","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 12+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.5","_nodeVersion":"12.22.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qp8LT0+LnQn2MgXqC/92q/JH1yzWIwkveewlMx2YifPSH9AVumceJ3aSbgaFH7H/VmUvDpNkIiKSI63prLt0dQ==","shasum":"b7be536cacafdfda8288cb348fdc386d177fcc74","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.5.tgz","fileCount":212,"unpackedSize":253243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDEv7CRA9TVsSAnZWagAAVN0P/15tHr1MMtBd3mslySoT\n6cK8r/i2bQNgbEvjNBTfRoV+y8bbfks6ZNywuDYKYkmFY1h7d3AhuTsFoHxP\nZRgTnRV5eVr/iFsgUkqfYWUXQDwJ5HfMnkzRkqlUDrptUSXVGkZqRT2wtHnt\ngMNThw65ENRTBjdSvaDpe76HBGWFnMQH6mgAT1uPvnyPuAYyFES88mq7U/wl\nCHMa1Nr0Z+xi3ltECsp9EiorRAb01y8Xn7Xd8SjF/7nAVa+TYYkf62vaGWSn\nnyUwsGQKbPMkb3IA+IeyWlc+qVtXFlk264RgINaeplz0TI4EhXKoDDSQUOSK\n3hVqmyot39PJw7upcDg8pu5YBGsLjD8kWMJBCoAoefiRjQhqK9o+p9QGzhjg\ntBvIbYICzIzoAqre9mGnUWpEDPl2IDPm9Xxxx/fvOu0y0gyUL+Ns9rukKWsF\nC8Xg9h85lJOPfZyJUaKwsjXhl5eweTx801MMpvfnfn7nH3cv9vq3PK3EFXrb\nbs9FoFdjti9rLB6yMj7/ryj+s+leZzUQUw+39oiCrhrCOqj0YB14asAF41iO\nKIeSWHa6JcCXv/w6Vsdb/u//KzJYetuEJYJrj32JS9Rrdfzs+WZrxP4db6ej\nSRLjuXWgpFNOW6x/vWLtr2Ki2CDovUSGD6UmnUjxSIwZ/ccODbrc5sVdHD7H\nzKUn\r\n=Db9c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICuWqMdqOWNA3bMTsRvkkhsK00NP2BMtk8259NSDUDVrAiBhk6L539yYIR3xYG/yrTCQhf5s5YvmXdF8bs3/XlJQ2g=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.5_1628195835351_0.4795648314769827"},"_hasShrinkwrap":false},"7.0.0-alpha.6":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.6","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^4.29.0","@typescript-eslint/parser":"^4.29.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.4.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"6ffbbed9add946b114a54d70046a526f5982fb91","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.6","_nodeVersion":"16.6.1","_npmVersion":"7.20.5","dist":{"integrity":"sha512-u5v88NEWWj8dYKlZKNls89SzZO5MuAoNrWxpiFeoltVqfP0LaAcKXoQDpLbrk3yaGeBzY0hOB/hCw9ieRUgAEQ==","shasum":"01deb1830cce5c07090b7ed6d3b4a8edbf9013e7","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.6.tgz","fileCount":208,"unpackedSize":249738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhD9lWCRA9TVsSAnZWagAAyPIP/iofU+ug8Rd5BJSWtVsQ\nsyoZ4sB/TQZa57qPOaOTigFw0NASqegvxIQeELT4LftQ5w52wbqMun53muMD\nshcZddjYrkDQe5PEIcs91I4IOFatYWbM/vV0+dvTdd3aC2JPnvGVRZcUnYl2\nmeFHuydpK9Zepapi/vCgvyb1QHfCMzBQhFDSpJ51ATQPG+f5YaS//9P5aNs7\nwsn0JYQzHYP3pNZyRGy13r+Ks3Xr38Prm3FUFPardEbxKK4ufMSiqwvfRMRz\ng2LGE9V6nSUoac216LNkxSOMSAhC7/p71A1PsR9BnLngh+HZJEjQSJR6orNW\nx8W6i6w5O6UR2/OYqHibpiIVypRm24PQ0GPg0e2umsMJLuLicAqjVr+s7LAU\n2/DI6JVdKZnBV11WFAHcWCWBIF9B6z6xESEbC+RZJk2jKuZOWn89QiyegHfM\nWIawo+fE6Ey7M0WaIrj02U9LhlhHh1ADe94WdS2nWTWJOrhe4M3NIR36jy3I\n71RiL7zMJmGl6UTDX3PYduBMAWvHdbIxAKDSQVIJWg9WojjZMdFdKeqoH8eS\nokMD4Vr68l4d7sF3UZrtBZESDyFAkOt6OtFe4MIFHNo7a1OftU9rAe6+rpwV\nczjjbJr0EVWyMxbeiYsvS3pvkV/RFE0NVhgV88YR1PKWYf3uSVWAxMbIPhIK\nPSZF\r\n=+JqD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID4iezHNQaFh5jBKokVP39rh74ghYAP/nwv4+F07ZcWhAiBZTzdkBR8XsEGhVkKhhbUDkTmiwU61jbBZH7hopVTRiA=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.6_1628428629900_0.48867656113982405"},"_hasShrinkwrap":false},"6.3.2":{"name":"fork-ts-checker-webpack-plugin","version":"6.3.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"c37a58c4ec67e0d598d97c00342c2a0c138ee129","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.3.2","_nodeVersion":"12.22.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-L3n1lrV20pRa7ocAuM2YW4Ux1yHM8+dV4shqPdHf1xoeG5KQhp3o0YySvNsBKBISQOCN4N2Db9DV4xYN6xXwyQ==","shasum":"96555f9f05c1cf44af3aef7db632489a3b6ff085","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.2.tgz","fileCount":226,"unpackedSize":273078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhD9mPCRA9TVsSAnZWagAALCAP/294RNugtqx+bnR0UMlC\nIOih9S4Cpcjv6Zaia8Tm+PgThICXGqYvHCiAmPXuzBxI4Q5orOJJV4SB18Z0\nI/yl8SLMJB0qVIjELvkSDMJQ16EgLhCj157WUaeItWWeIv8GvVrIWlL8y5E/\n7Bzr0/1cYZqRxBtvoIogvyqdXtpzkFJTBq7Qk9U6AOsLBYtvvqMdPZ06iV+6\n2KThButrEn7rcG5NXkbMTzVBa1/43k2xoMtW7rUozaJgv2j6PeGLD3p292my\nCVrXl7hoM9dzHTHSThkCo5vv2gvqUB6ykkQw569uRGgS4OCj3F5chi4+6+B5\ntxYnPD2nxgB4mwDhmG2YJ5Rut3NIojys0993UUiPhQ65HzW56TVgHq8xcD58\nO0kiGxEISQe2bCDdQakntpCJGvg9dQCq+3rR58JRC3jG/GFOEQ/hb8SqSzfs\nx3whWeUqerScwBMxXJnpYSqM4gPh+YVwezoKslbT6QJfBJA8yvKuC6ujlaMw\nkMkwhmvYsG6DlPP34VbWzqNPhp4FeSE2tyE+K0GkCB+OI2fU6qB7bzpYU4xi\nLmaf70HSmRYfkkMxtdUecHVnsHens0Wj1wPH3Y9p6551Y+0lMaVHzKyJ9m+M\nHpcSphxvxOerDDpqVFbOebjCN+rsEErUY08a9AJllpmXFxJxjBhps5xfI9Mq\ngIed\r\n=LqtF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUjtxf/sKHXnThwJehNTY+jjk4DjIVnfqbHdQCBk8tKwIgYdAL+pY+5f4KUq69/UIf3WN+QOEEgl3ymnXj98b1eZ8="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.3.2_1628428687408_0.12472166837717213"},"_hasShrinkwrap":false},"7.0.0-alpha.7":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.7","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"webpack":"^5.11.0","typescript":">3.6.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^4.29.0","@typescript-eslint/parser":"^4.29.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.4.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"82e84482bd89bd7ece1d56336ee22ded2d2e4e95","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.7","_nodeVersion":"16.7.0","_npmVersion":"7.20.5","dist":{"integrity":"sha512-6M3OZE2GYQ8zCV94s28FDwZ9I6bmdo6EbFeuqjccccVf7MQeMijTAyt0iRSPS60J1mcvYsEbDxRxEW/rY88ioQ==","shasum":"e824d27d27955fa105fd268cc724830b76153051","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.7.tgz","fileCount":208,"unpackedSize":249618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJKy+CRA9TVsSAnZWagAA3iIP/RN7cki/uR9WHp12cAad\nSAUGQZYRUJ7Z0iXtD5mDobkIRYGeOWntY3Clft/pVDw17nGrOHb4FX96uQkT\n502JfyBwsIEJtzvlxeiuaAQ6z2LwkxpbmKmo0hul5XwswGWAGlr/1PvslL0F\noF+3iHX9F4Bqw5GdEN0uV4c4aCEJ/x/idmi7k/mBCPf6Aj8NEEKNGqyN/WgT\n8ABMMsU3G91raj/n35VFvPo+KNx2lHFEKEKJH7Vx/18RuwH0pNp1J9ZUec/U\nXyTWz2LHW/xaLCuo+wpLC9nwHdqjfMrEWKXv3mecofMjGcrABu8nhWR7KeMX\njGfuzCgm+ma0qU1y0ad7g6wW76OTQXvD6N0DZJALoEd9ofQFjEWA4wRZaS7s\nZ91+bkQr4ibw0DLdTbz9BCqdXrJUezaTaY7of1JNPkL9/+zhRRw7s6rw4hSS\nXr7e5yd4kQ1ZJWcooDjmrgkM7HCTGdrns9/Y0JAwytFyEF89INg7PwBV3kZP\nDufg/I5zOcNvk0sFTPKjEPziXT2IUofTgwFP9fKk3JvIVHSpKICBpYC4t+8V\nM8lUR0k2YZfdnTJtCgrtUtC1N97YCHj0DAZgrCUMoGgOK7V4NbyUTaWmwJVX\n27OmHk98rE7GRpvhsSxHENhXy2A9Bcni+V3erOR6Cm7wc9T9j47WsUQl0F/D\n0PNt\r\n=Lyi1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETFPp2iF9V1iSbMDR78JY14ZcDF6EMLODnb1WzwHsJaAiEAshV7a7V9C1+CNwrPuRGwJbYfrUzxKUYxV2AiCjUFLTA="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.7_1629793470818_0.15016320964431729"},"_hasShrinkwrap":false},"7.0.0-alpha.8":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.8","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"webpack":"^5.11.0","typescript":">3.6.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^4.29.0","@typescript-eslint/parser":"^4.29.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.4.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"ad466dfd6c124fb624c3ce409c8fba4300a33255","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                           | `{}`                                                               | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`                           | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.8","_nodeVersion":"16.8.0","_npmVersion":"7.20.5","dist":{"integrity":"sha512-BdDr+E67nSwRBWVZRqG1yOkSYZJBbEHDOfRncc+h7RefxRpXU4TqHQiZ9SAiLie6RcrMHqU60OwojaaDFF4Nxg==","shasum":"0015fc48a7512cecb34fd1020a3062402607f84b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.8.tgz","fileCount":208,"unpackedSize":249222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJzl5CRA9TVsSAnZWagAAi5YP/2MH9aLE2MFaumQepQbs\nmfe1UaigB8abfw4AwdIYIQrmpVfurxFrCpNuOSrYqiN1UdoE8kqk8pO1nBpI\nPpZOJ5l7XjngmplfJCcLVSfMAHk9pts15K909MS3oRgZIIg29KFuqKiTcycC\nIl5EODPxyo4zn82/14sBXaXqNYoBBL1svUSWcHF3VLZT9DraNS09s0ls9G9g\nz6QFPJ5qT8axZ6oF8+opJJq4jsyFjkYwU4C/nK+pq/zQu3oDlO3JJDhdiLLF\n11nJKCsxnuhA9HRcaL3pkcpu2PfipbSMFpNpGY5d5yQkmRzm0eqWnBDz6xFF\nRiw3nnAgH1va1FFex8QhHyWVXstgciglPmhIfadvGilCEnVC9gXFAK+WpqSH\nxw1fOjK4XzE7sMnxc4Gdv+J+ArBvYthJZmDtfdBbagYGc7iSYrN5ZPX2AfPp\nZqy1CHsrvPd+cq7Uc+ktoeR9oXL8ABGhDw/fPLlPihOJxhxGj3AEzCanhKwR\nfFLSao0LvLt66Mw7g59fnUvVlm6Z/o+x3ZSP8syAnmz4jNlNjP/nFuX8azB9\neI9o9dGv3TIiTl/Oso70dwunpLywDazOkb5toV34FYfA5J6iJ9Vl2Fj76QaR\niH8SreWKoR78mXXSsUbaTBKhsatqAhmr8jNpmVqwAspxXjOx82L6L0r0xXYG\nxjIt\r\n=3/PZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ5hlak/Xmr6fpJhs1N1fm/AchGDPj+ldmHVpdWwqs5gIhAKNsjwqA0n6NcKpjkAkkhQUkgIlxxdIFvMb1vjeC7IkX"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.8_1629960569173_0.15398711164381984"},"_hasShrinkwrap":false},"6.3.3":{"name":"fork-ts-checker-webpack-plugin","version":"6.3.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"2178b096baeddeabd304f765b1a63562b5c4cb54","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.3.3","_nodeVersion":"12.22.6","_npmVersion":"6.14.8","dist":{"integrity":"sha512-S3uMSg8IsIvs0H6VAfojtbf6RcnEXxEpDMT2Q41M2l0m20JO8eA1t4cCJybvrasC8SvvPEtK4B8ztxxfLljhNg==","shasum":"73a9d8e1dc5821fa19a3daedc8be7568b095c8ab","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.3.tgz","fileCount":226,"unpackedSize":273058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMehTCRA9TVsSAnZWagAA5rkP/R7b8FOWCRHewNCo2jCY\nVXvsgIbCxw/ykK5CdZDsarmkmz9LTa+SP7jUddWx8HKAlTeb0aXB0omwtPcD\n33yDfqXQN6jCnVTXM+DSVe/GPXyFjxP7XR4csnegIHeySjSlnD5K1rdMKjrC\n7LDorLyk+FyGFnd8d8eLPQnSKv3zA3zkpf2DhZnoThv3nbObgIayCPagxJX0\n4IZ0pN9SVwGqJrv0tpkgYmJxupMFgiYC2rlZIibq9TKbr4yGIcnk207j/aOh\nPB15wV9zsFEq5rtlImUL2bUElNQYwMd2jwV8u/l/qXih2gNp7wgduHaBtdhK\ndIkddbXhHwU4EZfLuaV1vvyaIYQnlGbEk3AApurIDBAEouaGmTpRUpxgvrME\n1GjL9K5lBeC5IkB+KcK39MIJiLGLr6baItypoYrlsTV0Sv7YZp8k2cwjwLTR\nzoPuzl7y326ceymUMBO91wOJ5puqiwgS3JZosF5xfmon+We0Ce7Yh7l+bXF1\n8iuWbheRPLFlV25nT18M12JAA6H1hapfWv16Krv6tHbBf2OUDD1LdIDmAr6G\n8PiIEA5rJF5cSgAXMF21feTiIgLiUJganad72QpEIshkwhLc+R/sOGSqsFVK\n7XXRn7e9oDWH9NXKiUnl2B6Yz9QK/3tzmFB5GGHN7sZeKkRritCxNmaWEEHX\n/r1J\r\n=4DeN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHbZpKAdc5WxziUvc8f4iK0HQl7S5weMRJvs/MJ3ajoQAiEAqgVmulEGmQzozGvX/JZ1q8Tr9y4vjJJVYrxRyWynKrg="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.3.3_1630660691457_0.9054994094207454"},"_hasShrinkwrap":false},"6.3.4":{"name":"fork-ts-checker-webpack-plugin","version":"6.3.4","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"34ebcd80721cda7a7ff5d939947e1daeab5b644d","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.3.4","_nodeVersion":"12.22.6","_npmVersion":"6.14.8","dist":{"integrity":"sha512-z0dns2NXH9NHH0wpW6iuUmyXYRN9BI2Lqnv+RCdL+9GXSW6tKUqYnwf+h3ZaucJsbsrdobdxuOELGgm1xVZITA==","shasum":"9af17de0a36caf6f1b4e1d2d081cf586f0a12b14","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.4.tgz","fileCount":226,"unpackedSize":273332,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGMU5XQ7M8MS95eWcSl1tZ20nB5I7v+jQcoGP3lVttClAiEA7SrP09BYMqV8so66zgKU62mZHbX4YULkTUJAF7SFyEM="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.3.4_1633524882166_0.18401713150617582"},"_hasShrinkwrap":false},"6.3.5":{"name":"fork-ts-checker-webpack-plugin","version":"6.3.5","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"2cfe45f567e30a56dea4cb5907a0d47e62dae644","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.3.5","_nodeVersion":"12.22.6","_npmVersion":"6.14.8","dist":{"integrity":"sha512-B0yvzgiVN/LerXUvqcVAgjFCJD4R6h460ULJ+pl+oaiYfZM0Cq03uL6sxMHXqp/CVDm0QznHsNjtYwBBYpe0Pw==","shasum":"67ecd8475688c99405c7e92f70c152970a60c576","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.5.tgz","fileCount":226,"unpackedSize":273436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDC8UoXVrt3a7INGnAyiDrjd9+kRFYmTR8ydvABEJal1gIgNjOBpTM19IYNdyGFd+kwbfTHzrYCKpmzF2x3q6p8MpA="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.3.5_1634675122179_0.7237063945419098"},"_hasShrinkwrap":false},"6.3.6":{"name":"fork-ts-checker-webpack-plugin","version":"6.3.6","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"e9a4e8d1e0c99f7e359975d9c72963bc89fcecbe","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.3.6","_nodeVersion":"12.22.6","_npmVersion":"6.14.8","dist":{"integrity":"sha512-zg2bT4JWpE7Ogsvq7aewZZkK61spKB+FxhY8h13Kb9VQcEWO4ljeVogJP/6+tR2Riw3W4ZDNnbdwplBheOaJTg==","shasum":"2b7edd9e9cf2230d4ca2e6c2a8fb7d2694a2c0db","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.6.tgz","fileCount":226,"unpackedSize":273332,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTZMEP81FPmHbDR5syiYjt7tEGYvrZLiYhnQYu/AyoAgIgMdWdh81P0Ge66LVnzNtrO0rwKFXRPh581b+OvSPJuvM="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.3.6_1634738722097_0.30345711443479884"},"_hasShrinkwrap":false},"6.4.0":{"name":"fork-ts-checker-webpack-plugin","version":"6.4.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"551f2fb12acfaecb5b63e2717dbc6624e4319c25","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.4.0","_nodeVersion":"12.22.6","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3I3wFkc4DbzaUDPWEi96wdYGu4EKtxBafhZYm0o4mX51d9bphAY4P3mBl8K5mFXFJqVzHfmdbm9kLGnm7vwwBg==","shasum":"057e477cf1d8b013b2ed2669437f818680289c4c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.4.0.tgz","fileCount":226,"unpackedSize":275964,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLORuISGw+Jp7lV/bfbXTLDW+XviMG7dXyy1y0kAAV0gIhAPxw/TbgqZBVierEQSUF/N52LNQpHPaFUVNRYn8X3PLO"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.4.0_1634765165019_0.8123855753533962"},"_hasShrinkwrap":false},"7.0.0-alpha.9":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.9","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"webpack":"^5.11.0","typescript":">3.6.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^4.29.0","@typescript-eslint/parser":"^4.29.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.4.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"871bfe8e2f30baf371c6660d4d10c06fd90eb903","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                           | `{}`                                                               | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`                           | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.9","_nodeVersion":"16.12.0","_npmVersion":"7.20.5","dist":{"integrity":"sha512-E+CZ8jSid560P03j1CAqR4ozpiOQnZmPMoM2hdM4LVmN58mr5MbPyJroKYhzTXGm2PPTEGTvDSoa6RkeQ7QUoQ==","shasum":"e0ab9acfddd7201e2e5c91e535c13ac177e34e3c","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.9.tgz","fileCount":208,"unpackedSize":249546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDAs/JAV7MNEy7xAYFxzyP4gRcno4j75Zm7kY2b0g3FwIgFr6Dp1exOndQ/P4QvX26UU0s7WkcJmuQTfXqYAYErb0="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.9_1635097377275_0.5811728628973747"},"_hasShrinkwrap":false},"7.0.0-alpha.10":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.10","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-plugin-import":"^2.25.2","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","json-schema":"^0.3.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"a0ad06fe8ecb98d9869e29e74c09273698b95dcc","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                           | `{}`                                                               | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`                           | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.10","_nodeVersion":"16.13.0","_npmVersion":"7.20.5","dist":{"integrity":"sha512-p/kyotWifiuOFl75vtA7ov5PmSSuy1nbVHsDJTaxRY/3DBWX4DkQffolTX3BTBexrC7ly+BTsTghLBP14CpFjw==","shasum":"336c4b17d99c704a525c2bb1064d754c9cbe0269","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.10.tgz","fileCount":210,"unpackedSize":251691,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEsWvRjmlvxeG34iVKlyiZj1aNXea5Aknymtf9Zn0aIAiAYEcwnsDmMKMEE9kFm8j8mIPP286LgWuP3SORJ4SJJiQ=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.10_1635530904695_0.4895107405291883"},"_hasShrinkwrap":false},"6.4.1":{"name":"fork-ts-checker-webpack-plugin","version":"6.4.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"40e4ecf91f3006ff0e866e11f5a7429fbb343ff6","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.4.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.8","dist":{"integrity":"sha512-fBpr+RuB4yHlQrCOr2MvZX4oh+DWzH/Muu82tg7zZz1WPXFEBmWIlWC7bu1wNJqvOCtO0GHEew75KIm/bSBFlg==","shasum":"e1c49043b447bb6d6ecd461c9a1426caa375e789","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.4.1.tgz","fileCount":226,"unpackedSize":277674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnKB5CRA9TVsSAnZWagAAOWQP/A9pYcjy3U2W+o3f9Pyv\nQDcqf/obV4xM9UDbs5H+ubV/4iM80AM6LXqCQ7F6UbivtplX0lpc4RJ7+1IS\nS4q8+fV2Nc/uJM7GV3fF7KB40IFernfmTysXlTZeTr5tfhD/illbj4GyEYEC\nnM+VMPPKw/HC46FCrTSuNI8h8/fQKfKNW90V3Jgpglom9ZuQ4r6p2LxQ7Du7\nxwkiQezOGHuZoXIAMZZ1GEbL22M7XgMQgiSVumiCZTc+XA/4IAYlHb8LP0R3\nZzTqJ+P16M6J+dXp58hB9IDDOk+WBhCGoKamThthFZsb6is4LaTJi/oumKfG\nJJ+LcnDkShC4zVx6lVjqJrXUAVSy6xR4xdsJI4GtRyr7OgtS60Wq3MapFQJ4\nd5+zkJPx1TzEQEstCRqk2vgS70k4v+y3W5Y7DaRLjbkMwP6Ls3VUOnwz3sdz\n3T4NxU4lFPPbJPOWVED9MlHrq7mXxMZmZH0G7j8tDIZGKtgQbzW5xnjZQOvE\nV1tVnxVwjZR0aSO5+owlekgXqn0XP6UqmYk/lm/grEZXcdnX7LKe7uFGvuBK\nmHjKUZYnURXQQ1TbbACoama0sDs0VCYU6v831CX347/RsA8MVCQwlC22eUmQ\nTH66IoKxZVPF+GV2rbrSofbuw5aeTybeEIi3IPcnexGEnky9hDUtbFh6I0IN\nofQ2\r\n=d3SG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGs5iRMT8BjIZx7Rwnbdi9/t4CW4Ek7EtqfEGkCODb/uAiEAysivjkT49wZlbWzTRJBfbk9m32jpr6PvfgJimHLafgA="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.4.1_1637654649091_0.37634515612618724"},"_hasShrinkwrap":false},"6.4.2":{"name":"fork-ts-checker-webpack-plugin","version":"6.4.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"b1c0d9ac92aa2929e61311ba4d1fbcdd5f436849","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.4.2","_nodeVersion":"12.22.7","_npmVersion":"6.14.8","dist":{"integrity":"sha512-EqtzzRdx2mldr0KEydSN9jaNrf419gMpwkloumG6K/S7jtJc9Fl7wMJ+y+o7DLLGMMU/kouYr06agTD/YkxzIQ==","shasum":"6d307fb4072ce4abe4d56a89c8ef060066f33d81","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.4.2.tgz","fileCount":226,"unpackedSize":275964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnNG/CRA9TVsSAnZWagAAIiQP+wb+jkZXUmIDCsKjHpVX\nu5jq9KqnZtMW9ZLYgFTe5M2K3VQcgHAwnXwUr2f8orJXgNIJlW24dIoQZWp5\nOiKvsSsjtENZGT9RdDAPLZOOK0mcinS9OYDmmueMkUso6191CG0vb6MPtlM4\nC7yf0hgmyt1n8Yn5JfscJQ9bBE1PPpkpGsIBbPHfaM+oqlxqaVfavae7R1QU\nEkiuJjlb7R4g08BD9gmkrUMMN3KZ8snl4sAs7WURg8zIkdX2rdT22Q39Qvww\nDhy7vmpUUzrMjQ0b//W4aQqnr6Ozom+sZfRa1DtztH5mvpS0LpP2BEfNOSXo\nJNSW/mzbDiWP+xkjkEQ3CByZL0Xy6KjboER/uRkZ8h7ufBiUwkHfO/3V5FIe\nmhn+adBrlCiMJZRqpSsokAcS5JbHXczeTfsQiDSHVLoNbZEENnfSq8tSb7K2\nfFBENH2xeToH3BmkqTNbyO+vrdP9kL14R4dgoKRf7V3Xg0BNtiDDH+V7P2TK\nnj4JmGRFX/1heMEAlD7pPuZEAn6cbnQd4z0B+Ijb9qPIsbcKLkaehZG5iKmB\nb+vcdYuH/lBfnhmP4/wYg2OpCIjOxqlTAQt9KJtszS4//v2Hsj+H3cva2e/n\no6WjFK8X4gH+iZnG38KoWDByWbMxKlEDCz2PXb5Ui8OiJP/RqdY6DdRopOJF\nayn3\r\n=djTG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGpOwjeNgbisVylVv7q9G8kWv54bv5+pqWr7hALTWOlnAiARIhYtKV7YAs3qJ+HUruMyVjfPCL0W6KF39lLku5YKcg=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.4.2_1637667263527_0.08945519100387056"},"_hasShrinkwrap":false},"6.5.0":{"name":"fork-ts-checker-webpack-plugin","version":"6.5.0","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"61f7cdf3971725dee4df1fdbe914643174f39037","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.5.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.8","dist":{"integrity":"sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw==","shasum":"0282b335fa495a97e167f69018f566ea7d2a2b5e","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz","fileCount":226,"unpackedSize":276348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpUGfCRA9TVsSAnZWagAALEAQAJ4Gx296QOLbOs0ki7lw\nivtqq3f76kEPExJTtVc4hBoI3GtQwXkybYomJygpjJfNvFElOe//A6CQ/Ggv\nBBCg/OKyBthFaVsE23Iqhghk15gN1tzFMTCOodXgsKe/P3VhSshiiUbNAMP/\nlqj5gnc61Yz1LeDaVPa7FL608hNeCpkgSua4KjxzGqMq1cHEO8PhLEqvvu5Z\nIF/09GE66hSGFBwiw1xEOn+yc0KXcXVBGkuCPcHYrWhYCExcab8o6VP2aT1D\nLxDWmI6Ii9Qt7G6dXEA8gBqBnnZgOVA8e6rXSh0mua/5dCk6DB8bYwwSulsl\nbaEg8Q7wW9FroFoglNUMzeFUdGYW1wpcLYEGwa1Mfn9SHsyG80iStZhFyhqK\nRHaLqoWQlOd40HG5M25Pu85Mhi0j7S/jr3echdo+d+k/gZUqz2TPYHnsF/DD\nppEg8oWfECdEAIgVe2y6UILiPJ4cxCwu5qQkFXttGgq0eewvPQwqfK7vCYTY\nDVrC9CapwZG/dWSnlXrV0i0xZ3we7n11QMZ71Q8zC9lSEMoO3Ffc5zzYmoo5\nHP7UHwM//2043W4j1WEgqR03s5zEnS+jqLEqycrAj25bzxQdTNOZKt5gn/j1\nXvjbRVZvn1kbmS4HrjTqbQpRNNWcdIzWo/be4r/Pr9IkqxghuQXvL9V3JAwI\nFGv1\r\n=z7gR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwRjgQkH0q+F9emxIjCRhPgG3atfy981K7WCOTYhiBugIhAL25lTQNmkHGCQxvvbCQFCT4lFelUNOn1RxQTDRleOGq"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.5.0_1638220191004_0.09949888811199781"},"_hasShrinkwrap":false},"7.0.0-alpha.11":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.11","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-plugin-import":"^2.25.2","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","json-schema":"^0.3.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"f7dfdcf77407491d99f1a8b35b68d11f06166058","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                           | `{}`                                                               | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`                           | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.11","_nodeVersion":"16.13.1","_npmVersion":"7.20.5","dist":{"integrity":"sha512-10Q0sjG24BqIkAEFCb+JP0laM6gYO2+3ZV0lBHQ6kJ0+Ot2TffRFcyNkWQBRQqoyqtrDaHfxnjHJ+uXsMO13Bg==","shasum":"aa51ff15f203547ae6052b91fa912371db7557b9","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.11.tgz","fileCount":194,"unpackedSize":220388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3gXwCRA9TVsSAnZWagAANOQP+gLLuarRLuJDTMNN2/DI\n2nFsurIhj/ZokATX+VFryRIsV0ddkWUyAY/A1aIPTVPyUpLgrMWvlQUyFHEE\njGwr6UXrrLz3kxqap9KXGB3bXXgS65vLc17vSHNjnHWwObwpH8DDeAvg9Q92\nQTC9gLoTptf9rZrL+vmlws5NGqpGZNLegxwKddXgQFAZ+O4/67a0PxtrpanH\nrr6qhdthEyNStnFi0Cea2QOytrCMiNDqSVBvvuqkUOwxRwsZ561D79f2Gymp\n0BKRb9/0hdaczltabj92d3/ZVjSSwSBgIVSjl8ol+WYRUSIkOHs1cFPhkOFZ\njf6oMHQ41mLThzt9vdr6hZTbPEX4tmT3+gg1Am11FKSRfBxhtK5aX23c5Aw6\nnwFhypm2IKxfgK0QXwpu07BLtEakdhexsgB0s+kkhx4welyngvHRsGnle724\nyjM6zhteQykMIEai+95Zjk7V2FmyH5xgjMupP+WF0kjZqh9y3zUxHBaShiz9\n2hHIc0onLYBNbXAzKOgS2eoyVPgM4eiwVk31o5jjqlh0FedZnlFWN4Zlbt7+\nEuWrr7tmVwTS5Ne1Q7fJzgrFHwp2E/ztWMMWGW/od0ZB3qg19eoZ6OU7K48g\n4rdQzeCEOiVyfBracXVTXkDGOcsibQHCAK59Y8uDcNr/MReDd6ECQ2FbbEk2\nRRWY\r\n=vW9s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChAtq4+GNLfxP2wFv7FP4vxOWaaIjF6yUDfmYwOONcZAIgD79IEGvzbLH5BGYFd4GY57GR5ldmqWl+dNu9h4Y27n0="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.11_1641940463877_0.4544086668758671"},"_hasShrinkwrap":false},"7.0.0-alpha.12":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.12","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-plugin-import":"^2.25.2","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","json-schema":"^0.3.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"39ebae6e8637ca756746f56e865ab793c0b20dfa","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                           | `{}`                                                               | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`                           | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](src/issue/issue-match.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.12","_nodeVersion":"16.13.2","_npmVersion":"7.20.5","dist":{"integrity":"sha512-JdlFjM3lukzusX8n/1Kt7Jg7m6VNtQ487KTJc7kkuchRaXR4Fzz/jzfRpThGVBJA6AcY8Zyl1OJI1WAqP+NIiw==","shasum":"f12be46002e25d685684923edc5c377628dca928","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.12.tgz","fileCount":186,"unpackedSize":218352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7GrKCRA9TVsSAnZWagAADQYP/2Zprx4LT2q/PaClrHj8\noq6tp6qbtKx/3YDxst9ogktUirKm0grqmzddsaQSrI7bks1PwJoo8+uS4Kwr\nDAIw9jyb0uYdB8cHWn9dMkFmQHbLiZ+f3t1awx8i/qVe/Sjz9pMX8+9NgFP4\nYt2vQ+UfTmOxcdZwImyyt0P/Junlny52cI3IEaH+juOiratwxOVstO670Go9\nxpMpeuc1RGREgMUSYTtijaPFYf4GYIcbQ4c+IL3JhoDTXvc17AGTD3Fo0SgP\nWGl4aLiEK1wgccJxhKrQtaLBx4Eb47pDknIOrVA/siUM6xm6pbLTzxCvTPG7\nVTMDj+CbZZvpSHLPcNBx/i0vmGYxNaQl4ZadtaHqFUfZdLwaIzsjhjnXwY0c\njRtgrtss02oDKtzRZfppBUFQllxG1zpnLY/I8j1+Qu+lbruxxeot4Ms/X9yC\niPYtkBwngAt5tetIdvA28UtswzR5zJNf1bgsfiKra817716SqKnV6zS/zXFa\nkajlN6KzemBivRdhjYuKRMbYQIOH08Ne2t7TlcdddiKntITGsEqZhmnEyG1u\nvXXos1c05XfwqsM6IKiCFzzNndGPk9oJD2mPuMp+Lc+pausuDzlPjA2EY/IK\nIFpGupccQLKcxklNtnxSc3jbgTJz40SwFiiU12sGwN0scbX++GHnc585wjug\nagxI\r\n=aIBz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPYftlJcvzxwmDYij6/De70XypIupyiwUIDMrZTT+KZAiEAzX9Fyo0lBGY4W4EAbyfFasbp+sn0+79HjSfWjpYbx/M="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.12_1642883786094_0.17743723757436802"},"_hasShrinkwrap":false},"7.0.0-alpha.13":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.13","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-plugin-import":"^2.25.2","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","json-schema":"^0.3.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"4b13fd37718d3482df2b5edd7f664cdaaa7f6a88","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                                 | Default value                             | Description |\n| ----------------- | ------------------------------------ | ----------------------------------------- | ----------- |\n| `async`           | `boolean`                            | `compiler.options.mode === 'development'` | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                             | `{}`                                      | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                             | `{}`                                      | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function`   | `codeframe`                               | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `{ log: function, error: function }` | `console`                                 | Console-like object to print issues in `async` mode. |\n| `devServer`       | `boolean`                            | `true`                                    | If set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions`  | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](src/issue/issue-match.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.13","_nodeVersion":"16.13.2","_npmVersion":"7.20.5","dist":{"integrity":"sha512-m+2/ORZOkR9CN9bGQ3eb606L/GZR7MfxbL0IZmfHqANPW8P/+5Tk7TwKwrig4QqqVeUMMaAYxdtQSKLEoxqLlA==","shasum":"747129d509b60299f71d7019d4300e0b582cc619","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.13.tgz","fileCount":176,"unpackedSize":212993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9ExKCRA9TVsSAnZWagAAT84QAI6f7QfB3pmDE6CPXpRG\na9a5JdDHvsA5WEqEuTpWpI3tmDaD2Jk3oGZjmQbgcETbXQmUlfxCrcrifvxQ\nExVsfyfPef472cyQEZs2EmVn74RypLlSXBB1Oy1MoztN+QXLUe0znpyexaRB\nAdymI4iRHvRQPRWTIWoMsKVorjQ9KdqI0Vgvy/XCoE0+BgBsR8Bp9WkgDRWd\n9kCzeiTtf3oevsfzY/xZQDgxGRHOG8R5VLZXjKgSzW2Zcfv8+iBXvFiZ68pL\nc8SYQf2n52uDOik+XygFg+sVATnwwkXwzTMnnmKd970aR8FLWrVlt1wYth3j\ny/2DNaDLt3UMt1d53CfCSeF1+piL6jHHhfTHyGIF3iCfOR91MsyIT6y3BXBB\nUrzAEzE7E88e+1ZJGPE1ubSgozJaXu/PlF2XAtor6hBS2gMNb5vCdlUbpN0o\nWgDC5ii1FDrNifKvbZQTdXjSDqmwCP8ChoW6NvTQZ2PLnNM/3DDfgisEhAoi\nrZvd/ApFAUg7KBTyOTGx4+vO3sIhdAVeH/qEboqNz5SJg9qVv6hpRxn3GYVC\ncFGuTgIswxDcfgbluTpH8BeR9ISDevSIX/mazAd+y+ck1pMGEYNHfnqzJAYg\nbBCxfNDFa6zpO1gm2WRlUrSlCFL9pTgMghuoAA5Q+aQDr3zD75MCsgp8AvxQ\nQYEK\r\n=j1Uu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXVwZEERROzl/+eCD2sO3IgskXDsISa2+6OQPMJT3WkAIgaXyjUXuuQnJSpJh0B+xV4xOlo699Y5It/4+7pBQO9CA="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.13_1643400266232_0.9951529301114186"},"_hasShrinkwrap":false},"7.0.0-alpha.14":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.14","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-plugin-import":"^2.25.2","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","json-schema":"^0.3.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"03abe7b92569bb3d66653186fd0b864c6d27a6a4","readme":"<div align=\"center\">\n\n<img alt=\"\" width=\"300\" src=\"./media/logo.svg\" />\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                                 | Default value                             | Description |\n| ----------------- | ------------------------------------ | ----------------------------------------- | ----------- |\n| `async`           | `boolean`                            | `compiler.options.mode === 'development'` | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                             | `{}`                                      | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                             | `{}`                                      | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function`   | `codeframe`                               | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `{ log: function, error: function }` | `console`                                 | Console-like object to print issues in `async` mode. |\n| `devServer`       | `boolean`                            | `true`                                    | If set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. |\n| `diagnosticOptions`  | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](src/issue/issue-match.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\nconst webpack = require('webpack');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nconst compiler = webpack({\n  // ... webpack config\n});\n\n// optionally add the plugin to the compiler\n// **don't do this if already added through configuration**\nnew ForkTsCheckerWebpackPlugin().apply(compiler);\n\n// now get the plugin hooks from compiler\nconst hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n// say we want to show some message when plugin is waiting for issues results\nhooks.waiting.tap('yourListenerName', () => {\n  console.log('waiting for issues');\n});\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0 (currently in beta), you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.14","_nodeVersion":"16.13.2","_npmVersion":"7.20.5","dist":{"integrity":"sha512-Owc6IcnWDwFEj8r5droG0qMp6w10tZrojhHTtn3DEFG16MWZSjmidg5dWC8mwycU/pn9ViNx/j+UtNxiTD8wxA==","shasum":"a3d9e13916b64d7ce572128f99f9213eb2d9a650","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.14.tgz","fileCount":176,"unpackedSize":213043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9FirCRA9TVsSAnZWagAApZgQAKBKuVxv0ADexU8DYEL7\nPE1yfc8ckG4rlL8XgDfLf1mmqBdkLKMIP8N2Nw0LfwnEFdCGE6aZmLSIUJLV\nAQQ8d5YZYpRuafzRYbCnlnW8K2mKFYfHwgV+ecYtUNetPh+giJ42Qj9cfJbt\nDpIjzTAbhSciN9qoH6kxXG2QcSMg6f7EVUov2x/s8n/CnrDxjWHyyfdPirfT\nLt11yPn+olqUXpCGhww0lIsx9n0c7zKgjHQbrEQdAic4IIzyy2PgxxLsuEPM\nu8mW+ccSjJE3S91hUzWe7XTdtRgUPh/Aj7nR+568nyc6GNLfUbehjm0qSrza\nzwxO0ha2xkfq8V98ENmyKxhhsLlyeFS2iF+XLVkb6j3CFGVpwrXawc0aTnGe\n8cJomgBO8xGCYZxGSLA7+sonp8rvnut9AIwd8AEU5jyqBHHwmfu3dA26QPd5\nOje2oTVbDeW6/35jb3kafngR1zMnrwZe7l9TCsi/24SSZ1XH+yWrpxmjNilF\nWd0Ek/73fM4BaomS6g+/rBcQh82tQKEcj+hDxt5psCsyMC7nEjTf3oRbogD1\nRvs6cHimt6bb4QF+KOxm7ygLh0aMPoS1h3Oro/TalrWYh7Hw4T5lB1fLZ6gE\nBn4eaLFzOYh3O5u7GuqZOnKnBlJnvuitNRfIA6CnMstxlpkDy5ca+OIvM5x1\nOZLh\r\n=zNrs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDtKW3gH/ZyFRJgfRW/SmnHs5calb/u4w3ofDxuK0+PwIhAOLxtE/tnaefXg90Ll3yFJoLQGA6/O7gMuoq3nk/GCqd"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.14_1643403435113_0.6547752511299163"},"_hasShrinkwrap":false},"7.0.0-alpha.15":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.15","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.14.5","chalk":"^4.1.2","chokidar":"^3.5.2","cosmiconfig":"^7.0.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","glob":"^7.1.7","memfs":"^3.2.2","minimatch":"^3.0.4","schema-utils":"3.1.1","semver":"^7.3.5","tapable":"^2.0.0"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^13.1.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.12","@types/jest":"^26.0.24","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.1","@types/semver":"^7.3.8","@typescript-eslint/eslint-plugin":"^5.1.0","@typescript-eslint/parser":"^5.1.0","commitlint":"^13.1.0","cross-env":"^7.0.3","eslint":"^7.32.0","eslint-plugin-import":"^2.25.2","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.7.6","husky":"^7.0.0","jest":"^27.0.6","jest-circus":"^27.0.6","jest-environment-node":"^27.0.6","json-schema":"^0.3.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.0.0","prettier":"^2.3.2","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.0.4","typescript":"^4.3.5","webpack":"^5.49.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"c358dfbbd53580e05e4a013a3a52a8868b55906f","readme":"<div align=\"center\">\n\n<img alt=\"\" width=\"300\" src=\"./media/logo.svg\" />\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                                 | Default value                             | Description |\n| ----------------- | ------------------------------------ | ----------------------------------------- | ----------- |\n| `async`           | `boolean`                            | `compiler.options.mode === 'development'` | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                             | `{}`                                      | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                             | `{}`                                      | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function`   | `codeframe`                               | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `{ log: function, error: function }` | `console`                                 | Console-like object to print issues in `async` mode. |\n| `devServer`       | `boolean`                            | `true`                                    | If set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-dts'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. If you use `ts-loader` with `transpileOnly` flag set to `true`, use `'write-dts` to emit the type definition files. |\n| `diagnosticOptions`  | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](src/issue/issue-match.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\n// ./src/webpack/MyWebpackPlugin.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nclass MyWebpackPlugin {\n  apply(compiler) {\n    const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n    // log some message on waiting\n    hooks.waiting.tap('MyPlugin', () => {\n      console.log('waiting for issues');\n    });\n    // don't show warnings\n    hooks.issues.tap('MyPlugin', (issues) => \n      issues.filter((issue) => issue.severity === 'error')\n    );\n  }\n}\n\nmodule.exports = MyWebpackPlugin;\n\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst MyWebpackPlugin = require('./src/webpack/MyWebpackPlugin');\n\nmodule.exports = {\n  /* ... */\n  plugins: [\n    new ForkTsCheckerWebpackPlugin(),\n    new MyWebpackPlugin()\n  ]\n};\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0, you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.15","_nodeVersion":"16.13.2","_npmVersion":"7.20.5","dist":{"integrity":"sha512-Z5I1Qgj0Qir0hnheYfnq/NRiaS33K6w6rRQVUB3IBniXkw+Q2lW3jq4rUJgmpHxZg4/OI6aE/BsYf73sS8gYPA==","shasum":"f0bb378e02c1e8e3d2d2b813b3f6a7038b2fb3a7","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.15.tgz","fileCount":176,"unpackedSize":214452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9HSoCRA9TVsSAnZWagAAvwYQAIS+uzoc9F6aeGV4gYy2\njqi1Pil4g2Yi4gIiBV/WwmOJpD9el4l0DuX8gOGWsihfazWzha9CK7TaoHOX\n02Cm5MwI9jA9AmSSy5aOHLuABcv9zFZH9n6sQDrSUoEmqxyG6YEooSbJJ+4F\nTNNcm6hdgIqFkgXtMzPqrsI9PtHklYYfntfrSy3JhQS3cbdKL9UKDkyllylg\ns/nsnACLX3ab3UeS3jztjGqByU+Lqb7wyfWjqc7f9VuY5cLCO5u6yWtHdGXv\njwCCkt27OsBOxjBAAdkV8XmBMhrNYtlV43vdDIMZoibOsBcUVz3HYHmSHJW9\nUHIuQGuwDAyaIROcToePQMPOTATccw4628veNPA9frXm76GheqDzCcGnow/9\nXY8A5ikC1uxiuPrqOK589i2n7dSrjz2MymXoKejWhc1rmytTqjz4uuibOZ0l\nFMrPQlq1+ptbhPxPhLc82jHH31yFnGoGP+UlkF2a6kiJTQQ/1FHbkQEasXCh\nZi0WC07kzjmRYTvB84aZkKg+hppaVPl8t1Mfto+QBFRiwzVjP3l6TP2rTu5R\nTFys9LJw5Zxwl/ADlhGim07g8mwqm0pZq9WCYk66X+68sk+IGDHjqaZMRZ5H\nkSqSXFYx03azlIvl22J1WVujk36Zv3hYpyjsHIuZKEaZdug5WtafpW1sZN9Q\nS0AH\r\n=Ouzi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEaKY1sWZJH5jA/Cioop/Gge6wKvF4sFQouZPDvEVeTiAiEA+8Z0IxEvuw15A7f1T+YrVkTsVCQfhN1GBg8QBZK9NdM="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.15_1643410600748_0.7501557793223854"},"_hasShrinkwrap":false},"7.0.0-alpha.16":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0-alpha.16","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"4.0.0","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.3.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"readme":"<div align=\"center\">\n\n<img alt=\"\" width=\"300\" src=\"./media/logo.svg\" />\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=12.13.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                                 | Default value                             | Description |\n| ----------------- | ------------------------------------ | ----------------------------------------- | ----------- |\n| `async`           | `boolean`                            | `compiler.options.mode === 'development'` | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object`                             | `{}`                                      | See [TypeScript options](#typescript-options). |\n| `issue`           | `object`                             | `{}`                                      | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function`   | `codeframe`                               | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `{ log: function, error: function }` | `console`                                 | Console-like object to print issues in `async` mode. |\n| `devServer`       | `boolean`                            | `true`                                    | If set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-dts'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. If you use `ts-loader` with `transpileOnly` flag set to `true`, use `'write-dts` to emit the type definition files. |\n| `diagnosticOptions`  | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](src/issue/issue-match.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\n// ./src/webpack/MyWebpackPlugin.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nclass MyWebpackPlugin {\n  apply(compiler) {\n    const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n    // log some message on waiting\n    hooks.waiting.tap('MyPlugin', () => {\n      console.log('waiting for issues');\n    });\n    // don't show warnings\n    hooks.issues.tap('MyPlugin', (issues) => \n      issues.filter((issue) => issue.severity === 'error')\n    );\n  }\n}\n\nmodule.exports = MyWebpackPlugin;\n\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst MyWebpackPlugin = require('./src/webpack/MyWebpackPlugin');\n\nmodule.exports = {\n  /* ... */\n  plugins: [\n    new ForkTsCheckerWebpackPlugin(),\n    new MyWebpackPlugin()\n  ]\n};\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0, you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","gitHead":"954385eb65a8b80e91684a90240ffe3741749469","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0-alpha.16","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-NJqQBpm/i9PkS1yP9UtZLSILJJ6CmDE5cutfEp1jINynoiiTITc50Pou8Jc6Z39pkQhCfIUUchI7ZKA0dSGkjA==","shasum":"f201eee6ef82a75da01146ce6e04fc3238ae8d4a","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0-alpha.16.tgz","fileCount":176,"unpackedSize":215329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9IudCRA9TVsSAnZWagAA82QQAKPOVt0MycO9qk4dq/aS\nd9aoGZtBgIKdVjbhXzBPYyg79Kq8g5jGJ5SHXL1ETyYLKSONNkOko1I0ZuZb\naSPNjrM9R/ZFchEWoJRL+cgGFJ2PVnB0Y7wSz/gCUZWVMfn9Bozl1Dgcmry5\nQTReA0JjfLg6pyBtOk99B+FVwhd3SpFJMSLT9I/tR0bMiTJLMl85FELZBVp+\n091Adxofp76n22f6ODF7eKNZbBcofVwmpxrmCFJJAWDuXAnY0Vmdmnpe+izK\nNr8IFzMBgW0CWa5DMT/z/zV+y0jHfEiH9SAnW2R0fOBlpcnx5z/DCRLxx9Al\nCFmE0GhZiDthTGemiPleCU6hLZiwsufew4Na7pfCRlJ3lnGdDZgKiHZFkuO0\nYSzOdqfgt4qwA7b7b4jwbUVxJ/l/tQ4El2yC6FT98Y8DBlX1AuZed/tq6cQj\nUV8LBPz0CiGLZodmkpXbNPQLmLiiQI00VDarOoDlpddIE4usxN2LUlomdl6a\nLbFFZ+RzQb5cH65CjPLAOUGsravFvGHUpSHgaUTlpD2ZfC20MPfJt5dqTJvY\nhFJaL8BwDOZyXWf0yGvXYS+dSaA3Y53Qd8uj9D6wKBJbH5vOVEkREfFysHV6\n7Lj6f+hUi5PhPRw480EHGjpeV/RJV8vOPFHSDwk5Zq3fzGtkfFb++sBU/ZD8\n+t98\r\n=fvDb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF0fDmPCaZAD8hXFlqBRxkkBrLshj2ivHyUEFHjn1eGlAiEAreSMIvSnKiuZb/yK5kPvhJmCnAYHn/bwZF+TYKKjJCU="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0-alpha.16_1643416477691_0.45748038866744634"},"_hasShrinkwrap":false},"7.0.0":{"name":"fork-ts-checker-webpack-plugin","version":"7.0.0","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"4.0.0","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.3.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"6d7f64f1573b6fdf1ce07f48b03f61305a1f3b06","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.0.0","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-gEAgwrzkJPuOwir5kyxBEssr9FgrsBhqOzdz8aTYPgmgE8cJ2TUhNCtwk2uPON39qVjdbbz56GQl0yu4mg1MfQ==","shasum":"c96b5879068a8735d99347976f6f32b861f48243","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.0.0.tgz","fileCount":176,"unpackedSize":215263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9Jk6CRA9TVsSAnZWagAAPSEP/0OIhrQBbr7cgbjNCymj\n9Gk2xwz4kAO0han92YzOdc1vDvbAGEjCrZlMvZ4lCSKI4vZ70RJhDQaIuBga\nLfjptxjqcu4Sh6vEEpn5HC5Jb+YTXUqqUh9HDzi0eyf3CgVfve7jCfeEDIdw\nzTReAFaNwArFpMaqSyujBCeL1w13Rc+g9usQxp+Ia0fvbvQDTVbQabA4+eef\ndl+JI8ZxoW4Zs9+N2xrvzUAvu0Rt+x4godg6FuVAMncPkPzC5DLERu94XEbt\n4WNwn6P9wFfL+g6pMC6M+QP5OtwyDPvXpfbl3G4xQv/kSJw7nCfoEHtD3ASt\n1un7mFvh+0PQkld51DKw1wAacnUemssR6Hr2wqB+seKijEhoxjEce3wZz8Xr\neRf215JeJ1YeTHB6gx0wxlIV5oa8Aio2coEsB9eyhUB9h0PJY/dOAKAgohKD\n85xuMJWGZYySrJ0zRFQ3XCxzdBCqgQuoes8La2vJyw9KAlX/ot53WvwiJ9c7\nLZcPmJWBs7+PPFPaJbDrATwg861MPnApAOalMaZpQqbSIJ8muOcQV9UTd6sV\nBZ6u+QfRhJPFKZuBipa286OzW1NWR3gV6EBpA5j7psP1Oej22etiRMExk9wx\nkdG57YMPfHa026oqZEGpN/hdHTj19sSRwVXouVlF89b/6xfKWEPF/yfqwsx8\nRTw5\r\n=9Mvo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCveTFt/YsVxvesrnZLXTEpL+x08qstXptFBemnIAn8pQIhAJ52rOK5g6OircX9CQ8gvJ+/sGXUiPMCsIDyJ7XVN3Pu"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.0.0_1643419962684_0.9083435729289018"},"_hasShrinkwrap":false},"7.1.0":{"name":"fork-ts-checker-webpack-plugin","version":"7.1.0","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"4.0.0","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"74a6afaafc5e159760d9e84353f22541efd54354","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.1.0","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-bqY4AVhvBUcqMZXi9T9JqCm0DM839P6ed5MSZ3H+TTUHHIKamvNXNl3NuE4lS9iVEKmtj9laITeDui0WRaaPvQ==","shasum":"00b7ba2cb5548e09c945fb5c8c339cdbc66e40e6","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.1.0.tgz","fileCount":180,"unpackedSize":225785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiABIwCRA9TVsSAnZWagAAjQkQAJhrP882EESW32o1iOVL\nZTl1nTmR4eevvC+wQDruX/gB9w51nP8W6IsmIyO6scfEbX0+GQCQWVSPRQRz\njBPDiZFMjQ6jOiEztHewZRQges/nAjXq8AkzpKHXz/9hUP6AIOEvOzx6jkYw\ncxqtqCogO6z9ZhBRC6bEr2RcJg/sIuaKM5Pc2uUVLxiPE5HlP5qzJWqjXisY\nEqrbTSYJs/f6NWNx9PZo0lscY9Z49sqCui1rHm88wI9aUeB4RcAdJ9vS9tVM\nWHg7H9bpJNOqGOvwNmp1fyGixTgIyp6L0NzJZcKskCMgCDVE+xMg6lVDj7Vx\n031KBH0kcXw97kiSlLfPPaBfCsoe6LsY0817mpIQ1ixJdSAAIHxwCFHXiF84\nHlsxWp35+Lgq5MZxA2I3xRaGl5rpK/6RLrEbdcLgfPKjDc0SzxO26RIXonDM\nxQnrqlD8OIdfBQ++PTZjFWpzs8ywktms+6ac8bJNqfBpnTu4HhjOf2aYhGDD\nS/Al8DDbBZdZb7QdDOJmnmbKaZEvlyCe+vV0myDW86NunBTujdLxURoQLJTY\n5vFI10RF4m7N2ylKVOc7zpJeImtMKOReX3MCVKpAVt0rH9awAKZZEmlW+aDk\ntTkmT9/UmDZFZvrgXTeHtOzlOJkjW4a9gVzf/SMzWRdzn/SNBsq4aF4saqDy\nWDww\r\n=Wl7c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQcFTC91ilzeH9JWQU7CvyCufoPhHFHoCL3iTsoBUdFQIhAIOHCs+dhTJoyeucVQHp2PVwWne/aAv5mK71fvstlPfE"}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.1.0_1644171824571_0.15753268820338673"},"_hasShrinkwrap":false},"7.1.1":{"name":"fork-ts-checker-webpack-plugin","version":"7.1.1","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"4.0.0","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"78b60907f3fc44b9323629bb365527b420ce23ec","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.1.1","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-MgAv1g6+HLXz1iq2AZRfBjDhwBwk1HRSjuhNiMs8ax/3tsFo0rHedKwuE6ok44sJ5F5VgwPZae8gq0wiBAqYRw==","shasum":"9806c04f3aecaec8c9e8872806cd1f26d50d92a8","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.1.1.tgz","fileCount":180,"unpackedSize":226675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiACNNCRA9TVsSAnZWagAAdQYP/RWJkWABycuL9tnGvBxv\nIUYngskSkqagkyYjloxHf9ov7zl0VCDFkNRB7LC7yS7RfQZNfL/Nc2+yc6xy\nBa1dpbZ0iqJKiLvAEwYQSH5DlPBCHI3Vr+HjSEFyzn8T5JdIu96W/o62vBjv\nRDfiy3qZAIBvqqjrBzDdTLRVg38y3N8dvgwVZYBJ1ISKXZRqqoQTIXu056mK\nWpQmcMNBBn5CDuytX2U5zPZEltzwt1kyWM0P8zYXy7/6RgtdAJAkmrQBOqrm\n5IOp4691LEC2GsNbUmIqc5K2ZhZTHhj5AIR69UJqb182jzir6HfyznjSGTyf\nkbewjYUFkzPU2W66RVixLqpCE3VC/mOekwdSr6NHjfjuauZmgDvjIrxPhAzn\nPQdJWZG8GQ3Mq0I6tKQPJ/4dgIofCmREupSeW5F1znQIoDelBXwmzhltvWLT\nO8vWOBxHZsiYdT7ZDXZAFZmwAOThRy7uTbRVAnuAw8++ggJo2AjbBaXIQpL5\nfgBjAjMfXi/yY+W4WqFXVYBz55AaOrbG4FBV3GreholH+iUOi0orR3P7CIpV\n/4qAB+LtgUox9hV+1cB0pMH+dH25aX1Z4b/isiWGjZZJ7ep+Y4iw2n1PxSyQ\ntKC82mqjGqQE8kJJSjhDPuKfPgo/cHGiRDe9T9ODrIhweSf/LdrGFgKik300\nl4g8\r\n=ftFk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHJQao3ToHpZbeCZg5tMrKYGMBzeqjBaA0qB6PQNDfWaAiAPmrff8PK3G9TyszqK6o9T8tXfLBCkkCgvhXVqenHqsw=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.1.1_1644176205435_0.22853903838776546"},"_hasShrinkwrap":false},"7.2.0":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.0","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"4.0.0","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"a6b66eb77b879e6dbd86246b02602bead971ccc6","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.0","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-eqhD5RQKJFM3H/qLuTjhsePFWhq7SfXpAj2199XWn+dDxPpFRk1hnOYzhBiY4aX5qn1WhGHoIohVrha/qLIErQ==","shasum":"b67821a0f2e1741852af68e46b82ad560cb21d56","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.0.tgz","fileCount":180,"unpackedSize":227103,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAh2ECRA9TVsSAnZWagAAk84P/igU3b8Z5dadfwGm58jA\nDEkO9+KxLHI+GdCjK68HIkkyheuDBqCrk1Po5Ah908aCyK8paM+gofJwKgrM\nRH4X5Uzvw5UnxFJ1dJM22pnF0TJDvu8lwwX/K+E9atll1dX+3dMeUdrpI/+i\nmJceaR1bUPQskNrkfcPDlynUmkvCmeB8tS5MgF6PWnWV0aKpv8Q0x8q6ZN7Z\nGBZ8EOEHDJ+L0FJCWtvyiPW62idWDF69IEnk4HU41aZ9tK2aUiKDcqOEQuTv\nA1qJguSPsBjfGmEFRQPKKTkIhnxByZDf7zvCOPUFiDr7MXrWAgqnxrz2VqMI\naNQwibqPsPTuoa9P0PPpa/3/7BBJpMY+n0z9RKBtIn+LI2OkOfvcRRQMWpR4\niNAbPLAp36ZGqqWHdX3BKktslADTrFhBKmYZ13K5kA4hQ3pqrub6wq/Lv4Go\nvb8PAVvLgsIpHP8jUutI+KZOG4EEooDk9/1uXIc2/Pzn2K3pPc4GqSL+Xt1/\nXzUWRmfLwxBBww9lih9xe8icLMFXTnO2P5qfFu0wD/VoSENgXPYMzf4gn/bd\nipwAlg2/sHzq7EOHs21nVHa92+qGcHTMsQaHcWpoJ8sD9EZiPFeJayrkvIup\nLdeZlgr27a2Qv+VnAO5GjOpgzEBnmeBT7JxoheEZH8hOmujFxzeGbQVowoth\nTGL0\r\n=oz2k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBXQzX8/qz1pb+QA8jE4yR6AAe3ZnwjSfE4BJZdeZhIfAiBfgtA4PhVizSxMYNymj8FhxYq1cLmdDAunxPpfViyFNg=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.0_1644305795986_0.47865033615154684"},"_hasShrinkwrap":false},"7.2.1":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.1","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"4.0.0","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"b5a38c11dd568575f41a2eb24ba6fd33dd866d78","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.1","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-uOfQdg/iQ8iokQ64qcbu8iZb114rOmaKLQFu7hU14/eJaKgsP91cQ7ts7v2iiDld6TzDe84Meksha8/MkWiCyw==","shasum":"c37a538e12730fe11fd725bcf0fce29487950833","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.1.tgz","fileCount":180,"unpackedSize":227287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCDOxCRA9TVsSAnZWagAAOC0QAI0E93J6KysQL0A283QU\n5ZeV17mGoN6OKyEfA+IuADJ0uG/6mY7fFca7k0QqEp9b17ONGxhdI2L0QNCY\n8MtyDLvDQXOvYuBDFtSOQGCCyKcqPttk7/tim3mD5TQ3DSir2TwAXFBcuN+h\nNRyyQDLB9Y1Gk/bjEPChCnY07d0NimNxaf4y+BcpaSy2HgXmfAvgjsR0JAoV\naIhZWihCRXYW6ewqiADrMPUc8wbBA/s8Q0ez5I28gOv02C42DFW1frMwfjh9\nl8ZAXj876G4cIXRnW76ooTkfaGphV/OxRvGs6jktuFo/CH53xkkQkUusgwI2\n2GNxCRJujPJ2xqAaUzkhtPvAau7T9ZKXZaVzvjgpgpkHzi8S+kd2sspkmg2u\nO8NlV9kU4DCU60Q4+Z3Uuj9b0Z3dFmNbhbfCfs5d0mGJX6JFY6K7Kv6K+v2l\njE86bmgqspdGEPAO7O+D3FJmScE9Ntp5VdLObtiHikR+pO5XyCdO3CyXWjMq\nagItEHjtE9UX+p/a1Nf++4SVtPqJ0q+3SybWg+dxIcx4f3l5Eiqta631oG6F\nTc3yFWNv4r4T8xT3Hoz190Bmkuu5WX4t8X8fGJ8rX9GCyn0qCepuKjntWdgx\ncQthMCejEjrgOjzYStK8EVHW08ygfXZCNktUjbO4IxLCFGpBuh8rtKPNqhDD\n5yaP\r\n=oR1n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESZL4+TrTHYT7HWlCK/iwmFTCAEyx/jcEV+Pt3Oi0GfAiALFI4ABRDyAoB39f7BKogZ0wtzHSn3zVeqKQh9cG3L1g=="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.1_1644704689019_0.5602368043980659"},"_hasShrinkwrap":false},"7.2.2":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.2","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"2d3294103da96d1f59fde6312b19e38d510ce91d","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.2","_nodeVersion":"16.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-MZhBT0/yCCXHJjCvI7qxNWSpWu7aKmpMXHs3gFoGP887AJpMVjX6ALXM7JQBoY1kZ/Xy0rCh6n5jXdjlcR1Lyg==","shasum":"6bab91c22c688e75f5bbe07d67ed9b9f1ff8c5cd","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.2.tgz","fileCount":180,"unpackedSize":227288,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDFeowjiG4KUrT9gaafhEz2ufSYb0ee0wiZhHU3hqKGAAiEAlZcfy9j5sYOwt0+S28Cf5w27hlCJdrzC1cGdnGvIH6U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSdGtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoyqBAAooXQqPZZqbY6R2SzNy5QbPf9WGaL5UeMMzdxWbDzlxxZfwI1\r\nlbH6cca6P8oIJJWxfGRdvXF/FTiT5DcAi95IIBc7pVNfZKT/VF1ApSraFLrG\r\nHzQTlbdggryRfBmPO0RArtDTg8wSLqKTrxN7HZ8KzsM7B0O+twLGUMJnBJ2X\r\nUBMFUARnsgCjPFOmi9IkQw73OORbS3oClRoDjQmFve00b8kY1tcmD/cfkcLG\r\nCCps7jAamSgvh/1JfgbxZ7QRMARlLadkWZ5a9xVU8/ProC3kzMEQ6OyljU3s\r\nXTf9dC+Tq5+JeXP3yvK28fJiImNOLejwwikWCpvvaARqxywMpaY4B01UpU5/\r\nCyFB/oqovj4xU15p/y4U6jx4BqlH/pcHSsFrRtjPpovxBhoLvLTHUCOwSomF\r\n09V50nGbxqsdI9ucEaoTkE5xwfAlpxQ3aPePxVK3TjhXW7z48QUdvoY0Vgs6\r\nMBrdV4PB67A59XkU2NG9NrgDsfm4qiVy1shJMFfuMXIYE3NFqmmqc73lq6fY\r\n96YuHpBfr0Wgo9Kl5PDkUU41326KjVEujV5/rxE69H5wqwqaGIUMXozdrTZM\r\nOJSllXSP3NpL6oMlf8p8KVn433SVlGm7YKq3Gx/dsQksTEjIZUirL9xnNT1w\r\nLsgQ/qEyZ+877azgeGZETVHnhlKHxvhIYRA=\r\n=d9oZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.2_1649004973373_0.44940696006816205"},"_hasShrinkwrap":false},"7.2.3":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.3","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"d2fe738f882946c7431f7af68f9ba1a5bf809924","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.3","_nodeVersion":"16.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-9v308zIFTIFkWJBN/4N1A5oqm/ed9hWG6GH+KYTCBjYCEJOmHoVtDIWpfrJ0eD6cPB7V53HEVoJ6bL2In8QRaw==","shasum":"978dbc0b601556552a5a274a8984ec5dd8de56a3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.3.tgz","fileCount":180,"unpackedSize":227566,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDAORXyKisZZQhvghbMZkn3m+WinijrlIS4THxrwlrw8AiBhyp0fWRDa/vTCk1V//+LfvAWQtBDB5VCDPUn+6jodHQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSpiqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXaA/8CVwRgd89BDtwk/x5RuHAWDU4vFhdsb1YIcxGi5iM/ilIpO5k\r\nI/nExD5VaJhfEtAaQa01ZhH7GwGKwkKSqHFQAeLW3Rj17fSlY+QahXzWm9Jj\r\nNGQvIBDzXuUFLsjL33kGOXqhm94hLfHNcQZg8XOcaOMkgbyeZ1ZozDvUAMEB\r\n6hZKpyUxhN/pHj7NMZzsg5Z/j5q5ySHmFaV2Ty2pqzZ87BuJLmXLsNaKQYRm\r\nmRGuO3PwQ+aAhXOXAKPBh7ewz5ASVCfHbEQuplOkeSazy2x0N6ILntD8nzNL\r\nrBf8Hro35VxcQU1b+gTuQ6+LBXlLLnBYLFMJQxqxYNpaeOIQrVafuZkbm2R9\r\n1WchKxEWRsoUuIQWXHR/T124xMuM+lz5O1yQHXZRgLmd+G0wkaIoCtBmr0cn\r\nL9VnCI7fAkpoN9lOhc93dwY5177S9b18vI/o5jGSoyxwWYgVQqH+zoHedziQ\r\nD3s2GWxJgFrq6LqhZdnKDKK4ZREfO04QLHCUJ4gfXLHEcFXa5aS/ilEGUGPR\r\nWyD4akCXG+uNlKXv5JWB6WpqspAirbru/VfTkJNR1Yh1cE43sEwbhHio4qrN\r\nz2dcwi7M7lHB6Sh+5U7+B5Zkt4ujRZnWQMPFVCFC637mWitD5yeA+wzN8ev5\r\n9ZZy/vnfWgqNFz4Y5jLCleW0hvnijUE/6aM=\r\n=lKYG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.3_1649055914060_0.47868938407197037"},"_hasShrinkwrap":false},"6.5.1":{"name":"fork-ts-checker-webpack-plugin","version":"6.5.1","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"13ade223ebf85d19155090d12618cf47e2e52773","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) are in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.{ts,tsx,js,jsx}' // required - same as command `eslint ./src/**/*.{ts,tsx,js,jsx} --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`                           | `undefined`                                                        | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-dts'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. If you use `ts-loader` with `transpileOnly` flag set to `true`, use `'write-dts` to emit the type definition files. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. If you set the `files` option, it will be `true` by default. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  origin: 'typescript' | 'eslint';\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude eslint issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { origin: 'eslint', file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\n// ./src/webpack/MyWebpackPlugin.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nclass MyWebpackPlugin {\n  apply(compiler) {\n    const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n    // log some message on waiting\n    hooks.waiting.tap('MyPlugin', () => {\n      console.log('waiting for issues');\n    });\n    // don't show warnings\n    hooks.issues.tap('MyPlugin', (issues) => \n      issues.filter((issue) => issue.severity === 'error')\n    );\n  }\n}\n\nmodule.exports = MyWebpackPlugin;\n\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst MyWebpackPlugin = require('./src/webpack/MyWebpackPlugin');\n\nmodule.exports = {\n  /* ... */\n  plugins: [\n    new ForkTsCheckerWebpackPlugin(),\n    new MyWebpackPlugin()\n  ]\n};\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0, you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.5.1","_nodeVersion":"12.22.11","_npmVersion":"6.14.8","dist":{"integrity":"sha512-x1wumpHOEf4gDROmKTaB6i4/Q6H3LwmjVO7fIX47vBwlZbtPjU33hgoMuD/Q/y6SU8bnuYSoN6ZQOLshGp0T/g==","shasum":"fd689e2d9de6ac76abb620909eea56438cd0f232","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.1.tgz","fileCount":226,"unpackedSize":276626,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWM3FD8JEmgsL2HNeE0ta/WeOB0s9AALS+RkbiToGoHwIhAM+J1OYefGujgOa8ftfHal1WIErAXBv06P4jsVKM5/rE"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTgEtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoK8g/8CgjnlA8O19p7/O5KfgV21PoetIk0D7bt76z+j2D0kYfA31Kd\r\nzWMaLxFhoumS4ib5aMN33ImtfdJpY+YTB5EAdFQcrNbyhwnRMTIuX5O8Ptfy\r\npyRyQbCvWj8sogo1VIqiTsxKqyVpexz5cE3KSO/XCjxUFWrtYgRBdsGAk/oR\r\n8EPgnZ6Q+7S+ZB/SzKGSxFpARrAwgO+8pWhyDBZ6pzm65Ird/MRO+8ZpkYNF\r\nfgWLSTTLukULheBNDlAbdZCJmxgyn6znyBVlArvECp88oPOSHrGj4RNG/6VF\r\ncZIaZy4UTCdqq7O0kgyIU/079R8BuSnvUziriyu+V1hogLMNdr7u1AogTr7P\r\n+T0sOjeNv3i/XA1th6w+f9zHCikJQa5X8R/2rJYf0l/UMYUCRRM+Zmjke532\r\npYFV1v1lgb08KR+Lz5JzZ26vXs1eVOAY5SZnKyJRBYwbiQEqYgvfROkTfcic\r\nSnoMtCBf6ShrpO4YHhvaTcfF8JK3gg0fAbRdQTu4DX2X2/h0oBl+y1VIQj/V\r\nYhEL6w+n77bj1b91bIBGHmjIYUuAiNHgcncQVEvAMtc/R/DRLFYVRx0c2FUW\r\nvR8GnHjmVdqH897n8A8peog5BOeLovzmP6baGwohTvX43c8sghBB5FiQqb9w\r\nKMoq6pl/So3romlacG8roHsdOEtTmpE3Vw4=\r\n=XgBE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.5.1_1649279277396_0.7786502133114703"},"_hasShrinkwrap":false},"7.2.4":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.4","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"cb327eef7abc4ac72381c8387d8bbc0d48bdd461","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.4","_nodeVersion":"16.14.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-wVN8w0aGiiF4/1o0N5VPeh+PCs4OMg8VzKiYc7Uw7e2VmTt8JuKjEc2/uvd/VfG0Ux+4WnxMncSRcZpXAS6Fyw==","shasum":"9c755035405eecad0680826c7063564126d21a16","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.4.tgz","fileCount":180,"unpackedSize":227985,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICMQilf34KQ+v9B6vDnjzb7SK9n0KPzxIFr/zbyqDeH0AiEAoInSAAK/JIc8kwUsAu+76wQNCO1J1MC05tMsHvvUrtE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU9yVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAiQ//SVZ8V0EP62bUXMUiufIYwiDElFVr1WDU5M3gb813Um794O/p\r\nTT8OQqOoNuCtfdxjorn3fa3W2OzTxjkY5FvmmpiGjGylXqU48edXtGvlitRc\r\nt+AL6/txUss8s50n3yykj+0B7ZIJgNr2X94S5iWlTkggN2c5+JRccWPhSBE9\r\nL+0vPe2Za5Z2epJFnwLTpb0NEQGvIaI/WB38d/W4WqdnrkzjUIGTA8KJJVwA\r\nFwHCcTtDY1I00GIc4VmhNMXQYT+KVkfoAGH5JkEZsA+upOq1WzrA2aV+lado\r\nTpuNisQKNr5CgugKKt2sGXlmv0y4CZ+aez4bkzT++UoXOSLqg/pG1WiCeTM6\r\nKDpH9oWKVYW78/cB1avySNuOTNiCVyRptIzlu9gYsUWzm/pewZaMguAI0PtN\r\nG1Ro8uWAzSV4NGoUyLZTaF8R6OCNCGXNXF3H87EAy7tN2G5YaeM3I87xeCFC\r\nt1hf9uSMNl8o/gLFT8CTZD3Lz2YosxRdnapdVjN8lw1ZHbLKjGJFNomDHjlI\r\nANHU1nTp+NVrGAeB5Po/AkTTU3cKBv+MH5n1ov9G/mtzDTZlOQrjvAGZ84Ks\r\naB3RylC+TLVeGNSTf2qFVwH/LffWwfZCtj3yb8ohT6Y+tLcJlvl7XmLWtLUn\r\n0Eorl27atBqlZYntdl2TaRnVF1FiZ93XUCc=\r\n=VOYH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.4_1649663125651_0.9173135053189727"},"_hasShrinkwrap":false},"7.2.5":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.5","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"be2add9f97441cffeea6f98f3a9cb14ed30ce404","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.5","_nodeVersion":"16.14.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-CYaOu8dSPeJ/HBOHf/pAi5hNH44J7Ou/PaMTUc4Xkupil522wPqVGmqifGCdRc2SYVRu1Mz/kKbluozkXsY+uA==","shasum":"9b6b099167223a639e66c821d9b7de85ba9ac574","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.5.tgz","fileCount":182,"unpackedSize":228135,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEGbhv1FDffj6ZePcttsTYsHYMMn9ysA7wIp6M4AAX7QAiEAwOCMmxW8A0TzPtna9MqmYGf5gNPM84okyLeBG+cYqTA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiV0woACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqTg//bDP6ewNXiOlj/Nkb3EuZlydkricLSVO6BdZpYb4bNz9/chjU\r\nFfxp715cvXQ0pa7vFPiqfcRpsWUEmO2WWLzF6V9EEDv0bl8jGhuKXJp8PQoi\r\n4QlrapcJRIDZ5c71+/OaNqkhnShqz6KELPqPESG4ZGNAmFHM68dPNSzZwUzn\r\nuJPfDPyfpw+sEbr5gExzP7EEy+XAckGvxxWbh8LlCy/InJzNJMNngWhbsLGS\r\n4AyxRuZndVjb4zbi5NOp8TYlxgrvPRfgeYnEt1RPjbJMPB+W7XDHDU3QqzIl\r\nBZyofPVF1q7PXmBAIcAFnGWdGSxab+tJWR+30S/VaD8o8QC5goIawQdfY/K9\r\n6VqAit4GYJoW+XH3HXcB349vbM6bDL2G86mok4KEMLmXkF3ATchk0AG7jbEw\r\nLNFJt/ltN7s06vE5v6663pIoO20kAN6FQs+tLrPgBzrkInh6P5Kzbo5/oZMh\r\nmHCirBICVheXVWowqUWN5xLFp4oeJpOSjFs1EPHzocIj/jOMEvZ9pMNKIqo2\r\nn37Unnab7GjxMmDDON6x3ChFLg++xJl0priLTnfc+9l1YBdm7qq9FibBGCeO\r\nYbSAjnHSi2wvTRT+rjJvD4xluyQGTzcVEUneENyzyuTKBX4+yLPjMN1hgcnP\r\nYz65mZ5toYwnCrl06mfCK+iuOUjleay6vDI=\r\n=Sa/n\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.5_1649888296578_0.7644876449105698"},"_hasShrinkwrap":false},"7.2.6":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.6","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"a2826a880180081fa45f58136ed9fb20835f4968","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.6","_nodeVersion":"16.14.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-q5rdvy7CaqEWyK3ly/AjSMQ+e3DGkjuqP0pkTwJcg+PHLhQfTJXqkmRIeA2y0TPfX4U00Et+AxS2ObAsVcm0hQ==","shasum":"24e6b5b1ad9155bf25572a75cde9f33633a04069","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.6.tgz","fileCount":182,"unpackedSize":228338,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGjBisqUD3VOxXD6/HZ/bvLFrb6Bwjvakq6eqSMish9fAiEAvOolcGBT/6dWAFK0hbaQ0XCtxsTXnwgD5roDG4AZ+Q0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiV8jOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJvhAAjVa9YwMFep79i5Ze4r+OozTha6SJYU5xrzThuNm8j9iiqA4G\r\niKLabW4JCvdTkseU+mcK8Vmm7IVCnW93ehGPOmCKQglTd8Pfv3diriodueAZ\r\nV7bkDGP2SONIEP9bessjDvX/mjH1N85popVZN49cmS42Ret6fWblHgWpsIm9\r\ngW6fv5Z0g7WHYL8tya17FcfMxGL4ec0dU7N26J9HLf11daEiXUJiIyvnzmq/\r\nytDF6Q4VuMKqZlpst+CMLlY3Oeq68Gb5cT0VwzeYsoPWjFcv0Ervs2zFnSwl\r\ni4Af0N/P5n7iz2ofJl1D1arDUW58vOH/7cGQe8xRC0HFsBpiB8gsLRagMpGo\r\nhQfTdXi3ZgPv8mdc9pAd0CJ5iMWnHB6n7cJqKo0X5zn2JMAj1lmodxah1MS9\r\nefUP49Ojw/elCdRQ56AvLzOiZGo3YRQldaXDEVpmnwb0IQ14hSeXsh2kFFy+\r\ng2TvL7uvyzKk5mF7ie6JRw0SRPSkzUoIWkXNTvHG2SsSEeKTT63cGFTs1znL\r\ny7QZv3ubc3Ypqp+qWYfMxLANxFkrH42ktQpkl1ruYSiyY+mI7vb4l1oDGy6w\r\nf0pREN+jV/eIPBhsv43YkU6GdYFbyX3nIB0vMXjPYgtjE3J4JwJ6PHBOc6z7\r\nQ0MqHAtwodVV4qNHsOCCkdiUxkEDkNKBMJI=\r\n=zOta\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.6_1649920206355_0.021975013727732584"},"_hasShrinkwrap":false},"7.2.7":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.7","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"d84a8222c372ee50b54c749b7f9bc21f900395bd","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.7","_nodeVersion":"16.14.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-ona/4AGDJ3Rls7AAbkZDfvHfiAu431k4rFndL4ZGRjVtuOYPY4amud/Y+jySsaz+FI/Z9cUrad1MRUGKIm41tg==","shasum":"19a7801e3dd628f32634a2db52ec5286e3cf9e02","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.7.tgz","fileCount":182,"unpackedSize":228653,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCV6S2GzkKtG0yjBR8f3ipkapWTAHhDcGpRVgxCOaGgxQIgTG9fUm90qEZDmHJJMAEMDaxNMo0cvKgngtGG2EP80i4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZIoPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEuBAAjLUkQ7P037QOKtVB20zqIFznZFQ5CtR8SqLcmn/UoL0NKe3S\r\ngwkhmALaqI6IoYY3vWbLKrrsgsHlqkvPealjkgbFpw1ARSuFs1typnuaECLB\r\nyx9fghv4M/gcYWZ2ZZx6kFEtVN09c98IzxtbJHOtYJRLVPSy8Sdi5O+QVdUg\r\nTEaPLRrv7/0+qE0oXkSfJC23/kwaOTpyTJM9fjmJV37+fq7xlRbQ3P0ljYW7\r\nWUmNab15Td7sdKUWTIX9vjv5e4rd77XmRx7jQEG3iVGCd0D/vs0gncT9pS+c\r\nWT1TUKhH+kAcCH1XIZxJgopi2WP+61iucx38G4BWdbUEiaKgNZZWtoA/rEoP\r\nbwNzoh/ZMxkkHplrh99EgOXves7YZmH/26BJD1PvmgF2hCAaApBtG0X8g7ij\r\nPreC3AMNlAYvyUUO/so7nHk1hG4T+yHCyovkbLahwUlJFs+RZwO8is2QaqKB\r\nY1NN2HwCUcwJ45p9biUEWK2HxSNc3IWOf+7+EhxWSWGMiY+NkrxKI3ImY7hL\r\n7lJHPtCjZA70kXLK4TUWpD2My/jvhPM37csLRDSC/RR0TTrNmJS1+T0/HFAg\r\nX7KUprPWFVlfYt/1gRygDY2sRrqfpH7vJuljwtmWmWvcmogxwrDbP3/2cOBg\r\nC1UX5VboowSzoDYguETIxKO01iyui8bycRg=\r\n=ewUF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.7_1650756111250_0.1342412853580781"},"_hasShrinkwrap":false},"6.5.2":{"name":"fork-ts-checker-webpack-plugin","version":"6.5.2","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"b4f7201cdaaa8ae4143bf7d70bb23b76e8e6f077","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) are in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.{ts,tsx,js,jsx}' // required - same as command `eslint ./src/**/*.{ts,tsx,js,jsx} --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`                           | `undefined`                                                        | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-dts'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. If you use `ts-loader` with `transpileOnly` flag set to `true`, use `'write-dts` to emit the type definition files. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. If you set the `files` option, it will be `true` by default. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  origin: 'typescript' | 'eslint';\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude eslint issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { origin: 'eslint', file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\n// ./src/webpack/MyWebpackPlugin.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nclass MyWebpackPlugin {\n  apply(compiler) {\n    const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n    // log some message on waiting\n    hooks.waiting.tap('MyPlugin', () => {\n      console.log('waiting for issues');\n    });\n    // don't show warnings\n    hooks.issues.tap('MyPlugin', (issues) => \n      issues.filter((issue) => issue.severity === 'error')\n    );\n  }\n}\n\nmodule.exports = MyWebpackPlugin;\n\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst MyWebpackPlugin = require('./src/webpack/MyWebpackPlugin');\n\nmodule.exports = {\n  /* ... */\n  plugins: [\n    new ForkTsCheckerWebpackPlugin(),\n    new MyWebpackPlugin()\n  ]\n};\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0, you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.5.2","_nodeVersion":"12.22.12","_npmVersion":"6.14.8","dist":{"integrity":"sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==","shasum":"4f67183f2f9eb8ba7df7177ce3cf3e75cdafb340","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz","fileCount":226,"unpackedSize":276977,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4GZ3rtvnhoKKufj4zGIY+URt61Knc2z1ZDs1z3h9GjwIhAMEhKX5NrpHtmqFhBHuHgfvMHf++bYHMyq4S66T12fK7"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ5pLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgSw/+LxvHcYVdDAmYPxERKEwydgJmNeUUjU0GuplC/QYDEUHCxm+R\r\ndSvQkaiLcR1CcYwvFMeGFelIckv/fTvXHCOMXmAYcKjq0cCpibmb29XZfH4r\r\nK4x9gUZInlsB4p//PNo/vOPrmUI73EB1Aorr4FeFjvOa/nU0msS2SFbuq8tV\r\nvVdMj062Jho1GhSG16fRZVyrhVQ+sCth8xVWlZNqgy71bfAHV+w8tdcOKoW4\r\nyR51AXs1TyeRw1U7KZ47j7C3GjMB1MPUxyiueWMMVX+LAkeK/zI+yQovV62k\r\nr0ZGtpBpTX/3OKtWj+QQdp8IVM9tx1k1fjQLOvncSq+2RXX4RlYrlnbieQB0\r\na0M8Y0CHX9cwiXd/Ns652HG4A6vEhekqgoKtn9x11BtETTSKzg7ayfx2XyCz\r\nwMSbNEF+X1MKZ9K2T6g3Ks8xS3BcH6YnHksL8F/T8OGaUZHs3d+NwBW8uc23\r\nTdrHcQji0ExWiZ4wfeEiW/bM7s+2N3i/9BRA1jDAtvMS3Oay13YpzeXygveQ\r\nLuLc4m+OWYMqSuexFVYACWXyTVWtD/ldb2SWRlPDGCeZbrOozMg6z9wtCV7P\r\nXXAJTW7N8n5Q0HR/WuGSIJCmOoQgi92oG/G9kgjYtV1CoMCMpxYLPNVyTyeV\r\nC+otl/IMtGm0Px1gfe/dHhjPlIEUWDRtDvY=\r\n=9w5L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.5.2_1650956875618_0.894099068594173"},"_hasShrinkwrap":false},"7.2.8":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.8","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"756531c5697189c6e4aa4c9c4af683f0f4031313","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.8","_nodeVersion":"16.14.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-kvOM0w3Hi66o3qNLWNN9mWcMXwZNjuQ0+LMloxAM+QL5ZRGV6sLZnFyM86qKLNWklEG5XofcYWSAVosjtNg+vg==","shasum":"afe403ed92bb49a3456549ee518e28b35d213452","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.8.tgz","fileCount":182,"unpackedSize":228375,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+t8KVimJnSyqJfeoA/Xf57Sld5izZLmRjooP+0/sZiAiBOn+1MuvqHvhVT+DV0ChPJa9+9qhx2ggdt5lWtKI0exw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiavJ3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppCRAAhXMarqWbU5BmpjDt/macFoLGCa9mZjsXWHAbFB7IFS31OlDe\r\n4iveErOSfe8O7tOflyymihRqkPSobXj8L0EFYJbgEh9K9/r/Ms8qnTb6rd+p\r\nTyrExtAP16QtEHnsglZ1kScApMwTQmS7k7NY6P97hjhmdy+yO/+42VthyEcv\r\naQevETCOUy2gYH9Dz2oTdN6frE9rAvPAbsuIhH3s+sZPpqYPVmxoLv0A+m5M\r\nvVOLvO3tV0iWNMrX/9OSyYuBmk1HLc3qm/wHg8CIoVjKrRz9NGh6ngiZRcpQ\r\n31cPi9KtKmm10F0Tx7tK4SPS0/a5Nzg4qKJYa315hdlN6IX7xuIdLvS7kuvw\r\nFd6Td3ykBGY2lWqpZ+lI/UP8+UQg6lpWchQZX4KpVHL/u/W6/aPXBQ0uP3AT\r\nNFSngDWAMJkA1iNDb7Sj1+pFjWgX1H3eL8m6VqFATzL0rF6dyYqDe0fQjY4v\r\nuPK9MqafKR3GzHUDN6LNETQtV8kVMgrb2/6HMcH38XlZJL37xhyxKIOpDkU1\r\nWWLvEKbfjO5fPSqtZJqBID06Js4d6LhaxRPfE2Rjx+Otwkok41x/DBGz3ZS6\r\n8M0xpSyaCkHUtayK1BhN/Nk21zD09HtW5G2ApMkLnVymNxJ/4sO1e44PPRHZ\r\nAg/XdvXlLMCgxHZfSQz94vM8ZEm6vV05SFA=\r\n=qHx0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.8_1651176055646_0.7612287704724885"},"_hasShrinkwrap":false},"7.2.9":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.9","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"f23da17d96baf0833d84b75350af0eeac1293041","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.9","_nodeVersion":"16.14.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-tiK7gAyND3pK7CFXgKXjzBQ4w2SuxPCHDsIUSN7qJD6vUNKt2LHAb+4nxm5GhxI5ADK8aFYIWQv3knC24k4sRg==","shasum":"4677c1bde10b492df6dc56ebaa538c14f0370782","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.9.tgz","fileCount":182,"unpackedSize":228422,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5UKpV/O9SODWtY4vJ3RjDyO1DMY4H8aNnHu3ZXNnAhwIhAODQ5xkzw/V7a5zycklrQioEOnO4C5wgxjzCAz0Eoe3w"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibSvvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYJQ//TZwsLA5J4Ux8MjzfdKwGkLPLkWZtGRf6CDQTg3EiaABXnUtc\r\nvCCYHwysZFRVXxFle6AFOcTLyMTD8pYChbehuAQ0n2nOxXO5Wf9KL0qJw+Ve\r\n7L4aadiVh5/SD+u4WA4rgUa6p2mbI2+OnxNvMObMpeFDw0fSAmpZ6Pzes+Cs\r\neiwFFQlx0+y6kOVVvd4L6g+GLBEhP9fBlh/0VkNzEY7dW8/T2IxAh1pPNNHP\r\naupFucz00KtiNR2l2QUHndvYSwiy4qXoxzFcI1iJfukdSyxviPbJVfV8rRFE\r\nZPNpYfL2IXyEcnyB9zs8vTA1dCOlGngCCTp/L717PgLRxHcH2mHBXV3cLCqx\r\n/nOuL8pxppEDXlwpI4bfjTZjBfMDZV26UC7W1k3iwPn95QaUa0Fq+JFasSrF\r\n0D8D6xPzVAhbqEDvwGXx4sUt+59ItTG0lyS3Yjx+YyW9/IPiD8g5kFQWs3Nw\r\nbOPFtA5VTY1Eabl23ZuQKRA1lIcGUILTTu4NlUMdBuplO7Wx4YBBCQ6TZVrV\r\nkMcyMe/xqRl2erUqgH9f5cS0LNZGdez0DYs2u2VntudiWtShKgGxu+2hLJca\r\nL1HXGK3yq/lT9iRkOKGRDHW0wF9ee6eS1xVvcmQ19noX9c2Xd0F8kw9+qGq2\r\ncfhrLGGpiaTUAx0OT5KoIDGaXl3Zpm0t97I=\r\n=2oH9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.9_1651321839088_0.5572257843290798"},"_hasShrinkwrap":false},"7.2.10":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.10","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"d3f8f6ae3ea0414aa62b83251409af91979127c8","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.10","_nodeVersion":"16.14.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-57NS1C4/GotTub1KGEfvQUgM3AJgQPPgkCp1AzaNTT2X2zRD2WWBf0X0Z1wWCLlwvM1OHFtgehTUcnn9BMiZBA==","shasum":"356d979837ec8caeb20c66458c84457a3d0a2e89","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.10.tgz","fileCount":182,"unpackedSize":228412,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsFq6O/pWAA4WZgsV8qh1kWB7YRRscrC3BRP7wpdjG2QIgFCzF2nxxvTrojZiqQPURbky6CbUsorlEkwZya7G8/kw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibtu9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6eQ//ewBPXtKvGWPdKPy3ZfgaxQWyd3EB1MGxoKFP9Bm+hP8TEmzM\r\nBOsN3CrWApvUqK5ogjCEvvackw1tahdwtWIpjUguAQHw/BHZee1xlwPHybmS\r\nYh8+T3kuGUajZ6QxUkEefyKClLF36M2m+pEWLcUECT9VGOPg7j2Hp4pKCCbT\r\nvOXmnXAKbESaNoca/yyTH6+ph6i5CbLD2aw4rBQ2NZha1MjwQ2aUF2qpqcNi\r\n7I4lOg0zSU8+/ffBM6woHbGAU+pnB7/LT1azwDvU7xFdvIrIFhJe6XuY6e58\r\nG1p8oQPAn5JNcxneE/Dt40aLtySVQWfy34dTobwqz5RA3WTehscQoiCWtF4e\r\nibHLPxV0MqTWqHxDJ5fv+aeRXzMOzRFbaQ42hO/CHCHyrKTtAEyjxTLJ7l47\r\n0IYVSbyAP2NkG6tU/S0Eo534gcp8qBgE/8QDUFqEP9OYONeJbgV9BDwQYU4i\r\nLehNUmdywPUuL3lB86pHCtvkJddLsU1QRSTX1QaIkdPaswEKGT/W/D1VKBek\r\nzQkgDF8ZvG3yAnT4zR9uQ0mwhtPGoEvPp9X4uZ2gjApl+aj4S86CnooDQlpp\r\nEFtHMbNU4nHCwhNuAMKiLWJEwRoatR+I4J9cZD3itblPMXZZd2bSs+1kmAAX\r\nAd83wpEejJSfnzaIR0cKSNgt1PjdiAI3I7c=\r\n=tIqm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.10_1651432381346_0.862445969071844"},"_hasShrinkwrap":false},"7.2.11":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.11","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"4cc534649a493016e1d60c164a47d38679a34c6f","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.11","_nodeVersion":"16.14.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-2e5+NyTUTE1Xq4fWo7KFEQblCaIvvINQwUX3jRmEGlgCTc1Ecqw/975EfQrQ0GEraxJTnp8KB9d/c8hlCHUMJA==","shasum":"aff3febbc11544ba3ad0ae4d5aa4055bd15cd26d","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.11.tgz","fileCount":182,"unpackedSize":227991,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAzShbk2nIyyKI4BLJriZeh2/uFcJISJYMxVo57Wt/tiAiA54fkuGdIJCaK3jzAoRgucseAALbWaCr7VaH0EAU6Y2g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibuWNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofCw/+Muaa0248qURCHfeFTTUHFzG8TMO5O0xmGbm8n3UpiftFOock\r\nE8830bjVzJOArivegrBrXomomxtrxR5C/LKpejDeaxNbRJrrn6/c8ncZQ6yS\r\ngLBiYGWRz3YhNkfjwu3RulMTTUWV9ZZaS9/v+EZezA6XZQRyOwTAvNgmVYiR\r\n7wsKN/bLSFpM+67e1Q7e5H1uSSsaUCPK7DssFsGASdJ1xNfwJnZQEhaiiUjy\r\nJOImft6pDOSJgKrI1JBg5GVD6qAvHnWcRLMhsT1+k6gXpeU6/K4G91IzPLQv\r\nMMuNcnPl32TSFTR0LHI+h+bwZ6GlrOcPy7Z2E49qJx1jaKAoVZUIYt9qcEXw\r\n5+jyuH+fZ0XhTGR05KE7Cx46L0U4ju0OJMX/Gdc59UHAq3ZWDslBzrK6AYc0\r\nXOJO/jPCoARCr4RoNrGzMqaYb/ReIj0oyNLZAEx0SXlIeHoxcSGhXCfpD3rE\r\nVUuQkZG+VpRtKspBylHf1trvD9RD768em3FvFuGFY1jnOTp7RzlfwJ9fzZhn\r\n9Ok0InwlDclHLO55IwVBrFqC0g+QzvRncIdvXuZJ2QlYSfJMvZfYwvTU+DUi\r\nQ43AtmChMhswSYNthmYdBViNXE4VzF9YrprUePKaibidWfTv9g/Fuowrvno5\r\nRFs68obIGXSv14QCXmK7Kf/clBWM38iCsHY=\r\n=7IdG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.11_1651434893048_0.935449058318536"},"_hasShrinkwrap":false},"7.2.12":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.12","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0","vue-template-compiler":"*"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"7c70b9ec2f164c57ee60644e02406e92c3c132d8","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.12","_nodeVersion":"16.15.1","_npmVersion":"7.24.2","dist":{"integrity":"sha512-SCjmmjPXPgp5XRQ49hXd2Eqth8rz4+ggtOHygTzyaOn32oIIOd8Kw+xKcgXNkFGlZy5l03bHRYTkbQs+TWhaNA==","shasum":"d15c48745f9092574b41138934aa3de504a39ba1","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.12.tgz","fileCount":182,"unpackedSize":227958,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF1h/wKhI0BXNC9fgVzuXT9MM7UC0HnKFuqlAs/h9k31AiBgDi9VVm38SrzYj6TiXolg8A8/uCtnL1IL8DthFeSIcw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyurdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJSA/8CXgP4pQ57B3UDF8xMPE3ozVLrGlA+QN740wfIocd8lMnoUda\r\ndDcUD+UHQqqFGI2OEn/Zx5YSeFgt90ZQ9UcZk15gQX0cIgwWbZXHRSyjkPc9\r\nFDVF0aY2RSddMRNqVLBAJI+cd3lHUWBn2mrsyhScjPxfDrX2CR3mhuZTC4qc\r\n1s+hmkawzCgqg9y7OJIU+VMLGMuDhV7jSK+VdvFEhfl2EATxuAS3PSOKRW14\r\n0z1ZxFuJ3kPZZ3N9nhBy8dU5Y5EKpHVKVVigA/XkVvSmuNSsSSiS7KYp1eOD\r\nnPFfsnPALNPrLzreexWgdvYDEONWeoVHbIz+qMAk8WJF1fvTUfkwQTTqQHXz\r\n0t7OkOMB0DHyd4jASMmSFWkhdi5TGXtjjtXIa53uSinc9KhdJqRPmW2FGv7a\r\nkiFsZO/Q2oYSkx7QPIAC8NaQgkosU6Qi3DQpvGssZxTkU2dmzul6ICp76n1D\r\nCSE54COjZs7N+IKe2y61dyTnY4ep4W+3SJlzM4zJSr8JwXmD4VoQPbEZEeBQ\r\nKwmPsL1G/UWxeNmpDZnkZwoE+B/7iaQaMOcOJqyPlA81s+/LPw+FL0AS4sQi\r\nplAa0jloLch2HQIE80KHzvasTpfq4NSrxmajxHeARkTTHIBJ2tC+pjmS6lQe\r\nb+RxWyOCjLTvC8V8PdO4pTqZuZw0MZTodps=\r\n=yK0H\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.12_1657465564902_0.1800519304088013"},"_hasShrinkwrap":false},"7.2.13":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.13","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","node-abort-controller":"^3.0.1","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","vue-template-compiler":"*","webpack":"^5.11.0"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"ab5b12dc0c5dd3c3dd6338abb68628aae5ef97f1","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.13","_nodeVersion":"16.16.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==","shasum":"51ffd6a2f96f03ab64b92f8aedf305dbf3dee0f1","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz","fileCount":184,"unpackedSize":231499,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDYQ5Yif+k7xU5Tnj5N4uVwjS+rObqU0fD0NTIbEBZecAiBfzf/VvPvmenP3MBHjJvHu3emAPFade8qBB4H/L33FBg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1SN7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYMhAAjb50oQCNCTWI3VsaRk61pZkOULySBWDH6cQmnUfU5+CiyY8k\r\nIz+oQdOZ/in6C18RC9GjNV91Z+7V5tLzXIBuJ4GaPnndWWHJrgxYF2YrzGod\r\nfPTbc4zo1I0P/Et3e4GEBaWYYewKu5KjRcXeOVD98mJiwMiiwXqaHwifkmEv\r\ngi3RVD5QRp1QShITJeercvrTytd+G2hpB76f9qV6PoiiGYtbQkI5bWq5ANCZ\r\nfU2NT4isqrTpbxHwAyYqwGiJuRkg0mH5sx0y8NgqqAj+ghTvlqnMUMEmO83a\r\n75CHHQwJdG3wUXDWBvS4YS5j9qU6qq9HaOBXAdpt5YyKmh9qd35f9tgbRp9S\r\n4L5uraotEDy+DwcnM8F8totloBtWllmz4DPL7RKyNPKNml7JgO5dKr8ystpE\r\noQ+d7lmT4BzDrPqt183FKse78ktMxcfBUFrinoJ9qoa0yo7G2HFv4CChn3wE\r\nm+zJ+VmSInEuDvEUpEvW0+dO9el7X4+n1TNwc1/GS5T9FSIOE/8CdEevXI7v\r\nrkncicrezFUFJPL2zkwol+MYAXMX3thGyc3OixAy5L8oVtM8Ms49j0t9nksr\r\nPrFTDhkZtv79c64OvtXJ7/lG7tOwBN22JITqaU5E+n1oJwRI+zv+pqIhrCLb\r\nplQ8/mGNBSOxLlyL2CNmd+b29x00aoNbITw=\r\n=Y59+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.13_1658135419217_0.5739444625606254"},"_hasShrinkwrap":false},"7.2.14":{"name":"fork-ts-checker-webpack-plugin","version":"7.2.14","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","node-abort-controller":"^3.0.1","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","vue-template-compiler":"*","webpack":"^5.11.0"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"365025de93927603948cc28da850f7b1cd144450","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.2.14","_nodeVersion":"16.18.1","_npmVersion":"7.24.2","dist":{"integrity":"sha512-Tg2feh/n8k486KX0EbXVUfJj3j0xnnbKYTJw0fnIb2QdV0+lblOYZSal5ed9hARoWVwKeOC7sYE2EakSRLo5ZA==","shasum":"746eb15b4d643aafccd3c729995f9c9281eabd22","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.14.tgz","fileCount":184,"unpackedSize":231786,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBpYO1dn0eApj+q+bbRKvfm6zkRnHO/dR6b/mTptstiwIgCtpFDVTyVWnPrEg+kmwL39Pjx//0OsF3tVF+Qs24rXw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjm7d+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqxsw//Vtvlexa6XCLkaSJ3ZJMmy9xn7ilxDgioV7B9S4nPapetjBYJ\r\neFU13Z+nCNIP1/dSNTXqS4Iihrn59raz3F3pVXWhfPWJOoHHsT1uQuePcIqZ\r\nXfc3pGIdw9iPZ/YlOK9lhWHiKl6XU58qSc5+H3qV9UD9FpgPxYQr94wQQVBv\r\ncqkNrjLbw5vxgXcBRhAO4UWcbEhoOKB5l7jFR5+RhGP8BfwBfEwtbzUtTQUo\r\nVtNw03RdYRUtG6mZtXVPWBnVBImqr7mZvtbN8Qdnvog6Pjz0A4EYH3DT6WEL\r\ntZNY/nIEUzL3wDYrJIHaR9RpTZynSCnUVsfDeWly86aTtAA8HHGQ+3i3+i21\r\nZheK8TYizfweCtthR3dWXajnASOpYiWevZJfQiYfHeHgeubxLoUQMpV2zf4D\r\no7mFcVA3z1FdrhmcSlgxzemqALvHZsCgkZrTWgjDEypnSxwyGGdB4UH6a9Gl\r\nO0UpolBVR6cRM3s/ySMRGT13L4x8GN1Uzf4vpxQflkydypkEFwicjxxnn2gD\r\nc6T3SjyvG55b2nYwaTtbPB2xIg6tuQi3p9SofUqQnUEc64YnnE+JmXQGKgnC\r\n5qdCDb3iyHnR9OjzyNj6HLIvpanW5vFLYH6LC/Zg0peh59sBHOz/eF1EnSuw\r\nLCkPDJaTpl7QK9jfgcJSnZfP8gqt84/SPVI=\r\n=AHYr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.2.14_1671149438196_0.13785213082393533"},"_hasShrinkwrap":false},"7.3.0":{"name":"fork-ts-checker-webpack-plugin","version":"7.3.0","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","node-abort-controller":"^3.0.1","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","vue-template-compiler":"*","webpack":"^5.11.0"},"peerDependenciesMeta":{"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"3ae3406986753518ffa0a4dd294b7c732bb128c9","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@7.3.0","_nodeVersion":"16.18.1","_npmVersion":"7.24.2","dist":{"integrity":"sha512-IN+XTzusCjR5VgntYFgxbxVx3WraPRnKehBFrf00cMSrtUuW9MsG9dhL6MWpY6MkjC3wVwoujfCDgZZCQwbswA==","shasum":"a9c984a018493962360d7c7e77a67b44a2d5f3aa","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.3.0.tgz","fileCount":184,"unpackedSize":233928,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrKRil4cQ+qK0hpu79IN6uNvgI7S8E83i5bYXWMCTnAgIhAJZAhcE7t9kWwICKHv+9LgkN30E+7yoYHzFxdLK+MBAk"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjveGHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrbwg/9FQdcS0dNsX9qyeca5bUEDBm/xnUbxySDoRxr79YUkX3ID4bC\r\n3N+2OMFOMB8P426K8XVd5Avm+zuFEMQMkvDIBo+NFQ3XRGnr95Gtng+w/ts9\r\nfMDLluD1KyejYNQQKjL5R3q1w8EK4vDbLNgbtcj3RuGlptqQ0FtXU636nGof\r\njKc8WiC+EOdGmk6m1o0T0uw0PnC0t04bwDpbYvUcU9dCkjAOvad4ydvllzIo\r\nfe3RAysfSnB4Rm3keG+eEdAWFpXhFGx7X04JWfL08VYxqRZ4XATV7bZZZDdm\r\nnpkWFOwkXFPORG0Wy+0BMLZdl6b6zytMbCVmsHXycG1I5k9XxUDU8rWCA6LR\r\ng7NaxFoJeq8to1nC1I7V+tAGYVGLiIQGxxpqNqCVZfFjX6k7r9b3GAs9FhCC\r\n0bpZJCuRebSE1hCAYvodJag0q+rknuY55yHyXO++hEhg2fstDwD2ivelqt2F\r\nRggX0M9i7v858AmLDC1p0Wiac9ZotzmleOsZmRdiH748u/6F5q9NPauK9hy2\r\n6lLfhUCVdUm52bQdX1AdnIH4jRQ8iHrbaDLrNby8vo5r1/2gyrW1QSXi3xRv\r\nS1jKS8U8KLx1ZfrZvj1Mm13Ye46gQGokrs/wiOrtDqnv8XZ1BSAKQStq8P4I\r\nN0r2R1I+1XRnxY1ioB5cBzCRN1aJAgvii2M=\r\n=yz6u\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_7.3.0_1673388423757_0.2102168991303488"},"_hasShrinkwrap":false},"6.5.3":{"name":"fork-ts-checker-webpack-plugin","version":"6.5.3","description":"Runs typescript type checker and linter on separate process.","keywords":["fast","fork","linter","webpack","plugin","ts-loader","typescript","webpack"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://blog.johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release"},"husky":{"hooks":{"pre-commit":"lint-staged && yarn build && yarn test:unit","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.8.3","@types/json-schema":"^7.0.5","chalk":"^4.1.0","chokidar":"^3.4.2","cosmiconfig":"^6.0.0","deepmerge":"^4.2.2","fs-extra":"^9.0.0","glob":"^7.1.6","memfs":"^3.1.2","minimatch":"^3.0.4","schema-utils":"2.7.0","semver":"^7.3.2","tapable":"^1.0.0"},"peerDependencies":{"eslint":">= 6","typescript":">= 2.7","webpack":">= 4","vue-template-compiler":"*"},"peerDependenciesMeta":{"eslint":{"optional":true},"vue-template-compiler":{"optional":true}},"devDependencies":{"@commitlint/config-conventional":"^11.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.1.1","@semantic-release/npm":"^7.0.6","@semantic-release/release-notes-generator":"^9.0.1","@types/babel__code-frame":"^7.0.2","@types/cross-spawn":"^6.0.2","@types/eslint":"^7.2.4","@types/fs-extra":"^9.0.2","@types/jest":"^26.0.14","@types/minimatch":"^3.0.1","@types/mock-fs":"^4.13.0","@types/node":"^14.11.10","@types/rimraf":"^3.0.0","@types/semver":"^7.3.4","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","commitlint":"^11.0.0","cross-env":"^7.0.2","cross-spawn":"^7.0.3","eslint":"^6.8.0","eslint-config-prettier":"^6.13.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","git-cz":"^4.7.1","husky":"^4.3.0","jest":"^26.5.3","jest-circus":"^26.5.3","jest-environment-node":"^26.5.2","lint-staged":"^10.4.2","mock-fs":"^4.13.0","prettier":"^2.1.2","rimraf":"^3.0.2","semantic-release":"^17.2.1","strip-ansi":"^6.0.0","tree-kill":"^1.2.2","ts-jest":"^26.4.1","typescript":"^3.8.3","webpack":"^4.42.1"},"engines":{"node":">=10","yarn":">=1.0.0"},"gitHead":"4b0c77acc23881b83d60ddbebce86a3e2dbde09e","readme":"<div align=\"center\">\n\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking and [ESLint](https://eslint.org/) linting (by moving each to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Supports [Vue Single File Component](https://vuejs.org/v2/guide/single-file-components.html) ✅ \n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires minimum **Node.js 10**, **Webpack 4**, **TypeScript 2.7** and optionally **ESLint 6**\n\n* If you depend on **Webpack 2**, **Webpack 3**, or **TSLint 4**, please use [version 3](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v3.1.1) of the plugin. \n* If you depend on **TypeScript >= 2.1** and **< 2.7** or you can't update to **Node 10**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          // disable type checker - we will use it in fork plugin\n          transpileOnly: true\n        }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()]\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader),\n> [eslint](https://github.com/eslint/eslint) and [Visual Studio Code](https://code.visualstudio.com/) are in the \n> [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly. \n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## ESLint\n\nIf you'd like to use ESLint with the plugin, ensure you have the relevant dependencies installed:\n\n```sh\n# with npm\nnpm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# with yarn\nyarn add --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n```\n\nThen set up ESLint in the plugin. This is the minimal configuration:\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      eslint: {\n        files: './src/**/*.{ts,tsx,js,jsx}' // required - same as command `eslint ./src/**/*.{ts,tsx,js,jsx} --ext .ts,.tsx,.js,.jsx`\n      }\n    })\n  ]\n};\n```\n\nYou should also have an ESLint configuration file in your root project directory. \nHere is a sample `.eslintrc.js` configuration for a TypeScript project:\n\n```js\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n  },\n  extends: [\n    'plugin:@typescript-eslint/recommended'\n  ],\n  rules: {\n    // place to specify ESLint rules - can be used to overwrite rules specified from the extended configs\n    // e.g. \"@typescript-eslint/explicit-function-return-type\": \"off\",\n  }\n};\n```\n\nThere's a [good explanation on setting up TypeScript ESLint support by Robert Cooper](https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb).\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n  \nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name              | Type                               | Default value                                                      | Description |\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------ | ----------- |\n| `async`           | `boolean`                          | `compiler.options.mode === 'development'`                          | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode. |\n| `typescript`      | `object` or `boolean`              | `true`                                                             | If a `boolean`, it enables/disables TypeScript checker. If an `object`, see [TypeScript options](#typescript-options). |\n| `eslint`          | `object`                           | `undefined`                                                        | If `undefined`, it disables ESLint linter. If an `object`, see [ESLint options](#eslint-options). |\n| `issue`           | `object`                           | `{}`                                                               | See [Issues options](#issues-options). |\n| `formatter`       | `string` or `object` or `function` | `codeframe`                                                        | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass object: `{ type: 'codeframe', options: { <coderame options> } }`. |\n| `logger`          | `object`              | `{ infrastructure: 'silent', issues: 'console', devServer: true }` | Available loggers are `silent`, `console`, and `webpack-infrastructure`. Infrastructure logger prints additional information, issue logger prints `issues` in the `async` mode. If `devServer` is set to `false`, errors will not be reported to Webpack Dev Server. |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                 | Type      | Default value                                                                                                  | Description |\n| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------- | ----------- |\n| `enabled`            | `boolean` | `true`                                                                                                         | If `true`, it enables TypeScript checker. |\n| `memoryLimit`        | `number`  | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `configFile`         | `string`  | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path) |\n| `configOverwrite`    | `object`  | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`. |\n| `context`            | `string`  | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`.  |\n| `build`              | `boolean` | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command. |\n| `mode`               | `'readonly'` or `'write-tsbuildinfo'` or `'write-dts'` or `'write-references'` | `'write-tsbuildinfo'`                                      | If you use the `babel-loader`, it's recommended to use `write-references` mode to improve initial compilation time. If you use `ts-loader`, it's recommended to use `write-tsbuildinfo` mode to not overwrite files emitted by the `ts-loader`. If you use `ts-loader` with `transpileOnly` flag set to `true`, use `'write-dts` to emit the type definition files. |\n| `diagnosticOptions` | `object`  | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform. |\n| `extensions`         | `object`  | `{}`                                                                                                           | See [TypeScript extensions options](#typescript-extensions-options). |\n| `profile`            | `boolean` | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance. |\n| `typescriptPath`     | `string`  | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found. |\n\n#### TypeScript extensions options\n\nOptions for the TypeScript checker extensions (`typescript.extensions` option object).\n\n| Name                 | Type                  | Default value             | Description |\n| -------------------- | --------------------- | ------------------------- | ----------- |\n| `vue`                | `object` or `boolean` | `false`                   | If `true`, it enables Vue [Single File Component](https://vuejs.org/v2/guide/single-file-components.html) support. |\n| `vue.enabled`        | `boolean`             | `false`                   | Same as the `vue` option |\n| `vue.compiler`       | `string`              | `'vue-template-compiler'` | The package name of the compiler that will be used to parse `.vue` files. You can use `'nativescript-vue-template-compiler'` if you use [nativescript-vue](https://github.com/nativescript-vue/nativescript-vue) | \n\n### ESLint options\n\nOptions for the ESLint linter (`eslint` option object).\n\n| Name                 | Type                   | Default value             | Description |\n| -------------------- | ---------------------- | ------------------------- | ----------- |\n| `enabled`            | `boolean`              | `false`                   | If `true`, it enables ESLint linter. If you set the `files` option, it will be `true` by default. |\n| `files`              | `string` or `string[]` | This value is required    | One or more [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)) to the files that should be linted. Works the same as the `eslint` command. |\n| `memoryLimit`        | `number`               | `2048`                    | Memory limit for the linter process in MB. If the process exits with the allocation failed error, try to increase this number. |\n| `options`            | `object`               | `{}`                      | [Options](https://eslint.org/docs/developer-guide/nodejs-api#cliengine) that can be used to initialize ESLint. |\n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  origin: 'typescript' | 'eslint';\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description |\n| --------- | ------------- | ------------- | ----------- |\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](./src/issue/IssueMatch.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded. |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude eslint issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { origin: 'eslint', file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Vue.js\n\n⚠️ There are additional **constraints** regarding Vue.js Single File Component support: ⚠️\n * It requires **TypeScript >= 3.8.0** (it's a limitation of the `transpileOnly` mode from `ts-loader`)\n * It doesn't work with the `build` mode (project references)\n\nTo enable Vue.js support, follow these steps:\n\n<details>\n<summary>Expand Vue.js set up instruction</summary>\n\n1. Ensure you have all required packages installed:\n```sh\n# with npm\nnpm install --save vue vue-class-component\nnpm install --save-dev vue-loader ts-loader css-loader vue-template-compiler \n\n# with yarn\nyarn add vue vue-class-component\nyarn add --dev vue-loader ts-loader css-loader vue-template-compiler \n```\n\n2. Add `tsconfig.json` configuration:\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"jsx\": \"preserve\",\n    \"target\": \"ES5\",\n    \"lib\": [\"ES6\", \"DOM\"],\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"],\n      \"~/*\": [\"src/*\"]\n    },\n    \"sourceMap\": true,\n    \"importsNotUsedAsValues\": \"preserve\"\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n```\n\n3. Add `webpack.config.js` configuration:\n```js\nconst path = require('path');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.ts',\n  output: {\n    filename: 'index.js',\n    path: path.resolve(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader'\n      },\n      {\n        test: /\\.ts$/,\n        loader: 'ts-loader',\n        exclude: /node_modules/,\n        options: {\n          appendTsSuffixTo: [/\\.vue$/],\n          transpileOnly: true\n        }\n      },\n      {\n        test: /\\.css$/,\n        loader: 'css-loader'\n      },\n    ],\n  },\n  resolve: {\n    extensions: ['.ts', '.js', '.vue', '.json'],\n    alias: {\n      '@': path.resolve(__dirname, './src'),\n      '~': path.resolve(__dirname, './src'),\n    }\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new ForkTsCheckerWebpackPlugin({\n      typescript: {\n        extensions: {\n          vue: true\n        }\n      }\n    })\n  ]\n};\n```\n\n4. Add `src/types/vue.d.ts` file to shim `.vue` modules:\n```typescript\ndeclare module \"*.vue\" {\n  import Vue from \"vue\";\n  export default Vue;\n}\n```\n\n5. If you are working in VSCode, you can get the [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension to complete the developer workflow.\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description |\n| ---------- | -------------------------- | --------------------- | ----------- |\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking. |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled. |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking. |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues. |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\n// ./src/webpack/MyWebpackPlugin.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nclass MyWebpackPlugin {\n  apply(compiler) {\n    const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n    // log some message on waiting\n    hooks.waiting.tap('MyPlugin', () => {\n      console.log('waiting for issues');\n    });\n    // don't show warnings\n    hooks.issues.tap('MyPlugin', (issues) => \n      issues.filter((issue) => issue.severity === 'error')\n    );\n  }\n}\n\nmodule.exports = MyWebpackPlugin;\n\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst MyWebpackPlugin = require('./src/webpack/MyWebpackPlugin');\n\nmodule.exports = {\n  /* ... */\n  plugins: [\n    new ForkTsCheckerWebpackPlugin(),\n    new MyWebpackPlugin()\n  ]\n};\n```\n\n## Typings\n\nTo use the plugin typings, you have to install `@types/webpack`. It's not included by default to not collide with your\nexisting typings (`@types/webpack` imports `@types/node`). [It's an old TypeScript issue](https://github.com/microsoft/TypeScript/issues/18588), \nthe alternative is to set `skipLibCheck: true` in the `compilerOptions` 😉\n```sh\n# with npm\nnpm install --save-dev @types/webpack\n\n# with yarn\nyarn add --dev @types/webpack\n```\n\n## Profiling types resolution\n\nStarting from TypeScript 4.1.0, you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json`\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where. \n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n\n## Related projects\n \n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n","readmeFilename":"README.md","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@6.5.3","_nodeVersion":"12.22.12","_npmVersion":"6.14.8","dist":{"integrity":"sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==","shasum":"eda2eff6e22476a2688d10661688c47f611b37f3","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz","fileCount":226,"unpackedSize":276792,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClgyBk8CEu4HjAfAfQcF7ACUReYZJ3llrQgE8p+BtFwwIgNGEqde0DlHL/RCLVipCaKEsx7AWVdmQKgSbPF4s+o7s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBP+DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3Og/+KWHIUHO8nz9XEfC3INL6+Bv4MFxNfdiXzhLlL7yr0iSw3QEK\r\n84E1PdaaNjeWwGj6ct/j6mRllLVS9DPBeSE8C83+U1JSh5K3tC+MH8SBlSpu\r\nUCy8cVPn/pCEbvXZCY/qHqCNwD+CkVlHmXRQ4r/OfLndKwSyVfHTqSqEDa87\r\nGC7qG9tN22qFj/wHQIXhjt9JsISqsmipBpOKH+teY8Qt9ixj2jf7RDqz4lXR\r\n0PlVC1dpz+ouXqIds7DBRI92/GTFLTYihJt5IFKep3SBO+Z2c1Kt6BDSWbvU\r\nJMBop3vCRS/yjmLsQaUf0FFVPewbShcOBWx5wa//rBJAqJE9oee4dRtvkjCX\r\nG20wlJu9yS2BcgN26srXyf28r/P2Oqbmbuvjxy1LxXyvkvtUY6YdQi5iqXnf\r\nCZDli8bxvfR2mb+aKQsCeYlCIrn8sYwJ1RFiPJTscKYD4zoXqBAe++NYHoly\r\n4WqPvLLaVQn3eFk6c4jj/dG6ENycMLBWEIF222cud1im+m0W7rIy1DtwkS+/\r\n+7onzt8snkO5mUhLF3KAgOIblIXN+Au2ejf9qUOc4TjskDUWnHMslpGbx9NV\r\n0y1DOdykcc6Q9pzQS1rxc2157hmFUb9ZKEGKFIeLUCbNg0RtFPul/M+awoU1\r\n0Y7xgR+uDf5+jD1TU19ChZYwM4hyb/A8i/E=\r\n=9lij\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_6.5.3_1678049154831_0.2331662995945416"},"_hasShrinkwrap":false},"8.0.0":{"name":"fork-ts-checker-webpack-plugin","version":"8.0.0","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","node-abort-controller":"^3.0.1","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"83cbefbfa7960d6ff5701d61e22307c52a7a2604","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@8.0.0","_nodeVersion":"16.19.1","_npmVersion":"7.24.2","dist":{"integrity":"sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==","shasum":"dae45dfe7298aa5d553e2580096ced79b6179504","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz","fileCount":168,"unpackedSize":208192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4zKzI2rmht7h1epUsmj8cSFltkxlwVjXUc7oAyuHHrAiEAuypVqQ3B2xAY0OR3y5MgdoGLj0lzpy/Oa1XDEV3duaM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBQh5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoS+Q/9GP8S0YMR0ApbKs+Bu2U6P9ffXsMVpGchL3FraI9CT2m99rY+\r\n1afh/WoJy3RxpJpNiBk9G3FE+SNeERxBGuXjqCyO/tU4F2/pDNa3yu0QLkXr\r\navakvO7ynB249Y1TXDEoDTaNbO09Uq/AuL55pRK4nM7hzrkR6OEeUstTiMPy\r\nryk+rQmaK+mwRl0hYltOmNTVYUd2PuTvLUNY+9nudk+f8XxwAn+En+ZV+jNd\r\njZiNjRGaAEmNOm5Mp5AhKx+Pnq9/48iYaJjFNHZdxP04J+/Ck1htGsYnKD9j\r\nrspQppv9Xuqe8daidEiLmLR2446oa07zb1ENpNkgx2j40kCrFkC/7nXc5CP/\r\n7wSdV9nwCr8Hhz32Z0BAD1d+z6zhaMxefzmm43rsj+2pJlhF04jXqToRIyQz\r\nm54PSUvSq9MxAhd0J7JPixq40OMIQPCQLyVpT934NsNFGxPObAcDvlZSxG89\r\nNQA6AcUQdVpzEaAJhaqimrDakmxInKS0B+rpEvXLOiCWMX5TlrV7wpZpgNsm\r\ne4sjjHZwZdc4xkoxu3fDHbpdmpu2Hc7w9K+Um4Y8ye3E68s1hlu8PfRgA+aE\r\nWwqhjaD6zVFqno1yMcH0SM+u+G4kYH2TLF4jgQE5lWV3no74c+eNMzFTlr2D\r\nxwWOUC+Tb3l6kSCpUURAZGJ8UhV9Z/ZMmLg=\r\n=rREl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_8.0.0_1678051449174_0.4895185778723843"},"_hasShrinkwrap":false},"9.0.0":{"name":"fork-ts-checker-webpack-plugin","version":"9.0.0","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","node-abort-controller":"^3.0.1","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"d3b462e08fd6ee501b786a3f0e43477f74001d9a","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@9.0.0","_nodeVersion":"16.20.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-Kw3JjsfGs0piB0V2Em8gCuo51O3p4KyCOK0Tn8X57oq2mSNBrMmONALRBw5frcmWsOVU7iELXXsJ+FVxJeQuhA==","shasum":"e12b9e6116d32b07a2dbc0ea08f62b1cea24d35a","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.0.tgz","fileCount":168,"unpackedSize":208338,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlsmHuZYpWdwyYUixbBpjk8N5Vpe7UVaZ4VbeMu5+RBgIgDcwhWue5pNOv+nbTsk3E9Q6NpzdBYjwpVUqrY0XLLXw="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_9.0.0_1696404703596_0.5390784222463998"},"_hasShrinkwrap":false},"9.0.1":{"name":"fork-ts-checker-webpack-plugin","version":"9.0.1","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^7.0.1","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","node-abort-controller":"^3.0.1","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"c999a139751c442185bea7388ccc6330c5e0ac1e","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@9.0.1","_nodeVersion":"16.20.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-kjLmID/ja88yTygxYpxtUeHedIDxvEiO7WVvMpTPwK4xvCMl6dFLdeq+La0ZfWWs3R3pjuG4wChvs/IF9naKCw==","shasum":"52b479f11972efbcaeb10e9d6e5e8d713c65364b","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.1.tgz","fileCount":168,"unpackedSize":209670,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID4lECmxl9KbdpOdiPmQwb5NeJu4UgUbcXS/SnKwnzHnAiEAn6k6MEMKtlzdKkyJqaXWsYWTe5mWJ+U3IYp1DckGUW0="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_9.0.1_1698575190779_0.22367139654592894"},"_hasShrinkwrap":false},"9.0.2":{"name":"fork-ts-checker-webpack-plugin","version":"9.0.2","description":"Runs typescript type checker and linter on separate process.","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"license":"MIT","author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://johnnyreilly.com"}],"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"cross-env rimraf lib && cross-env tsc --version && cross-env tsc","lint":"cross-env eslint ./src ./test --ext .ts","test":"yarn build && yarn test:unit && yarn test:e2e","test:unit":"cross-env jest --config=test/unit/jest.config.js","test:e2e":"npm pack && cross-env jest --config=test/e2e/jest.config.js --ci -i -b","precommit":"cross-env lint-staged && yarn build && yarn test:unit","commit":"cross-env git-cz","semantic-release":"semantic-release","prepare":"husky install"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.ts":"eslint --fix"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@babel/code-frame":"^7.16.7","chalk":"^4.1.2","chokidar":"^3.5.3","cosmiconfig":"^8.2.0","deepmerge":"^4.2.2","fs-extra":"^10.0.0","memfs":"^3.4.1","minimatch":"^3.0.4","node-abort-controller":"^3.0.1","schema-utils":"^3.1.1","semver":"^7.3.5","tapable":"^2.2.1"},"peerDependencies":{"typescript":">3.6.0","webpack":"^5.11.0"},"devDependencies":{"@commitlint/config-conventional":"^16.0.0","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/exec":"^5.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","@types/babel__code-frame":"^7.0.3","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.13","@types/jest":"^27.4.0","@types/json-schema":"^7.0.9","@types/minimatch":"^3.0.5","@types/mock-fs":"^4.13.1","@types/node":"^16.4.13","@types/rimraf":"^3.0.2","@types/semver":"^7.3.9","@typescript-eslint/eslint-plugin":"^5.10.1","@typescript-eslint/parser":"^5.10.1","commitlint":"^16.1.0","cross-env":"^7.0.3","eslint":"^8.8.0","eslint-plugin-import":"^2.25.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^4.0.0","git-cz":"^4.8.0","husky":"^7.0.4","jest":"^27.4.7","jest-circus":"^27.4.6","jest-environment-node":"^27.4.6","json-schema":"^0.4.0","karton":"^0.4.1","lint-staged":"^11.1.2","mock-fs":"^5.1.2","prettier":"^2.5.1","rimraf":"^3.0.2","semantic-release":"^17.4.4","strip-ansi":"^6.0.0","ts-jest":"^27.1.3","typescript":"^4.5.5","webpack":"^5.67.0"},"engines":{"node":">=12.13.0","yarn":">=1.0.0"},"gitHead":"26a81edca9c7d9abada1e76e76fb978f903f97a3","homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","_id":"fork-ts-checker-webpack-plugin@9.0.2","_nodeVersion":"16.20.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==","shasum":"c12c590957837eb02b02916902dcf3e675fd2b1e","tarball":"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz","fileCount":168,"unpackedSize":209591,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAkkPWS4gxf0KKdYO8aAbUEeaZL5mO9Rj+9338ul3Af2AiEA5pvHlp3sGbrghHWKqUNnQ2YZwpYrzZ8N2rMntaHUY9A="}]},"_npmUser":{"name":"piotr-oles","email":"piotrek.oles@gmail.com"},"directories":{},"maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fork-ts-checker-webpack-plugin_9.0.2_1698611469113_0.9951867543250728"},"_hasShrinkwrap":false}},"readme":"[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)\n\n<div align=\"center\">\n\n<img alt=\"\" width=\"300\" src=\"./media/logo.svg\" />\n<h1>Fork TS Checker Webpack Plugin</h1>\n<p>Webpack plugin that runs TypeScript type checker on a separate process.</p>\n\n[![npm version](https://img.shields.io/npm/v/fork-ts-checker-webpack-plugin.svg)](https://www.npmjs.com/package/fork-ts-checker-webpack-plugin)\n[![build status](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/workflows/CI/CD/badge.svg?branch=main&event=push)](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/actions?query=branch%3Amain+event%3Apush)\n[![downloads](http://img.shields.io/npm/dm/fork-ts-checker-webpack-plugin.svg)](https://npmjs.org/package/fork-ts-checker-webpack-plugin)\n[![commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n</div>\n\n## Features\n\n * Speeds up [TypeScript](https://github.com/Microsoft/TypeScript) type checking (by moving it to a separate process) 🏎\n * Supports modern TypeScript features like [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) and [incremental mode](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag) ✨\n * Displays nice error messages with the [code frame](https://babeljs.io/docs/en/next/babel-code-frame.html) formatter 🌈\n\n## Installation\n\nThis plugin requires **Node.js >=14.0.0+**, **Webpack ^5.11.0**, **TypeScript ^3.6.0**\n\n* If you depend on **TypeScript 2.1 - 2.6.2**, please use [version 4](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v4.1.4) of the plugin.\n* If you depend on **Webpack 4**, **TypeScript 2.7 - 3.5.3** or **ESLint** feature, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.2.6) of the plugin.\n* If you depend on **Node.js 12**, please use [version 8](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v8.0.0) of the plugin.\n* If you need Vue.js support, please use [version 6](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/v6.5.2) of ths plugin\n\n```sh\n# with npm\nnpm install --save-dev fork-ts-checker-webpack-plugin\n\n# with yarn\nyarn add --dev fork-ts-checker-webpack-plugin\n```\n\nThe minimal webpack config (with [ts-loader](https://github.com/TypeStrong/ts-loader))\n\n```js\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nmodule.exports = {\n  context: __dirname, // to automatically find tsconfig.json\n  entry: './src/index.ts',\n  resolve: {\n    extensions: [\".ts\", \".tsx\", \".js\"],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.tsx?$/,\n        loader: 'ts-loader',\n        // add transpileOnly option if you use ts-loader < 9.3.0 \n        // options: {\n        //   transpileOnly: true\n        // }\n      }\n    ]\n  },\n  plugins: [new ForkTsCheckerWebpackPlugin()],\n  watchOptions: {\n    // for some systems, watching many files can result in a lot of CPU or memory usage\n    // https://webpack.js.org/configuration/watch/#watchoptionsignored\n    // don't use this pattern, if you have a monorepo with linked packages\n    ignored: /node_modules/,\n  },\n};\n```\n\n> Examples how to configure it with [babel-loader](https://github.com/babel/babel-loader), [ts-loader](https://github.com/TypeStrong/ts-loader)\n> and [Visual Studio Code](https://code.visualstudio.com/) are in the [**examples**](./examples) directory.\n\n## Modules resolution\n\nIt's very important to be aware that **this plugin uses [TypeScript](https://github.com/Microsoft/TypeScript)'s, not\n[webpack](https://github.com/webpack/webpack)'s modules resolution**. It means that you have to setup `tsconfig.json` correctly.\n\n> It's because of the performance - with TypeScript's module resolution we don't have to wait for webpack to compile files.\n>\n> To debug TypeScript's modules resolution, you can use `tsc --traceResolution` command.\n\n## Options\n\nThis plugin uses [`cosmiconfig`](https://github.com/davidtheclark/cosmiconfig). This means that besides the plugin constructor,\nyou can place your configuration in the:\n * `\"fork-ts-checker\"` field in the `package.json`\n * `.fork-ts-checkerrc` file in JSON or YAML format\n * `fork-ts-checker.config.js` file exporting a JS object\n\nOptions passed to the plugin constructor will overwrite options from the cosmiconfig (using [deepmerge](https://github.com/TehShrike/deepmerge)).\n\n| Name         | Type                                 | Default value                             | Description                                                                                                                                                                                                                                                                                                                   |\n|--------------|--------------------------------------|-------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `async`      | `boolean`                            | `compiler.options.mode === 'development'` | If `true`, reports issues **after** webpack's compilation is done. Thanks to that it doesn't block the compilation. Used only in the `watch` mode.                                                                                                                                                                            |\n| `typescript` | `object`                             | `{}`                                      | See [TypeScript options](#typescript-options).                                                                                                                                                                                                                                                                                |\n| `issue`      | `object`                             | `{}`                                      | See [Issues options](#issues-options).                                                                                                                                                                                                                                                                                        |\n| `formatter`  | `string` or `object` or `function`   | `codeframe`                               | Available formatters are `basic`, `codeframe` and a custom `function`. To [configure](https://babeljs.io/docs/en/babel-code-frame#options) `codeframe` formatter, pass: `{ type: 'codeframe', options: { <coderame options> } }`. To use absolute file path, pass: `{ type: 'codeframe', pathType: 'absolute' }`. |\n| `logger`     | `{ log: function, error: function }` or `webpack-infrastructure` | `console`     | Console-like object to print issues in `async` mode.                                                                                                                                                                                                                                                                          |\n| `devServer`  | `boolean`                            | `true`                                    | If set to `false`, errors will not be reported to Webpack Dev Server.                                                                                                                                                                                                                                                         |\n\n### TypeScript options\n\nOptions for the TypeScript checker (`typescript` option object).\n\n| Name                | Type                                                                           | Default value                                                                                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |\n|---------------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `memoryLimit`       | `number`                                                                       | `2048`                                                                                                         | Memory limit for the checker process in MB. If the process exits with the allocation failed error, try to increase this number.                                                                                                                                                                                                                                                                                                                                                                                                                                                |\n| `configFile`        | `string`                                                                       | `'tsconfig.json'`                                                                                              | Path to the `tsconfig.json` file (path relative to the `compiler.options.context` or absolute path)                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |\n| `configOverwrite`   | `object`                                                                       | `{ compilerOptions: { skipLibCheck: true, sourceMap: false, inlineSourceMap: false, declarationMap: false } }` | This configuration will overwrite configuration from the `tsconfig.json` file. Supported fields are: `extends`, `compilerOptions`, `include`, `exclude`, `files`, and `references`.                                                                                                                                                                                                                                                                                                                                                                                            |\n| `context`           | `string`                                                                       | `dirname(configuration.configFile)`                                                                            | The base path for finding files specified in the `tsconfig.json`. Same as the `context` option from the [ts-loader](https://github.com/TypeStrong/ts-loader#context). Useful if you want to keep your `tsconfig.json` in an external package. Keep in mind that **not** having a `tsconfig.json` in your project root can cause different behaviour between `fork-ts-checker-webpack-plugin` and `tsc`. When using editors like `VS Code` it is advised to add a `tsconfig.json` file to the root of the project and extend the config file referenced in option `configFile`. |\n| `build`             | `boolean`                                                                      | `false`                                                                                                        | The equivalent of the `--build` flag for the `tsc` command.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |\n| `mode`              | `'readonly'` or `'write-dts'` or `'write-tsbuildinfo'` or `'write-references'` | `build === true ? 'write-tsbuildinfo' ? 'readonly'`                                                            | Use `readonly` if you don't want to write anything on the disk, `write-dts` to write only `.d.ts` files, `write-tsbuildinfo` to write only `.tsbuildinfo` files, `write-references` to write both `.js` and `.d.ts` files of project references (last 2 modes requires `build: true`).                                                                                                                                                                                                                                                                                         |\n| `diagnosticOptions` | `object`                                                                       | `{ syntactic: false, semantic: true, declaration: false, global: false }`                                      | Settings to select which diagnostics do we want to perform.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |\n| `profile`           | `boolean`                                                                      | `false`                                                                                                        | Measures and prints timings related to the TypeScript performance.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |\n| `typescriptPath`    | `string`                                                                       | `require.resolve('typescript')`                                                                                | If supplied this is a custom path where TypeScript can be found.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |\n\n### Issues options\n\nOptions for the issues filtering (`issue` option object).\nI could write some plain text explanation of these options but I think code will explain it better:\n\n```typescript\ninterface Issue {\n  severity: 'error' | 'warning';\n  code: string;\n  file?: string;\n}\n\ntype IssueMatch = Partial<Issue>; // file field supports glob matching\ntype IssuePredicate = (issue: Issue) => boolean;\ntype IssueFilter = IssueMatch | IssuePredicate | (IssueMatch | IssuePredicate)[];\n```\n\n| Name      | Type          | Default value | Description                                                                                                                                                |\n|-----------|---------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `include` | `IssueFilter` | `undefined`   | If `object`, defines issue properties that should be [matched](src/issue/issue-match.ts). If `function`, acts as a predicate where `issue` is an argument. |\n| `exclude` | `IssueFilter` | `undefined`   | Same as `include` but issues that match this predicate will be excluded.                                                                                   |\n\n<details>\n<summary>Expand example</summary>\n\nInclude issues from the `src` directory, exclude issues from `.spec.ts` files:\n\n```js\nmodule.exports = {\n  // ...the webpack configuration\n  plugins: [\n    new ForkTsCheckerWebpackPlugin({\n      issue: {\n        include: [\n          { file: '**/src/**/*' }\n        ],\n        exclude: [\n          { file: '**/*.spec.ts' }\n        ]\n      }\n    })\n  ]\n};\n```\n\n</details>\n\n## Plugin hooks\n\nThis plugin provides some custom webpack hooks:\n\n| Hook key   | Type                       | Params                | Description                                                                                                                                                        |\n|------------|----------------------------|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `start`    | `AsyncSeriesWaterfallHook` | `change, compilation` | Starts issues checking for a compilation. It's an async waterfall hook, so you can modify the list of changed and removed files or delay the start of the service. |\n| `waiting`  | `SyncHook`                 | `compilation`         | Waiting for the issues checking.                                                                                                                                   |\n| `canceled` | `SyncHook`                 | `compilation`         | Issues checking for the compilation has been canceled.                                                                                                             |\n| `error`    | `SyncHook`                 | `compilation`         | An error occurred during issues checking.                                                                                                                          |\n| `issues`   | `SyncWaterfallHook`        | `issues, compilation` | Issues have been received and will be reported. It's a waterfall hook, so you can modify the list of received issues.                                              |\n\nTo access plugin hooks and tap into the event, we need to use the `getCompilerHooks` static method.\nWhen we call this method with a [webpack compiler instance](https://webpack.js.org/api/node/), it returns the object with\n[tapable](https://github.com/webpack/tapable) hooks where you can pass in your callbacks.\n\n```js\n// ./src/webpack/MyWebpackPlugin.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\n\nclass MyWebpackPlugin {\n  apply(compiler) {\n    const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);\n\n    // log some message on waiting\n    hooks.waiting.tap('MyPlugin', () => {\n      console.log('waiting for issues');\n    });\n    // don't show warnings\n    hooks.issues.tap('MyPlugin', (issues) =>\n      issues.filter((issue) => issue.severity === 'error')\n    );\n  }\n}\n\nmodule.exports = MyWebpackPlugin;\n\n// webpack.config.js\nconst ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');\nconst MyWebpackPlugin = require('./src/webpack/MyWebpackPlugin');\n\nmodule.exports = {\n  /* ... */\n  plugins: [\n    new ForkTsCheckerWebpackPlugin(),\n    new MyWebpackPlugin()\n  ]\n};\n```\n\n## Profiling types resolution\n\nWhen using TypeScript 4.3.0 or newer you can profile long type checks by\nsetting \"generateTrace\" compiler option. This is an instruction from [microsoft/TypeScript#40063](https://github.com/microsoft/TypeScript/pull/40063):\n\n1. Set \"generateTrace\": \"{folderName}\" in your `tsconfig.json` (under `compilerOptions`)\n2. Look in the resulting folder. If you used build mode, there will be a `legend.json` telling you what went where.\n   Otherwise, there will be `trace.json` file and `types.json` files.\n3. Navigate to [edge://tracing](edge://tracing) or [chrome://tracing](chrome://tracing) and load `trace.json`\n4. Expand Process 1 with the little triangle in the left sidebar\n5. Click on different blocks to see their payloads in the bottom pane\n6. Open `types.json` in an editor\n7. When you see a type ID in the tracing output, go-to-line {id} to find data about that type\n\n## Enabling incremental mode\n\nYou must both set \"incremental\": true in your `tsconfig.json` (under `compilerOptions`) and also specify mode: 'write-references' in `ForkTsCheckerWebpackPlugin` settings.\n\n\n## Related projects\n\n * [`ts-loader`](https://github.com/TypeStrong/ts-loader) - TypeScript loader for webpack.\n * [`babel-loader`](https://github.com/babel/babel-loader) - Alternative TypeScript loader for webpack.\n * [`fork-ts-checker-notifier-webpack-plugin`](https://github.com/johnnyreilly/fork-ts-checker-notifier-webpack-plugin) - Notifies about build status using system notifications (similar to the [webpack-notifier](https://github.com/Turbo87/webpack-notifier)).\n\n## Credits\n\nThis plugin was created in [Realytics](https://www.realytics.io/) in 2017. Thank you for supporting Open Source.\n\n## License\n\nMIT License\n\n","maintainers":[{"name":"piotr-oles","email":"piotrek.oles@gmail.com"}],"time":{"modified":"2023-10-29T20:31:09.525Z","created":"2017-05-05T16:10:15.100Z","0.1.0":"2017-05-05T16:10:15.100Z","0.1.1":"2017-05-06T22:12:39.553Z","0.1.2":"2017-05-10T14:45:44.462Z","0.1.3":"2017-05-12T07:59:45.231Z","0.1.4":"2017-05-21T21:07:51.377Z","0.1.5":"2017-05-23T19:42:51.597Z","0.2.0":"2017-06-02T21:21:57.189Z","0.2.1":"2017-06-04T10:40:18.796Z","0.2.2":"2017-06-07T20:17:29.282Z","0.2.3":"2017-06-20T09:56:43.037Z","0.2.4":"2017-06-28T17:36:19.422Z","0.2.5":"2017-07-08T20:02:44.840Z","0.2.6":"2017-07-08T22:35:57.507Z","0.2.7":"2017-07-15T10:32:39.768Z","0.2.8":"2017-08-31T07:38:48.238Z","0.2.9":"2017-11-21T20:34:38.893Z","0.2.10":"2017-12-23T22:05:37.933Z","0.3.0":"2018-01-09T19:53:27.370Z","0.4.0":"2018-02-25T14:29:24.845Z","0.4.1":"2018-03-09T09:08:19.087Z","0.4.2":"2018-06-03T06:50:39.837Z","0.4.3":"2018-07-10T19:19:06.431Z","0.4.4":"2018-08-03T13:43:33.347Z","0.4.5":"2018-08-08T13:24:09.574Z","0.4.6":"2018-08-08T19:49:40.240Z","0.4.7":"2018-08-10T21:44:18.410Z","0.4.8":"2018-08-11T13:55:59.288Z","0.4.9":"2018-08-17T19:50:03.208Z","0.4.10":"2018-10-06T10:03:55.576Z","0.4.11":"2018-10-24T05:40:00.502Z","0.4.12":"2018-10-24T21:04:47.239Z","0.4.13":"2018-10-27T05:15:09.521Z","0.4.14":"2018-10-28T11:26:42.393Z","0.4.15":"2018-11-07T20:31:40.121Z","0.5.0":"2018-11-21T21:10:55.338Z","0.5.1":"2018-12-11T05:44:11.327Z","0.5.2":"2018-12-13T21:34:13.734Z","1.0.0-alpha.0":"2018-12-23T17:21:35.557Z","1.0.0-alpha.1":"2018-12-24T08:05:30.165Z","1.0.0-alpha.2":"2019-01-13T09:59:00.367Z","1.0.0-alpha.3":"2019-01-15T22:59:45.488Z","1.0.0-alpha.4":"2019-01-18T21:51:06.424Z","1.0.0-alpha.5":"2019-01-19T20:27:25.558Z","1.0.0-alpha.6":"2019-01-21T10:21:51.828Z","1.0.0-alpha.7":"2019-02-20T07:05:11.985Z","1.0.0-alpha.8":"2019-02-23T13:39:12.380Z","1.0.0-alpha.9":"2019-02-26T07:11:18.899Z","1.0.0-alpha.10":"2019-03-04T09:06:06.972Z","1.0.0":"2019-03-06T22:17:51.309Z","1.0.1":"2019-03-27T17:23:26.273Z","1.0.2":"2019-04-11T12:22:30.927Z","1.0.3":"2019-04-17T21:32:24.032Z","1.0.4":"2019-04-19T18:19:15.806Z","1.1.0":"2019-04-20T08:02:30.120Z","1.2.0-beta.1":"2019-04-22T10:12:15.027Z","1.1.1":"2019-04-22T10:45:57.409Z","1.2.0-beta.2":"2019-04-22T13:22:12.603Z","1.2.0":"2019-04-22T16:29:55.584Z","1.2.0-beta.3":"2019-04-22T23:04:40.935Z","1.2.0-beta.4":"2019-04-23T18:19:08.143Z","1.3.0-beta.1":"2019-04-30T20:13:37.361Z","1.3.0":"2019-05-02T11:54:00.075Z","1.3.1-beta.1":"2019-05-08T08:44:20.394Z","1.3.1":"2019-05-08T10:21:52.589Z","1.3.2":"2019-05-13T12:18:16.628Z","1.3.3":"2019-05-16T05:11:11.427Z","1.3.4":"2019-05-22T07:33:40.723Z","1.3.5":"2019-06-03T23:07:45.523Z","1.3.6":"2019-06-12T19:51:08.844Z","1.3.7":"2019-06-13T20:25:15.834Z","1.4.0":"2019-07-12T05:14:45.120Z","1.4.1":"2019-07-14T19:54:30.123Z","1.4.2":"2019-07-15T08:52:39.714Z","1.4.3":"2019-07-16T20:43:17.575Z","1.5.0":"2019-08-02T23:19:06.311Z","1.5.1":"2019-10-14T09:23:01.692Z","1.6.0":"2019-10-24T05:48:55.511Z","2.0.0":"2019-10-25T12:38:00.579Z","3.0.0":"2019-10-29T05:50:05.667Z","3.0.1":"2019-10-29T09:25:50.925Z","3.1.0":"2019-11-08T04:15:44.433Z","3.1.1":"2019-11-25T15:08:52.833Z","4.0.0-beta.1":"2019-12-16T09:42:34.942Z","4.0.0-beta.2":"2019-12-18T02:59:08.924Z","4.0.0-beta.3":"2019-12-19T09:07:31.329Z","4.0.0-beta.4":"2019-12-20T05:25:24.841Z","4.0.0-beta.5":"2019-12-29T17:29:52.137Z","4.0.0":"2020-01-16T21:25:14.485Z","4.0.1":"2020-01-17T10:54:02.642Z","4.0.2":"2020-01-21T22:01:25.488Z","4.0.3":"2020-01-27T09:57:24.942Z","4.0.4":"2020-02-13T08:04:06.900Z","4.0.5":"2020-02-26T09:35:11.321Z","4.1.0":"2020-03-12T08:18:14.984Z","4.1.1":"2020-03-22T19:04:50.824Z","4.1.2":"2020-03-26T12:54:00.481Z","4.1.3":"2020-04-08T07:12:59.892Z","4.1.4":"2020-05-16T16:11:35.705Z","5.0.0-alpha.1":"2020-05-23T18:33:38.158Z","5.0.0-alpha.2":"2020-05-24T08:27:46.312Z","4.1.5":"2020-05-25T14:29:19.164Z","5.0.0-alpha.3":"2020-05-25T15:25:45.768Z","5.0.0-alpha.4":"2020-05-25T15:58:53.495Z","5.0.0-alpha.5":"2020-05-25T16:32:49.524Z","5.0.0-alpha.6":"2020-05-26T08:23:00.191Z","5.0.0-alpha.7":"2020-05-26T08:41:54.090Z","5.0.0-alpha.8":"2020-05-26T19:20:18.938Z","5.0.0-alpha.9":"2020-05-26T19:38:58.652Z","4.1.6":"2020-05-27T06:24:19.364Z","5.0.0-alpha.10":"2020-05-27T11:18:22.616Z","5.0.0-alpha.11":"2020-05-27T11:39:44.845Z","5.0.0-alpha.12":"2020-05-28T14:50:41.717Z","5.0.0-alpha.13":"2020-05-28T15:13:00.124Z","5.0.0-alpha.14":"2020-05-28T19:16:43.361Z","5.0.0-alpha.15":"2020-06-03T18:27:38.720Z","5.0.0-alpha.16":"2020-06-03T21:06:18.885Z","5.0.0-beta.1":"2020-06-04T08:23:15.441Z","5.0.0-alpha.17":"2020-06-04T08:23:57.531Z","5.0.0-beta.2":"2020-06-05T07:49:51.268Z","5.0.0-beta.3":"2020-06-05T18:46:50.828Z","5.0.0-beta.4":"2020-06-06T14:36:11.682Z","5.0.0-beta.5":"2020-06-10T09:08:43.001Z","5.0.0-beta.6":"2020-06-12T09:23:16.095Z","5.0.0-beta.7":"2020-06-12T13:14:35.595Z","5.0.0":"2020-06-13T07:59:33.818Z","5.0.1":"2020-06-16T07:07:48.122Z","5.0.2":"2020-06-18T19:27:59.162Z","5.0.3":"2020-06-19T13:41:19.867Z","5.0.4":"2020-06-20T08:14:14.366Z","5.0.5":"2020-06-24T09:21:47.301Z","5.0.6":"2020-07-02T08:04:10.265Z","5.0.7":"2020-07-07T08:13:56.323Z","5.0.8":"2020-07-21T08:55:11.778Z","5.0.9":"2020-07-21T18:40:04.109Z","5.0.10":"2020-07-25T09:08:17.695Z","5.0.11":"2020-07-25T10:12:01.197Z","5.0.12":"2020-07-28T13:00:33.864Z","5.0.13":"2020-07-31T13:42:20.587Z","5.0.14":"2020-08-03T12:12:04.287Z","5.1.0":"2020-08-18T09:35:47.273Z","5.2.0":"2020-09-12T17:18:50.001Z","6.0.0-alpha.1":"2020-10-16T20:01:06.603Z","6.0.0-alpha.2":"2020-10-24T18:21:05.708Z","5.2.1":"2020-10-28T08:36:56.681Z","6.0.0-alpha.3":"2020-11-05T21:24:17.380Z","6.0.0":"2020-11-06T21:08:52.975Z","6.0.1":"2020-11-09T10:27:14.103Z","6.0.2":"2020-11-15T16:06:44.205Z","6.0.3":"2020-11-17T17:35:13.943Z","6.0.4":"2020-11-26T21:31:30.747Z","6.0.5":"2020-12-04T09:27:15.222Z","6.0.6":"2020-12-11T10:24:46.317Z","6.0.7":"2020-12-15T09:35:09.666Z","6.0.8":"2020-12-20T18:28:38.350Z","6.1.0":"2021-01-10T01:24:34.050Z","6.1.1":"2021-03-04T21:39:51.029Z","7.0.0-alpha.1":"2021-03-05T07:52:35.274Z","6.2.0":"2021-03-18T14:36:23.535Z","6.2.1":"2021-04-09T11:25:13.493Z","6.2.2":"2021-04-21T20:02:06.539Z","6.2.3":"2021-04-21T20:46:08.847Z","6.2.4":"2021-04-21T21:08:53.833Z","6.2.5":"2021-04-25T11:55:01.969Z","6.2.6":"2021-05-03T20:40:28.749Z","7.0.0-alpha.2":"2021-05-06T21:11:23.107Z","6.2.7":"2021-05-11T21:01:58.972Z","7.0.0-alpha.3":"2021-05-12T06:20:52.626Z","6.2.8":"2021-05-13T20:53:58.303Z","6.2.9":"2021-05-14T09:58:09.636Z","6.2.10":"2021-05-18T20:56:07.376Z","6.2.11":"2021-06-19T07:13:44.500Z","6.2.12":"2021-06-19T08:18:12.962Z","6.2.13":"2021-07-23T23:07:02.028Z","6.3.0":"2021-08-01T15:30:49.563Z","6.3.1":"2021-08-01T15:55:43.648Z","7.0.0-alpha.4":"2021-08-02T06:15:44.069Z","7.0.0-alpha.5":"2021-08-05T20:37:15.576Z","7.0.0-alpha.6":"2021-08-08T13:17:10.073Z","6.3.2":"2021-08-08T13:18:07.571Z","7.0.0-alpha.7":"2021-08-24T08:24:30.998Z","7.0.0-alpha.8":"2021-08-26T06:49:29.320Z","6.3.3":"2021-09-03T09:18:11.703Z","6.3.4":"2021-10-06T12:54:42.381Z","6.3.5":"2021-10-19T20:25:22.372Z","6.3.6":"2021-10-20T14:05:22.253Z","6.4.0":"2021-10-20T21:26:05.249Z","7.0.0-alpha.9":"2021-10-24T17:42:57.494Z","7.0.0-alpha.10":"2021-10-29T18:08:24.898Z","6.4.1":"2021-11-23T08:04:09.382Z","6.4.2":"2021-11-23T11:34:23.771Z","6.5.0":"2021-11-29T21:09:51.171Z","7.0.0-alpha.11":"2022-01-11T22:34:24.093Z","7.0.0-alpha.12":"2022-01-22T20:36:26.262Z","7.0.0-alpha.13":"2022-01-28T20:04:26.359Z","7.0.0-alpha.14":"2022-01-28T20:57:15.321Z","7.0.0-alpha.15":"2022-01-28T22:56:40.896Z","7.0.0-alpha.16":"2022-01-29T00:34:37.919Z","7.0.0":"2022-01-29T01:32:42.863Z","7.1.0":"2022-02-06T18:23:44.706Z","7.1.1":"2022-02-06T19:36:45.626Z","7.2.0":"2022-02-08T07:36:36.129Z","7.2.1":"2022-02-12T22:24:49.175Z","7.2.2":"2022-04-03T16:56:13.577Z","7.2.3":"2022-04-04T07:05:14.296Z","6.5.1":"2022-04-06T21:07:57.589Z","7.2.4":"2022-04-11T07:45:25.892Z","7.2.5":"2022-04-13T22:18:16.783Z","7.2.6":"2022-04-14T07:10:06.726Z","7.2.7":"2022-04-23T23:21:51.531Z","6.5.2":"2022-04-26T07:07:55.821Z","7.2.8":"2022-04-28T20:00:55.828Z","7.2.9":"2022-04-30T12:30:39.300Z","7.2.10":"2022-05-01T19:13:01.483Z","7.2.11":"2022-05-01T19:54:53.220Z","7.2.12":"2022-07-10T15:06:05.131Z","7.2.13":"2022-07-18T09:10:19.479Z","7.2.14":"2022-12-16T00:10:38.478Z","7.3.0":"2023-01-10T22:07:03.928Z","6.5.3":"2023-03-05T20:45:55.077Z","8.0.0":"2023-03-05T21:24:09.362Z","9.0.0":"2023-10-04T07:31:43.828Z","9.0.1":"2023-10-29T10:26:30.954Z","9.0.2":"2023-10-29T20:31:09.334Z"},"homepage":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme","keywords":["webpack","plugin","typescript","typecheck","ts-loader","webpack","fork","fast"],"repository":{"type":"git","url":"git+https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git"},"author":{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com"},"bugs":{"url":"https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues"},"license":"MIT","readmeFilename":"README.md","users":{"gtopia":true,"chrisaguilar":true,"lisayu":true},"contributors":[{"name":"Piotr Oleś","email":"piotrek.oles@gmail.com","url":"https://github.com/piotr-oles"},{"name":"John Reilly","email":"johnny_reilly@hotmail.com","url":"https://johnnyreilly.com"}]}