Socket
Socket
Sign inDemoInstall

wallaby-webpack

Package Overview
Dependencies
Maintainers
2
Versions
64
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.9.0 to 3.9.1

84

index.js

@@ -165,2 +165,7 @@ 'use strict';

var createFilePromises = [];
if (!self._fullRun) {
self._affectedModules = self._addHarmonyModulesAffectedDependencies(self._affectedModules, affectedFiles);
}
_.each(self._affectedModules, function (m) {

@@ -176,3 +181,3 @@ var trackedFile = m.resource && affectedFiles[m.resource];

var depIds = [];
self._traverseDependencies(m.dependencies, depIds, {});
self._traverseDependencies(m.dependencies, d => d.module, (m, f) => depIds.push(f.id), {});
self._testDependencies[trackedFile.id] = depIds;

@@ -252,12 +257,47 @@ }

_traverseDependencies(deps, depIds, visitedDeps) {
_addHarmonyModulesAffectedDependencies(affectedModules, affectedFiles) {
var self = this;
var allAffectedModules = {};
var allAffectedModulesList = [];
var visitedDeps = {};
_.each(affectedModules, m => {
if (!_.isNumber(m.id)) {
allAffectedModulesList.push(m);
} else {
allAffectedModules[m.id] = m;
}
if (m.dependencies) {
self._traverseDependencies(
m.dependencies,
dep => dep && dep.constructor && (typeof dep.constructor.name === 'string')
&& (dep.constructor.name.indexOf('HarmonyExport') === 0) && dep.originModule && dep.originModule.issuer,
(m, f) => {
if (_.isNumber(m.id)) {
allAffectedModules[m.id] = m;
} else {
allAffectedModulesList.push(m);
}
if (f) {
affectedFiles[m.resource] = f;
}
},
visitedDeps
);
}
});
return allAffectedModulesList.concat(_.values(allAffectedModules));
}
_traverseDependencies(deps, moduleGetter, onDependency, visitedDeps) {
var self = this;
_.each(deps, function (dep) {
if (!dep || !dep.module) return;
var depResourceId = dep.module.resource || '';
if (!dep) return;
var m = moduleGetter(dep);
if (!m) return;
var depResourceId = m.resource || '';
if (visitedDeps[depResourceId]) return;
visitedDeps[depResourceId] = true;
var trackedDepFile = dep.module.resource && self._allTrackedFiles[dep.module.resource];
if (trackedDepFile) depIds.push(trackedDepFile.id);
self._traverseDependencies(dep.module.dependencies, depIds, visitedDeps);
var trackedDepFile = m.resource && self._allTrackedFiles[m.resource];
if (trackedDepFile) onDependency(m, trackedDepFile, dep);
self._traverseDependencies(m.dependencies, moduleGetter, onDependency, visitedDeps);
});

@@ -313,34 +353,4 @@ }

var needToPatchDependencyTemplates = !self._fullRun;
compilation.plugin('build-module', function (m) {
self._affectedModules.push(m);
if (needToPatchDependencyTemplates && self._dependencyTemplates.forEach) {
self._dependencyTemplates.forEach(v => {
if (v && v.constructor && (typeof v.constructor.name === 'string')
&& v.constructor.name.indexOf('Harmony') === 0 && !v.patched) {
var originalApply = v.apply;
v.apply = function (dep, source) {
var replacementsLengthBeforeDepenencyProcessing;
if (source && source.replacements) {
replacementsLengthBeforeDepenencyProcessing = source.replacements.length;
}
var result = originalApply.apply(this, arguments);
if (source.replacements && source.replacements.length !== replacementsLengthBeforeDepenencyProcessing) {
if (dep && dep.module && dep.module.issuer
&& dep.module.issuer.constructor
&& (typeof dep.module.issuer.constructor.name === 'string')
&& ~dep.module.issuer.constructor.name.indexOf('Module')
&& dep.module.issuer !== m) {
self._affectedModules.push(dep.module.issuer);
}
}
return result;
};
v.patched = true;
}
});
needToPatchDependencyTemplates = false;
}
});

@@ -347,0 +357,0 @@

{
"name": "wallaby-webpack",
"version": "3.9.0",
"version": "3.9.1",
"description": "Webpack postprocessor for wallaby.js",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc