Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}));
}
seenComments.push(comment);
}
}, this);
}
}, this);
// Detect global 'use strict' directives
if (parentNode === this.parseTree &&
node instanceof uglifyJs.AST_Directive &&
node.value === 'use strict') {
this.strict = true;
}
if (node instanceof uglifyJs.AST_SimpleStatement &&
node.body instanceof uglifyJs.AST_Call &&
node.body.expression instanceof uglifyJs.AST_Dot &&
node.body.expression.property === 'config' &&
node.body.expression.expression instanceof uglifyJs.AST_SymbolRef &&
node.body.args[0] instanceof uglifyJs.AST_Object &&
(node.body.expression.expression.name === 'require' || node.body.expression.expression.name === 'requirejs')) {
outgoingRelations.push(new AssetGraph.JavaScriptRequireJsConfig({
from: this,
node: node.body.args[0],
parentNode: node.body,
to: new AssetGraph.RequireJsConfig({
parseTree: node.body.args[0].transform(deepCloneTransform)
})
}));
} else if (node instanceof uglifyJs.AST_Var) {
var parentIndex = stack.length - 1,
isSucceededByDefineWithStringArg = false,
seenDefine = false,
walkFn = function (_node) {
if (_node === node) {
seenDefine = true;
} else if (seenDefine && isNamedDefineNode(_node)) {
isSucceededByDefineWithStringArg = true;
}
};
OUTER:
while (parentIndex >= 0) {
if (stack[parentIndex] instanceof uglifyJs.AST_Block) {
var blockNode = stack[parentIndex];
for (var i = blockNode.body.indexOf(stack[parentIndex + 1]) ; i < blockNode.body.length ; i += 1) {
if (blockNode.body[i] instanceof uglifyJs.AST_SimpleStatement && isNamedDefineNode(blockNode.body[i].body)) {
isSucceededByDefineWithStringArg = true;
break OUTER;
}
}
break OUTER;
} else if (stack[parentIndex] instanceof uglifyJs.AST_Seq) {
stack[parentIndex].walk(new uglifyJs.TreeWalker(walkFn));
break OUTER;
} else {
parentIndex -= 1;
}
}
if (!isSucceededByDefineWithStringArg) {
var arrayNode = node.args[0];
arrayNode.elements.forEach(function (arrayItemAst, i) {