webpack
Advanced tools
Comparing version 5.72.0 to 5.72.1
@@ -8,3 +8,3 @@ /* | ||
const parseJson = require("json-parse-better-errors"); | ||
const parseJson = require("json-parse-even-better-errors"); | ||
const asyncLib = require("neo-async"); | ||
@@ -11,0 +11,0 @@ const { |
@@ -64,3 +64,3 @@ /* | ||
); | ||
const { moduleGraph, runtime } = templateContext; | ||
const { module, moduleGraph, runtime } = templateContext; | ||
const connection = moduleGraph.getConnection(dep); | ||
@@ -72,4 +72,36 @@ // Skip rendering depending when dependency is conditional | ||
const ids = dep.getIds(moduleGraph); | ||
const value = exportsInfo.isExportProvided(ids); | ||
let value; | ||
const exportsType = connection.module.getExportsType( | ||
moduleGraph, | ||
module.buildMeta.strictHarmonyModule | ||
); | ||
switch (exportsType) { | ||
case "default-with-named": { | ||
if (ids[0] === "default") { | ||
value = | ||
ids.length === 1 || exportsInfo.isExportProvided(ids.slice(1)); | ||
} else { | ||
value = exportsInfo.isExportProvided(ids); | ||
} | ||
break; | ||
} | ||
case "namespace": { | ||
if (ids[0] === "__esModule") { | ||
value = ids.length === 1 || undefined; | ||
} else { | ||
value = exportsInfo.isExportProvided(ids); | ||
} | ||
break; | ||
} | ||
case "dynamic": { | ||
if (ids[0] !== "default") { | ||
value = exportsInfo.isExportProvided(ids); | ||
} | ||
break; | ||
} | ||
// default-only could lead to runtime error, when default value is primitive | ||
} | ||
if (typeof value === "boolean") { | ||
@@ -76,0 +108,0 @@ source.replace(dep.range[0], dep.range[1] - 1, `${value}`); |
@@ -10,2 +10,7 @@ /* | ||
/** @typedef {import("../ModuleGraph")} ModuleGraph */ | ||
/** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */ | ||
/** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */ | ||
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */ | ||
class LoaderDependency extends ModuleDependency { | ||
@@ -26,4 +31,12 @@ /** | ||
} | ||
/** | ||
* @param {ModuleGraph} moduleGraph module graph | ||
* @returns {null | false | function(ModuleGraphConnection, RuntimeSpec): ConnectionState} function to determine if the connection is active | ||
*/ | ||
getCondition(moduleGraph) { | ||
return false; | ||
} | ||
} | ||
module.exports = LoaderDependency; |
@@ -10,2 +10,7 @@ /* | ||
/** @typedef {import("../ModuleGraph")} ModuleGraph */ | ||
/** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */ | ||
/** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */ | ||
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */ | ||
class LoaderImportDependency extends ModuleDependency { | ||
@@ -27,4 +32,12 @@ /** | ||
} | ||
/** | ||
* @param {ModuleGraph} moduleGraph module graph | ||
* @returns {null | false | function(ModuleGraphConnection, RuntimeSpec): ConnectionState} function to determine if the connection is active | ||
*/ | ||
getCondition(moduleGraph) { | ||
return false; | ||
} | ||
} | ||
module.exports = LoaderImportDependency; |
@@ -8,3 +8,3 @@ /* | ||
const parseJson = require("json-parse-better-errors"); | ||
const parseJson = require("json-parse-even-better-errors"); | ||
const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin"); | ||
@@ -11,0 +11,0 @@ const ExternalModuleFactoryPlugin = require("./ExternalModuleFactoryPlugin"); |
@@ -8,3 +8,3 @@ /* | ||
const parseJson = require("json-parse-better-errors"); | ||
const parseJson = require("json-parse-even-better-errors"); | ||
const Parser = require("../Parser"); | ||
@@ -11,0 +11,0 @@ const JsonExportsDependency = require("../dependencies/JsonExportsDependency"); |
@@ -8,3 +8,3 @@ /* | ||
const parseJson = require("json-parse-better-errors"); | ||
const parseJson = require("json-parse-even-better-errors"); | ||
const { getContext, runLoaders } = require("loader-runner"); | ||
@@ -11,0 +11,0 @@ const querystring = require("querystring"); |
@@ -609,3 +609,3 @@ /* | ||
// or connections without dependency | ||
return connection.isActive(runtime) || connection.dependency; | ||
return connection.isActive(runtime); | ||
}); | ||
@@ -612,0 +612,0 @@ if (activeNonModulesConnections.length > 0) { |
@@ -29,2 +29,3 @@ /* | ||
const MakeNamespaceObjectRuntimeModule = require("./runtime/MakeNamespaceObjectRuntimeModule"); | ||
const NonceRuntimeModule = require("./runtime/NonceRuntimeModule"); | ||
const OnChunksLoadedRuntimeModule = require("./runtime/OnChunksLoadedRuntimeModule"); | ||
@@ -435,2 +436,8 @@ const PublicPathRuntimeModule = require("./runtime/PublicPathRuntimeModule"); | ||
}); | ||
compilation.hooks.runtimeRequirementInTree | ||
.for(RuntimeGlobals.scriptNonce) | ||
.tap("RuntimePlugin", chunk => { | ||
compilation.addRuntimeModule(chunk, new NonceRuntimeModule()); | ||
return true; | ||
}); | ||
// TODO webpack 6: remove CompatRuntimeModule | ||
@@ -437,0 +444,0 @@ compilation.hooks.additionalTreeRuntimeRequirements.tap( |
{ | ||
"name": "webpack", | ||
"version": "5.72.0", | ||
"version": "5.72.1", | ||
"author": "Tobias Koppers @sokra", | ||
@@ -17,3 +17,3 @@ "description": "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.", | ||
"chrome-trace-event": "^1.0.2", | ||
"enhanced-resolve": "^5.9.2", | ||
"enhanced-resolve": "^5.9.3", | ||
"es-module-lexer": "^0.9.0", | ||
@@ -24,3 +24,3 @@ "eslint-scope": "5.1.1", | ||
"graceful-fs": "^4.2.9", | ||
"json-parse-better-errors": "^1.0.2", | ||
"json-parse-even-better-errors": "^2.3.1", | ||
"loader-runner": "^4.2.0", | ||
@@ -27,0 +27,0 @@ "mime-types": "^2.1.27", |
4382083
648
127262
+ Addedjson-parse-even-better-errors@2.3.1(transitive)
- Removedjson-parse-better-errors@^1.0.2
- Removedjson-parse-better-errors@1.0.2(transitive)
Updatedenhanced-resolve@^5.9.3