diff --git a/test/cases/compile/error-hide-stack/loader.js b/test/cases/compile/error-hide-stack/loader.js index 674e66c65..b499c32a0 100644 --- a/test/cases/compile/error-hide-stack/loader.js +++ b/test/cases/compile/error-hide-stack/loader.js @@ -1,6 +1,8 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { var err = new Error("Message"); err.stack = "Stack"; + //@ts-expect-error hideStack is not a property on normal errors err.hideStack = true; throw err; }; diff --git a/test/cases/errors/load-module-cycle/loader.js b/test/cases/errors/load-module-cycle/loader.js index 19a8c699b..ed4a740b9 100644 --- a/test/cases/errors/load-module-cycle/loader.js +++ b/test/cases/errors/load-module-cycle/loader.js @@ -1,4 +1,5 @@ -exports.default = function(source) { +/** @type {import("../../../../").LoaderDefinitionFunction} */ +exports.default = function (source) { const ref = JSON.parse(source); const callback = this.async(); this.loadModule("../loader!" + ref, (err, source, sourceMap, module) => { diff --git a/test/cases/errors/load-module-error/loader.js b/test/cases/errors/load-module-error/loader.js index 6001a39c5..3eb4fa42c 100644 --- a/test/cases/errors/load-module-error/loader.js +++ b/test/cases/errors/load-module-error/loader.js @@ -1,4 +1,5 @@ -exports.default = function(source) { +/** @type {import("../../../../").LoaderDefinitionFunction} */ +exports.default = function (source) { const callback = this.async(); const ref = JSON.parse(source); this.loadModule("./error-loader!" + ref, (err, source, sourceMap, module) => { diff --git a/test/cases/errors/loader-error-warning/error-loader.js b/test/cases/errors/loader-error-warning/error-loader.js index 175192c08..8c63082d4 100644 --- a/test/cases/errors/loader-error-warning/error-loader.js +++ b/test/cases/errors/loader-error-warning/error-loader.js @@ -1,4 +1,6 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { + //@ts-expect-error errors must be Errors, string is not recommended and should lead to type error this.emitError(this.query.substr(1)); return source; -} +}; diff --git a/test/cases/errors/loader-error-warning/warning-loader.js b/test/cases/errors/loader-error-warning/warning-loader.js index 05142648f..adc1a120a 100644 --- a/test/cases/errors/loader-error-warning/warning-loader.js +++ b/test/cases/errors/loader-error-warning/warning-loader.js @@ -1,4 +1,6 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { + //@ts-expect-error warnings must be Errors, string is not recommended and should lead to type error this.emitWarning(this.query.substr(1)); return source; -} +}; diff --git a/test/cases/loaders/async/loaders/asyncloader.js b/test/cases/loaders/async/loaders/asyncloader.js index d9be05de3..c6c0eb8d4 100644 --- a/test/cases/loaders/async/loaders/asyncloader.js +++ b/test/cases/loaders/async/loaders/asyncloader.js @@ -1,8 +1,10 @@ -module.exports = function(content) { +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function (content) { var cb = this.async(); - if(!cb) throw new Error("Loader should allow async mode"); - if(cb !== this.callback) throw new Error("result of this.async() should be equal to this.callback"); - process.nextTick(function() { + if (!cb) throw new Error("Loader should allow async mode"); + if (cb !== this.callback) + throw new Error("result of this.async() should be equal to this.callback"); + process.nextTick(function () { cb(null, content); }); -}; \ No newline at end of file +}; diff --git a/test/cases/loaders/async/loaders/syncloader.js b/test/cases/loaders/async/loaders/syncloader.js index 0356c896f..fe0c014db 100644 --- a/test/cases/loaders/async/loaders/syncloader.js +++ b/test/cases/loaders/async/loaders/syncloader.js @@ -1,3 +1,4 @@ -module.exports = function(content) { +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function (content) { return content; -}; \ No newline at end of file +}; diff --git a/test/cases/loaders/emit-file/loader.js b/test/cases/loaders/emit-file/loader.js index 126cb485d..c53b3e18f 100644 --- a/test/cases/loaders/emit-file/loader.js +++ b/test/cases/loaders/emit-file/loader.js @@ -1,4 +1,5 @@ -module.exports = function(content) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (content) { this.emitFile("extra-file.js", content); return ""; -} +}; diff --git a/test/cases/loaders/issue-10725/loader.js b/test/cases/loaders/issue-10725/loader.js index 7c3bb85cd..af9af2d24 100644 --- a/test/cases/loaders/issue-10725/loader.js +++ b/test/cases/loaders/issue-10725/loader.js @@ -2,22 +2,25 @@ const { getRemainingRequest, stringifyRequest } = require("loader-utils"); const loaderPath = require.resolve("./loader"); +/** @type {import("../../../../").LoaderDefinition} */ module.exports = function () { if (this.query === "?load") { return ` import { answer } from "./lib"; export default answer; -` +`; } const matchResource = `${this.resourcePath}.js`; const loader = `${loaderPath}?load`; const remaining = getRemainingRequest(this); - const request = JSON.parse(stringifyRequest(this, `${matchResource}!=!${loader}!${remaining}`)); + const request = JSON.parse( + stringifyRequest(this, `${matchResource}!=!${loader}!${remaining}`) + ); this.async(); this.loadModule(request, (err, source) => { - this.callback(err, source) + this.callback(err, source); }); }; diff --git a/test/cases/loaders/module-description-file/reverseloader.js b/test/cases/loaders/module-description-file/reverseloader.js index 2983d5650..4cbb64466 100644 --- a/test/cases/loaders/module-description-file/reverseloader.js +++ b/test/cases/loaders/module-description-file/reverseloader.js @@ -1,3 +1,4 @@ -module.exports = function(content) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (content) { return content.split("").reverse().join(""); -} +}; diff --git a/test/cases/loaders/query/loaders/queryloader.js b/test/cases/loaders/query/loaders/queryloader.js index 8d606f560..f9bb23e1f 100644 --- a/test/cases/loaders/query/loaders/queryloader.js +++ b/test/cases/loaders/query/loaders/queryloader.js @@ -1,7 +1,11 @@ -module.exports = function(content) { - return "module.exports = " + JSON.stringify({ - resourceQuery: this.resourceQuery, - query: this.query, - prev: content - }); -} +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function (content) { + return ( + "module.exports = " + + JSON.stringify({ + resourceQuery: this.resourceQuery, + query: this.query, + prev: content + }) + ); +}; diff --git a/test/cases/loaders/resolve/loader.js b/test/cases/loaders/resolve/loader.js index 3bb4b23d8..53fc4aaf2 100644 --- a/test/cases/loaders/resolve/loader.js +++ b/test/cases/loaders/resolve/loader.js @@ -1,5 +1,6 @@ const path = require("path"); -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { const resolve1 = this.getResolve(); const resolve2 = this.getResolve({ extensions: [".xyz", ".js"] diff --git a/test/cases/loaders/utils/loader.js b/test/cases/loaders/utils/loader.js index 3ee7d1092..2d9e6e370 100644 --- a/test/cases/loaders/utils/loader.js +++ b/test/cases/loaders/utils/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../").LoaderDefinition} */ module.exports = function () { return `module.exports = { request1: ${JSON.stringify( diff --git a/test/cases/parsing/context/loaders/queryloader.js b/test/cases/parsing/context/loaders/queryloader.js index 02707b2ba..f9bb23e1f 100644 --- a/test/cases/parsing/context/loaders/queryloader.js +++ b/test/cases/parsing/context/loaders/queryloader.js @@ -1,7 +1,11 @@ -module.exports = function(content) { - return "module.exports = " + JSON.stringify({ - resourceQuery: this.resourceQuery, - query: this.query, - prev: content - }); +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function (content) { + return ( + "module.exports = " + + JSON.stringify({ + resourceQuery: this.resourceQuery, + query: this.query, + prev: content + }) + ); }; diff --git a/test/cases/parsing/precreated-ast/ast-loader.js b/test/cases/parsing/precreated-ast/ast-loader.js index 6293e0644..e15037726 100644 --- a/test/cases/parsing/precreated-ast/ast-loader.js +++ b/test/cases/parsing/precreated-ast/ast-loader.js @@ -3,7 +3,8 @@ const acorn = require("acorn"); const acornParser = acorn.Parser; -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { const comments = []; const ast = acornParser.parse(source, { @@ -15,9 +16,12 @@ module.exports = function(source) { }); // change something to test if it's really used + //@ts-ignore ast.body[0].expression.right.arguments[0].value = "./ok"; - ast.body[0].expression.right.arguments[0].raw = "\"./ok\""; + //@ts-ignore + ast.body[0].expression.right.arguments[0].raw = '"./ok"'; + //@ts-ignore ast.comments = comments; this.callback(null, source, null, { webpackAST: ast diff --git a/test/cases/resolving/context/loaders/queryloader.js b/test/cases/resolving/context/loaders/queryloader.js index 8d606f560..f9bb23e1f 100644 --- a/test/cases/resolving/context/loaders/queryloader.js +++ b/test/cases/resolving/context/loaders/queryloader.js @@ -1,7 +1,11 @@ -module.exports = function(content) { - return "module.exports = " + JSON.stringify({ - resourceQuery: this.resourceQuery, - query: this.query, - prev: content - }); -} +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function (content) { + return ( + "module.exports = " + + JSON.stringify({ + resourceQuery: this.resourceQuery, + query: this.query, + prev: content + }) + ); +}; diff --git a/test/cases/wasm/two-files-loader/wrapper-loader.js b/test/cases/wasm/two-files-loader/wrapper-loader.js index 736d6fa0c..827857a6b 100644 --- a/test/cases/wasm/two-files-loader/wrapper-loader.js +++ b/test/cases/wasm/two-files-loader/wrapper-loader.js @@ -1,5 +1,6 @@ const stringifyRequest = require("loader-utils").stringifyRequest; +/** @type {import("../../../../").PitchLoaderDefinitionFunction} */ module.exports.pitch = function (remainingRequest) { return ` import { getString as _getString, memory } from ${stringifyRequest( diff --git a/test/cases/wasm/two-files-loader/wrapper-loader2.js b/test/cases/wasm/two-files-loader/wrapper-loader2.js index 478a1f4f4..dde8826aa 100644 --- a/test/cases/wasm/two-files-loader/wrapper-loader2.js +++ b/test/cases/wasm/two-files-loader/wrapper-loader2.js @@ -1,5 +1,6 @@ const stringifyRequest = require("loader-utils").stringifyRequest; +/** @type {import("../../../../").PitchLoaderDefinitionFunction} */ module.exports.pitch = function (remainingRequest) { return ` import { getString as _getString, memory } from ${stringifyRequest( diff --git a/test/configCases/cache-dependencies/managed-items/loader.js b/test/configCases/cache-dependencies/managed-items/loader.js index 825466708..3a6935623 100644 --- a/test/configCases/cache-dependencies/managed-items/loader.js +++ b/test/configCases/cache-dependencies/managed-items/loader.js @@ -1,4 +1,6 @@ const path = require("path"); + +/** @type {import("../../../../").LoaderDefinition} */ module.exports = function (source) { this.addDependency(path.resolve(__dirname, "node_modules/package/extra.js")); this.addDependency(path.resolve(__dirname, "extra.js")); diff --git a/test/configCases/context-replacement/d/queryloader.js b/test/configCases/context-replacement/d/queryloader.js index 88a2fd607..821519145 100644 --- a/test/configCases/context-replacement/d/queryloader.js +++ b/test/configCases/context-replacement/d/queryloader.js @@ -1,7 +1,11 @@ -module.exports = function(content) { - return "module.exports = " + JSON.stringify({ - resourceQuery: this.resourceQuery, - query: this.query, - prev: content.replace(/\r\n?/g, "\n") - }); +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (content) { + return ( + "module.exports = " + + JSON.stringify({ + resourceQuery: this.resourceQuery, + query: this.query, + prev: content.replace(/\r\n?/g, "\n") + }) + ); }; diff --git a/test/configCases/deprecations/invalid-dependencies/loader.js b/test/configCases/deprecations/invalid-dependencies/loader.js index 47a39616b..71212ed09 100644 --- a/test/configCases/deprecations/invalid-dependencies/loader.js +++ b/test/configCases/deprecations/invalid-dependencies/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../").LoaderDefinition} */ module.exports = function (source) { this.addDependency("loader.js"); this.addDependency("../**/dir/*.js"); diff --git a/test/configCases/dll-plugin/0-create-dll/g-loader.js b/test/configCases/dll-plugin/0-create-dll/g-loader.js index 6e64f4af6..c6d8a6351 100644 --- a/test/configCases/dll-plugin/0-create-dll/g-loader.js +++ b/test/configCases/dll-plugin/0-create-dll/g-loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return source; }; diff --git a/test/configCases/inner-graph/_helpers/entryLoader.js b/test/configCases/inner-graph/_helpers/entryLoader.js index 992500b06..7e129b810 100644 --- a/test/configCases/inner-graph/_helpers/entryLoader.js +++ b/test/configCases/inner-graph/_helpers/entryLoader.js @@ -1,4 +1,5 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { const { name, expect, usedExports } = JSON.parse(this.query.slice(1)); return [ `if (Math.random() < 0) require(${JSON.stringify( diff --git a/test/configCases/inner-graph/_helpers/testModuleLoader.js b/test/configCases/inner-graph/_helpers/testModuleLoader.js index 1742c4ad4..b6d54748d 100644 --- a/test/configCases/inner-graph/_helpers/testModuleLoader.js +++ b/test/configCases/inner-graph/_helpers/testModuleLoader.js @@ -1,4 +1,5 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { const usedExports = JSON.parse(this.query.slice(1)); return [ `import { ${usedExports diff --git a/test/configCases/layer/rules/loader.js b/test/configCases/layer/rules/loader.js index 34dbc1b17..7e5acde63 100644 --- a/test/configCases/layer/rules/loader.js +++ b/test/configCases/layer/rules/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../").LoaderDefinition<{ value: any }>} */ module.exports = function (source) { const options = this.getOptions(); return `${source} diff --git a/test/configCases/loader-import-module/css/loader.js b/test/configCases/loader-import-module/css/loader.js index d9b5022ab..2dae62a40 100644 --- a/test/configCases/loader-import-module/css/loader.js +++ b/test/configCases/loader-import-module/css/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../").PitchLoaderDefinitionFunction} */ exports.pitch = async function (remaining) { const result = await this.importModule( this.resourcePath + ".webpack[javascript/auto]" + "!=!" + remaining, diff --git a/test/configCases/loaders/generate-ident/loader1.js b/test/configCases/loaders/generate-ident/loader1.js index 42fea4633..0d2fcc8b5 100644 --- a/test/configCases/loaders/generate-ident/loader1.js +++ b/test/configCases/loaders/generate-ident/loader1.js @@ -1,3 +1,6 @@ -module.exports.pitch = function(remainingRequest) { - return "module.exports = require(" + JSON.stringify("!!" + remainingRequest) + ");"; +/** @type {import("../../../../").PitchLoaderDefinitionFunction} */ +module.exports.pitch = function (remainingRequest) { + return ( + "module.exports = require(" + JSON.stringify("!!" + remainingRequest) + ");" + ); }; diff --git a/test/configCases/loaders/generate-ident/loader2.js b/test/configCases/loaders/generate-ident/loader2.js index b5b133a92..407880428 100644 --- a/test/configCases/loaders/generate-ident/loader2.js +++ b/test/configCases/loaders/generate-ident/loader2.js @@ -1,3 +1,6 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition<{ f(): any }>} */ +module.exports = function (source) { + if (typeof this.query === "string") + throw new Error("query must be an object"); return "module.exports = " + JSON.stringify(this.query.f()); }; diff --git a/test/configCases/loaders/hot-in-context/loader.js b/test/configCases/loaders/hot-in-context/loader.js index b497b8bc4..608faaddb 100644 --- a/test/configCases/loaders/hot-in-context/loader.js +++ b/test/configCases/loaders/hot-in-context/loader.js @@ -1,3 +1,4 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition}} */ +module.exports = function () { return `module.exports = ${JSON.stringify(!!this.hot)};`; -} +}; diff --git a/test/configCases/loaders/mode-default/loader.js b/test/configCases/loaders/mode-default/loader.js index 0083d38fd..b9c10626b 100644 --- a/test/configCases/loaders/mode-default/loader.js +++ b/test/configCases/loaders/mode-default/loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return `module.exports = "${this.mode}";`; }; diff --git a/test/configCases/loaders/mode-development/loader.js b/test/configCases/loaders/mode-development/loader.js index 0083d38fd..b9c10626b 100644 --- a/test/configCases/loaders/mode-development/loader.js +++ b/test/configCases/loaders/mode-development/loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return `module.exports = "${this.mode}";`; }; diff --git a/test/configCases/loaders/mode-none/loader.js b/test/configCases/loaders/mode-none/loader.js index 0083d38fd..b9c10626b 100644 --- a/test/configCases/loaders/mode-none/loader.js +++ b/test/configCases/loaders/mode-none/loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return `module.exports = "${this.mode}";`; }; diff --git a/test/configCases/loaders/mode-production/loader.js b/test/configCases/loaders/mode-production/loader.js index 0083d38fd..b9c10626b 100644 --- a/test/configCases/loaders/mode-production/loader.js +++ b/test/configCases/loaders/mode-production/loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return `module.exports = "${this.mode}";`; }; diff --git a/test/configCases/loaders/options/loader-1.js b/test/configCases/loaders/options/loader-1.js index f27763418..18e183cbb 100644 --- a/test/configCases/loaders/options/loader-1.js +++ b/test/configCases/loaders/options/loader-1.js @@ -1,6 +1,7 @@ -const schema = require("./loader-1.options"); +const schema = require("./loader-1.options.json"); -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { const options = this.getOptions(schema); const json = JSON.stringify(options) diff --git a/test/configCases/loaders/options/loader-2.js b/test/configCases/loaders/options/loader-2.js index b16902652..faea214da 100644 --- a/test/configCases/loaders/options/loader-2.js +++ b/test/configCases/loaders/options/loader-2.js @@ -1,6 +1,7 @@ -const schema = require("./loader-2.options"); +const schema = require("./loader-2.options.json"); -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { const options = this.getOptions(schema); const json = JSON.stringify(options) diff --git a/test/configCases/loaders/options/loader.js b/test/configCases/loaders/options/loader.js index 5b9386651..d1bc02fcd 100644 --- a/test/configCases/loaders/options/loader.js +++ b/test/configCases/loaders/options/loader.js @@ -1,9 +1,10 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { const options = this.getOptions(); const json = JSON.stringify(options) - .replace(/\u2028/g, '\\u2028') - .replace(/\u2029/g, '\\u2029'); + .replace(/\u2028/g, "\\u2028") + .replace(/\u2029/g, "\\u2029"); return `module.exports = ${json}`; }; diff --git a/test/configCases/loaders/pre-post-loader/loader1.js b/test/configCases/loaders/pre-post-loader/loader1.js index 71df71135..bf6d13352 100644 --- a/test/configCases/loaders/pre-post-loader/loader1.js +++ b/test/configCases/loaders/pre-post-loader/loader1.js @@ -1,3 +1,4 @@ -module.exports = function(source) { - return source + "module.exports += \" loader1\";\n"; +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { + return source + 'module.exports += " loader1";\n'; }; diff --git a/test/configCases/loaders/pre-post-loader/loader2.js b/test/configCases/loaders/pre-post-loader/loader2.js index 91497b097..b611c84f6 100644 --- a/test/configCases/loaders/pre-post-loader/loader2.js +++ b/test/configCases/loaders/pre-post-loader/loader2.js @@ -1,3 +1,4 @@ -module.exports = function(source) { - return source + "module.exports += \" loader2\";\n"; +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { + return source + 'module.exports += " loader2";\n'; }; diff --git a/test/configCases/loaders/pre-post-loader/loader3.js b/test/configCases/loaders/pre-post-loader/loader3.js index 32f164287..ec526cbac 100644 --- a/test/configCases/loaders/pre-post-loader/loader3.js +++ b/test/configCases/loaders/pre-post-loader/loader3.js @@ -1,3 +1,4 @@ -module.exports = function(source) { - return source + "module.exports += \" loader3\";\n"; +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { + return source + 'module.exports += " loader3";\n'; }; diff --git a/test/configCases/loaders/remaining-request/loader1.js b/test/configCases/loaders/remaining-request/loader1.js index 42fea4633..0d2fcc8b5 100644 --- a/test/configCases/loaders/remaining-request/loader1.js +++ b/test/configCases/loaders/remaining-request/loader1.js @@ -1,3 +1,6 @@ -module.exports.pitch = function(remainingRequest) { - return "module.exports = require(" + JSON.stringify("!!" + remainingRequest) + ");"; +/** @type {import("../../../../").PitchLoaderDefinitionFunction} */ +module.exports.pitch = function (remainingRequest) { + return ( + "module.exports = require(" + JSON.stringify("!!" + remainingRequest) + ");" + ); }; diff --git a/test/configCases/loaders/remaining-request/loader2.js b/test/configCases/loaders/remaining-request/loader2.js index b5b133a92..407880428 100644 --- a/test/configCases/loaders/remaining-request/loader2.js +++ b/test/configCases/loaders/remaining-request/loader2.js @@ -1,3 +1,6 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition<{ f(): any }>} */ +module.exports = function (source) { + if (typeof this.query === "string") + throw new Error("query must be an object"); return "module.exports = " + JSON.stringify(this.query.f()); }; diff --git a/test/configCases/module-name/different-issuers-for-same-module/loader-a.js b/test/configCases/module-name/different-issuers-for-same-module/loader-a.js index bd8581ca4..4e8352ee9 100644 --- a/test/configCases/module-name/different-issuers-for-same-module/loader-a.js +++ b/test/configCases/module-name/different-issuers-for-same-module/loader-a.js @@ -1,3 +1,4 @@ -module.exports = function(src) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (src) { return `module.exports = "loader-a" + module.id`; }; diff --git a/test/configCases/module-name/different-issuers-for-same-module/loader-b.js b/test/configCases/module-name/different-issuers-for-same-module/loader-b.js index 5365e2fd3..7fa193f02 100644 --- a/test/configCases/module-name/different-issuers-for-same-module/loader-b.js +++ b/test/configCases/module-name/different-issuers-for-same-module/loader-b.js @@ -1,3 +1,4 @@ -module.exports = function(src) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (src) { return `module.exports = "loader-b" + module.id`; }; diff --git a/test/configCases/performance/many-async-imports/reexport.loader.js b/test/configCases/performance/many-async-imports/reexport.loader.js index f44ceced6..3105e517f 100644 --- a/test/configCases/performance/many-async-imports/reexport.loader.js +++ b/test/configCases/performance/many-async-imports/reexport.loader.js @@ -1,7 +1,8 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { var str = "export default Promise.all([\n"; - for(var i = 0; i < 6; i++) { - for(var j = 0; j < 2; j++) { + for (var i = 0; i < 6; i++) { + for (var j = 0; j < 2; j++) { str += `import("./reexport.loader.js!?${i}"),\n`; } } diff --git a/test/configCases/performance/many-exports/file.loader.js b/test/configCases/performance/many-exports/file.loader.js index 6ec2268c9..1dd13c65f 100644 --- a/test/configCases/performance/many-exports/file.loader.js +++ b/test/configCases/performance/many-exports/file.loader.js @@ -1,7 +1,8 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { var str = ""; - for(var i = 0; i < 1000; i++) { + for (var i = 0; i < 1000; i++) { str += `export var a${i} = ${i};\n`; } return str; -} +}; diff --git a/test/configCases/performance/many-exports/reexport.loader.js b/test/configCases/performance/many-exports/reexport.loader.js index af755e868..e4a2a3135 100644 --- a/test/configCases/performance/many-exports/reexport.loader.js +++ b/test/configCases/performance/many-exports/reexport.loader.js @@ -1,9 +1,10 @@ -module.exports = function() { - var str = "import * as i from \"./file.loader.js!\";\n"; +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { + var str = 'import * as i from "./file.loader.js!";\n'; str += "var sum = 0;\n"; - for(var i = 0; i < 1000; i++) { + for (var i = 0; i < 1000; i++) { str += `sum += i.a${i};\n`; } str += "export default sum;\n"; return str; -} +}; diff --git a/test/configCases/plugins/loader-options-plugin/loader.js b/test/configCases/plugins/loader-options-plugin/loader.js index 7374ef2b5..8fcf07744 100644 --- a/test/configCases/plugins/loader-options-plugin/loader.js +++ b/test/configCases/plugins/loader-options-plugin/loader.js @@ -1,6 +1,10 @@ -module.exports = function() { - return "module.exports = " + JSON.stringify({ - minimize: this.minimize, - jsfile: this.jsfile - }); +/** @type {import("../../../../").LoaderDefinition<{}, { minimize: boolean, jsfile: boolean }>} */ +module.exports = function () { + return ( + "module.exports = " + + JSON.stringify({ + minimize: this.minimize, + jsfile: this.jsfile + }) + ); }; diff --git a/test/configCases/race-conditions/load-module/loader.js b/test/configCases/race-conditions/load-module/loader.js index 444c2c9da..b741c194e 100644 --- a/test/configCases/race-conditions/load-module/loader.js +++ b/test/configCases/race-conditions/load-module/loader.js @@ -1,4 +1,5 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { const callback = this.async(); let finished = false; this.loadModule("./module.js", (err, result) => { diff --git a/test/configCases/rebuild/finishModules/loader.js b/test/configCases/rebuild/finishModules/loader.js index 80d125d39..347e3b5be 100644 --- a/test/configCases/rebuild/finishModules/loader.js +++ b/test/configCases/rebuild/finishModules/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../").LoaderDefinition<{}, { shouldReplace: boolean }>} */ module.exports = function (source) { if (this.shouldReplace) { this._module.buildInfo._isReplaced = true; diff --git a/test/configCases/rebuild/rebuildWithNewDependencies/loader.js b/test/configCases/rebuild/rebuildWithNewDependencies/loader.js index fc3965481..f33697b4f 100644 --- a/test/configCases/rebuild/rebuildWithNewDependencies/loader.js +++ b/test/configCases/rebuild/rebuildWithNewDependencies/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../").LoaderDefinition<{}, { shouldReplace: boolean }>} */ module.exports = function (source) { if (this.shouldReplace) { this._module.buildInfo._isReplaced = true; diff --git a/test/configCases/records/issue-295/loader.js b/test/configCases/records/issue-295/loader.js index 6e64f4af6..c6d8a6351 100644 --- a/test/configCases/records/issue-295/loader.js +++ b/test/configCases/records/issue-295/loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return source; }; diff --git a/test/configCases/resolve-merging/override/loader.js b/test/configCases/resolve-merging/override/loader.js index 7e124f238..961891c5e 100644 --- a/test/configCases/resolve-merging/override/loader.js +++ b/test/configCases/resolve-merging/override/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../").LoaderDefinition} */ module.exports = async function () { const defaultResolve = this.getResolve({}); const overrideResolve = this.getResolve({ @@ -20,6 +21,7 @@ module.exports = async function () { expect(await defaultResolve(undefined, "package2").catch(e => "ok")).toBe( "ok" ); + // @ts-expect-error undefined should not be a valid type expect(await defaultResolve(undefined).catch(e => "ok")).toBe("ok"); return ` export { default as a } from ${JSON.stringify(resolved1)}; diff --git a/test/configCases/rule-set/chaining/loader.js b/test/configCases/rule-set/chaining/loader.js index f78d43c0b..84836e5da 100644 --- a/test/configCases/rule-set/chaining/loader.js +++ b/test/configCases/rule-set/chaining/loader.js @@ -1,8 +1,8 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition<{ get(): string }>} */ +module.exports = function (source) { var query = this.query; - if(typeof query === "object" && typeof query.get === "function") { + if (typeof query === "object" && typeof query.get === "function") { query = query.get(); } return source + "\nmodule.exports.push(" + JSON.stringify(query) + ");"; }; - diff --git a/test/configCases/rule-set/compiler/loader.js b/test/configCases/rule-set/compiler/loader.js index 196d1ef49..b57f18e5d 100644 --- a/test/configCases/rule-set/compiler/loader.js +++ b/test/configCases/rule-set/compiler/loader.js @@ -1,4 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return "module.exports = " + JSON.stringify("loader matched"); }; - diff --git a/test/configCases/rule-set/custom/loader.js b/test/configCases/rule-set/custom/loader.js index f78d43c0b..84836e5da 100644 --- a/test/configCases/rule-set/custom/loader.js +++ b/test/configCases/rule-set/custom/loader.js @@ -1,8 +1,8 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition<{ get(): string }>} */ +module.exports = function (source) { var query = this.query; - if(typeof query === "object" && typeof query.get === "function") { + if (typeof query === "object" && typeof query.get === "function") { query = query.get(); } return source + "\nmodule.exports.push(" + JSON.stringify(query) + ");"; }; - diff --git a/test/configCases/rule-set/query/loader.js b/test/configCases/rule-set/query/loader.js index f78d43c0b..84836e5da 100644 --- a/test/configCases/rule-set/query/loader.js +++ b/test/configCases/rule-set/query/loader.js @@ -1,8 +1,8 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition<{ get(): string }>} */ +module.exports = function (source) { var query = this.query; - if(typeof query === "object" && typeof query.get === "function") { + if (typeof query === "object" && typeof query.get === "function") { query = query.get(); } return source + "\nmodule.exports.push(" + JSON.stringify(query) + ");"; }; - diff --git a/test/configCases/rule-set/simple-use-array-fn/loader.js b/test/configCases/rule-set/simple-use-array-fn/loader.js index f78d43c0b..84836e5da 100644 --- a/test/configCases/rule-set/simple-use-array-fn/loader.js +++ b/test/configCases/rule-set/simple-use-array-fn/loader.js @@ -1,8 +1,8 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition<{ get(): string }>} */ +module.exports = function (source) { var query = this.query; - if(typeof query === "object" && typeof query.get === "function") { + if (typeof query === "object" && typeof query.get === "function") { query = query.get(); } return source + "\nmodule.exports.push(" + JSON.stringify(query) + ");"; }; - diff --git a/test/configCases/rule-set/simple-use-fn-array/loader.js b/test/configCases/rule-set/simple-use-fn-array/loader.js index f78d43c0b..84836e5da 100644 --- a/test/configCases/rule-set/simple-use-fn-array/loader.js +++ b/test/configCases/rule-set/simple-use-fn-array/loader.js @@ -1,8 +1,8 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition<{ get(): string }>} */ +module.exports = function (source) { var query = this.query; - if(typeof query === "object" && typeof query.get === "function") { + if (typeof query === "object" && typeof query.get === "function") { query = query.get(); } return source + "\nmodule.exports.push(" + JSON.stringify(query) + ");"; }; - diff --git a/test/configCases/rule-set/simple/loader.js b/test/configCases/rule-set/simple/loader.js index f78d43c0b..84836e5da 100644 --- a/test/configCases/rule-set/simple/loader.js +++ b/test/configCases/rule-set/simple/loader.js @@ -1,8 +1,8 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition<{ get(): string }>} */ +module.exports = function (source) { var query = this.query; - if(typeof query === "object" && typeof query.get === "function") { + if (typeof query === "object" && typeof query.get === "function") { query = query.get(); } return source + "\nmodule.exports.push(" + JSON.stringify(query) + ");"; }; - diff --git a/test/configCases/source-map/no-source-map/loader.js b/test/configCases/source-map/no-source-map/loader.js index 5cac8966d..84613ab8e 100644 --- a/test/configCases/source-map/no-source-map/loader.js +++ b/test/configCases/source-map/no-source-map/loader.js @@ -1,4 +1,5 @@ const path = require("path"); +/** @type {import("../../../../").LoaderDefinition} */ module.exports = function () { this.callback(null, "module.exports = 'ok';", { version: 3, @@ -6,6 +7,7 @@ module.exports = function () { sourceRoot: path.join(__dirname, "folder"), sources: ["test1.txt"], sourcesContent: ["Test"], + names: [], mappings: "AAAA" }); }; diff --git a/test/configCases/source-map/relative-source-maps-by-loader/loader-no-source-root.js b/test/configCases/source-map/relative-source-maps-by-loader/loader-no-source-root.js index e30048a3e..f2ca2e44e 100644 --- a/test/configCases/source-map/relative-source-maps-by-loader/loader-no-source-root.js +++ b/test/configCases/source-map/relative-source-maps-by-loader/loader-no-source-root.js @@ -1,10 +1,12 @@ const path = require("path"); -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { this.callback(null, "module.exports = 'ok';", { version: 3, file: "/should/be/removed", sources: [path.join(__dirname, "folder", "test5.txt")], sourcesContent: ["Test"], + names: [], mappings: "AAAA" }); }; diff --git a/test/configCases/source-map/relative-source-maps-by-loader/loader-pre-relative.js b/test/configCases/source-map/relative-source-maps-by-loader/loader-pre-relative.js index 6fe9431ce..e70ef8ec6 100644 --- a/test/configCases/source-map/relative-source-maps-by-loader/loader-pre-relative.js +++ b/test/configCases/source-map/relative-source-maps-by-loader/loader-pre-relative.js @@ -1,9 +1,11 @@ -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { this.callback(null, "module.exports = 'ok';", { version: 3, file: "/should/be/removed", sources: ["webpack://./folder/test6.txt"], sourcesContent: ["Test"], + names: [], mappings: "AAAA" }); }; diff --git a/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-2-slash.js b/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-2-slash.js index e5c552d40..eb49d6a3c 100644 --- a/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-2-slash.js +++ b/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-2-slash.js @@ -1,11 +1,13 @@ const path = require("path"); -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { this.callback(null, "module.exports = 'ok';", { version: 3, file: "/should/be/removed", sourceRoot: path.join(__dirname, "folder") + "/", sources: ["/test4.txt"], sourcesContent: ["Test"], + names: [], mappings: "AAAA" }); }; diff --git a/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-slash.js b/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-slash.js index 0641ad6d5..2fb7f62e1 100644 --- a/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-slash.js +++ b/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-slash.js @@ -1,11 +1,13 @@ const path = require("path"); -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { this.callback(null, "module.exports = 'ok';", { version: 3, file: "/should/be/removed", sourceRoot: path.join(__dirname, "folder") + "/", sources: ["test3.txt"], sourcesContent: ["Test"], + names: [], mappings: "AAAA" }); }; diff --git a/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-source-slash.js b/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-source-slash.js index dbb0e20bb..5e25c38b2 100644 --- a/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-source-slash.js +++ b/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root-source-slash.js @@ -1,11 +1,13 @@ const path = require("path"); -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { this.callback(null, "module.exports = 'ok';", { version: 3, file: "/should/be/removed", sourceRoot: path.join(__dirname, "folder"), sources: ["/test2.txt"], sourcesContent: ["Test"], + names: [], mappings: "AAAA" }); }; diff --git a/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root.js b/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root.js index a46ea3ff5..84613ab8e 100644 --- a/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root.js +++ b/test/configCases/source-map/relative-source-maps-by-loader/loader-source-root.js @@ -1,11 +1,13 @@ const path = require("path"); -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { this.callback(null, "module.exports = 'ok';", { version: 3, file: "/should/be/removed", sourceRoot: path.join(__dirname, "folder"), sources: ["test1.txt"], sourcesContent: ["Test"], + names: [], mappings: "AAAA" }); }; diff --git a/test/fixtures/count-loader.js b/test/fixtures/count-loader.js index ced2018ee..9da5ce227 100644 --- a/test/fixtures/count-loader.js +++ b/test/fixtures/count-loader.js @@ -1,5 +1,6 @@ let counter = 0; -module.exports = function() { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () { return `module.exports = ${counter++};`; }; diff --git a/test/fixtures/delay-loader.js b/test/fixtures/delay-loader.js index 3c6573548..01e71f3fb 100644 --- a/test/fixtures/delay-loader.js +++ b/test/fixtures/delay-loader.js @@ -1,6 +1,7 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { var cb = this.async(); - setTimeout(function() { + setTimeout(function () { cb(null, source); }, 500); -}; \ No newline at end of file +}; diff --git a/test/fixtures/errors/add-comment-loader.js b/test/fixtures/errors/add-comment-loader.js index 1cfa533d6..586bfbce5 100644 --- a/test/fixtures/errors/add-comment-loader.js +++ b/test/fixtures/errors/add-comment-loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return source + "// some comment"; }; diff --git a/test/fixtures/errors/async-error-loader.js b/test/fixtures/errors/async-error-loader.js index a0eba8a9d..9826e36c3 100644 --- a/test/fixtures/errors/async-error-loader.js +++ b/test/fixtures/errors/async-error-loader.js @@ -1,4 +1,5 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { const callback = this.async(); const error = new Error("this is a callback error"); callback(error, source); diff --git a/test/fixtures/errors/emit-error-loader.js b/test/fixtures/errors/emit-error-loader.js index 57164e220..1cd648e66 100644 --- a/test/fixtures/errors/emit-error-loader.js +++ b/test/fixtures/errors/emit-error-loader.js @@ -1,4 +1,5 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { this.emitWarning(new Error("this is a warning")); this.emitError(new Error("this is an error")); return source; diff --git a/test/fixtures/errors/identity-loader.js b/test/fixtures/errors/identity-loader.js index 6e64f4af6..c6d8a6351 100644 --- a/test/fixtures/errors/identity-loader.js +++ b/test/fixtures/errors/identity-loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { return source; }; diff --git a/test/fixtures/errors/irregular-error-loader.js b/test/fixtures/errors/irregular-error-loader.js index 8b38ff7ef..6ed0ba935 100644 --- a/test/fixtures/errors/irregular-error-loader.js +++ b/test/fixtures/errors/irregular-error-loader.js @@ -1,4 +1,5 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { const empty = null; const emptyError = new Error(); this.emitWarning(empty); diff --git a/test/fixtures/errors/no-return-loader.js b/test/fixtures/errors/no-return-loader.js index 0a4b3bfaa..63c5d351e 100644 --- a/test/fixtures/errors/no-return-loader.js +++ b/test/fixtures/errors/no-return-loader.js @@ -1,2 +1,2 @@ -module.exports = function(){ -} +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function () {}; diff --git a/test/fixtures/errors/throw-error-loader.js b/test/fixtures/errors/throw-error-loader.js index 3142eedc0..59014e2a1 100644 --- a/test/fixtures/errors/throw-error-loader.js +++ b/test/fixtures/errors/throw-error-loader.js @@ -1,3 +1,4 @@ -module.exports = function(source) { +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { throw new Error("this is a thrown error"); }; diff --git a/test/hotCases/child-compiler/issue-9706/report-child-assets-loader.js b/test/hotCases/child-compiler/issue-9706/report-child-assets-loader.js index df27ff875..95bbe37ed 100644 --- a/test/hotCases/child-compiler/issue-9706/report-child-assets-loader.js +++ b/test/hotCases/child-compiler/issue-9706/report-child-assets-loader.js @@ -5,6 +5,7 @@ const { const compilerCache = new WeakMap(); +/** @type {import("../../../../").LoaderDefinition} */ module.exports = function (source) { let childCompiler = compilerCache.get(this._compiler); if (childCompiler === undefined) { diff --git a/test/hotCases/fake-update-loader.js b/test/hotCases/fake-update-loader.js index e2b1884bd..705d8feed 100644 --- a/test/hotCases/fake-update-loader.js +++ b/test/hotCases/fake-update-loader.js @@ -1,4 +1,5 @@ -module.exports = function(source) { +/** @type {import("../../").LoaderDefinition<{}, { updateIndex: number }>} */ +module.exports = function (source) { var idx = this.updateIndex; var items = source.split(/---+\r?\n/g); if (items.length > 1) { diff --git a/test/hotCases/loader-import-module/css/loader.js b/test/hotCases/loader-import-module/css/loader.js index 927bbc669..c4bf30e37 100644 --- a/test/hotCases/loader-import-module/css/loader.js +++ b/test/hotCases/loader-import-module/css/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../").PitchLoaderDefinitionFunction} */ exports.pitch = async function (remaining) { const result = await this.importModule( this.resourcePath + ".webpack[javascript/auto]" + "!=!" + remaining diff --git a/test/hotCases/recover/recover-after-loader-error/loader.js b/test/hotCases/recover/recover-after-loader-error/loader.js index c6713cb9f..4f935bbc6 100644 --- a/test/hotCases/recover/recover-after-loader-error/loader.js +++ b/test/hotCases/recover/recover-after-loader-error/loader.js @@ -1,5 +1,5 @@ -module.exports = function(source) { - if(source.indexOf("error") >= 0) - throw new Error(source.trim()); +/** @type {import("../../../../").LoaderDefinition} */ +module.exports = function (source) { + if (source.indexOf("error") >= 0) throw new Error(source.trim()); return source; }; diff --git a/test/watchCases/cache/child-compilation-cache/0/report-cache-counters-loader.js b/test/watchCases/cache/child-compilation-cache/0/report-cache-counters-loader.js index 6fc034fe3..adedcfa85 100644 --- a/test/watchCases/cache/child-compilation-cache/0/report-cache-counters-loader.js +++ b/test/watchCases/cache/child-compilation-cache/0/report-cache-counters-loader.js @@ -4,30 +4,38 @@ var cacheMap = new WeakMap(); const getCache = (associate, path) => { let o = cacheMap.get(associate); - if(o === undefined) { + if (o === undefined) { o = new Map(); cacheMap.set(associate, o); } let c = o.get(path); - if(c === undefined) { + if (c === undefined) { c = { counter: 0 }; o.set(path, c); } return c; }; -module.exports = function(source) { - if(map.has(currentWatchStepModule.step)) return map.get(currentWatchStepModule.step); +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function (source) { + if (map.has(currentWatchStepModule.step)) + return map.get(currentWatchStepModule.step); - const compilationCache = getCache(this._compiler.root, this._compilation.compilerPath); + const compilationCache = getCache( + this._compiler.root, + this._compilation.compilerPath + ); compilationCache.counter++; - var childCompiler = this._compilation.createChildCompiler("my-compiler " + source.trim(), { - filename: "test" - }); + var childCompiler = this._compilation.createChildCompiler( + "my-compiler " + source.trim(), + { + filename: "test" + } + ); var callback = this.async(); childCompiler.runAsChild((err, entries, compilation) => { - if(err) return callback(err); + if (err) return callback(err); const childCache = getCache(this._compiler.root, compilation.compilerPath); childCache.counter++; diff --git a/test/watchCases/cache/loader-import-module/0/loader.js b/test/watchCases/cache/loader-import-module/0/loader.js index 095a88504..fde06f26f 100644 --- a/test/watchCases/cache/loader-import-module/0/loader.js +++ b/test/watchCases/cache/loader-import-module/0/loader.js @@ -1,3 +1,4 @@ +/** @type {import("../../../../../").PitchLoaderDefinitionFunction} */ exports.pitch = async function (remaining) { const result = await this.importModule( `${this.resourcePath}.webpack[javascript/auto]!=!${remaining}` diff --git a/test/watchCases/context/loader-context-dep/0/loader.js b/test/watchCases/context/loader-context-dep/0/loader.js index e81465f2a..ed1f2044e 100644 --- a/test/watchCases/context/loader-context-dep/0/loader.js +++ b/test/watchCases/context/loader-context-dep/0/loader.js @@ -1,7 +1,8 @@ const path = require("path"); const directory = path.resolve(__dirname, "directory"); -module.exports = function() { +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function () { this.addContextDependency(directory); const callback = this.async(); this.fs.readdir(directory, (err, files) => { diff --git a/test/watchCases/resolve/in-loader/0/loader.js b/test/watchCases/resolve/in-loader/0/loader.js index 51c0656c7..d43844f85 100644 --- a/test/watchCases/resolve/in-loader/0/loader.js +++ b/test/watchCases/resolve/in-loader/0/loader.js @@ -1,7 +1,9 @@ -module.exports = function() { +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function () { const callback = this.async(); this.resolve(this.context, "./file", (err, file) => { if (err) return callback(err); + if (!file) return callback(new Error("Resolving failed")); this.fs.readFile(file, (err, result) => { if (err) return callback(err); callback( diff --git a/test/watchCases/warnings/warnings-contribute-to-hash/0/warning-loader.js b/test/watchCases/warnings/warnings-contribute-to-hash/0/warning-loader.js index a5206b8bd..dbf6abe18 100644 --- a/test/watchCases/warnings/warnings-contribute-to-hash/0/warning-loader.js +++ b/test/watchCases/warnings/warnings-contribute-to-hash/0/warning-loader.js @@ -1,4 +1,5 @@ -module.exports = function(source) { +/** @type {import("../../../../../").LoaderDefinition} */ +module.exports = function (source) { this.emitWarning(new Error(source.trim())); return ""; }; diff --git a/tsconfig.test.json b/tsconfig.test.json index 23a3c6e6f..e6e76890a 100644 --- a/tsconfig.test.json +++ b/tsconfig.test.json @@ -12,5 +12,12 @@ "types": ["node", "jest"], "esModuleInterop": true }, - "include": ["test/**/webpack.config.js", "declarations.test.d.ts"] + "include": [ + "test/**/webpack.config.js", + "test/cases/**/*loader*.js", + "test/watchCases/**/*loader*.js", + "test/configCases/**/*loader*.js", + "test/hotCases/**/*loader*.js", + "declarations.test.d.ts" + ] }