From 2ff3c86594813d66b475ac4768aca151ebc953a0 Mon Sep 17 00:00:00 2001 From: Remy Sharp Date: Fri, 26 Jan 2018 12:42:32 +0000 Subject: [PATCH] fix: loop protect breaking when no LOC --- lib/index.js | 7 +++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/index.js b/lib/index.js index 5e2390b1..bf0ab1e0 100644 --- a/lib/index.js +++ b/lib/index.js @@ -38,6 +38,13 @@ const generateInside = ({ t, id, line, ch, timeout, extra } = {}) => { }; const protect = (t, timeout, extra) => path => { + if (!path.node.loc) { + // I don't really know _how_ we get into this state + // but https://jsbin.com/mipesawapi/1/ triggers it + // and the node, I'm guessing after translation, + // doesn't have a line in the code, so this blows up. + return; + } const id = path.scope.generateUidIdentifier('LP'); const before = generateBefore(t, id); const inside = generateInside({ diff --git a/package-lock.json b/package-lock.json index 31527fcf..b36a0697 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "loop-protect", - "version": "2.1.2", + "version": "2.1.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2a8dd1e0..50806f39 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "name": "loop-protect", "description": "Prevent infinite loops in dynamically eval'd JavaScript.", "main": "dist/", - "version": "2.1.5", + "version": "2.1.6", "homepage": "https://github.com/jsbin/loop-protect", "repository": { "type": "git",