From e464b9ab87400d1d6e3024f38a6a02c9e2243118 Mon Sep 17 00:00:00 2001 From: Jhen Date: Mon, 18 Jul 2016 02:18:11 +0800 Subject: [PATCH 1/2] Add block if parent is no block statement for remove-console/debugger --- .../babel-traverse/src/path/lib/removal-hooks.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/babel-traverse/src/path/lib/removal-hooks.js b/packages/babel-traverse/src/path/lib/removal-hooks.js index 97cacbca8b..fc232871e5 100644 --- a/packages/babel-traverse/src/path/lib/removal-hooks.js +++ b/packages/babel-traverse/src/path/lib/removal-hooks.js @@ -64,5 +64,18 @@ export let hooks = [ } return true; } + }, + + function (self, parent) { + if ( + (parent.isIfStatement() && (self.key === 'consequent' || self.key === 'alternate')) || + (parent.isLoop() && self.key === 'body') + ) { + self.replaceWith({ + type: 'BlockStatement', + body: [] + }); + return true; + } } ]; From 6cb3e5ed1fe048858a35e21f98cff69e74459365 Mon Sep 17 00:00:00 2001 From: Jhen Date: Mon, 18 Jul 2016 02:51:41 +0800 Subject: [PATCH 2/2] Add statement-no-block test fixture for remove-console/debugger --- .../fixtures/remove-console/statement-no-block/actual.js | 6 ++++++ .../fixtures/remove-console/statement-no-block/expected.js | 6 ++++++ .../test/fixtures/remove-debugger/options.json | 3 +++ .../fixtures/remove-debugger/statement-no-block/actual.js | 6 ++++++ .../fixtures/remove-debugger/statement-no-block/expected.js | 6 ++++++ .../babel-plugin-transform-remove-debugger/test/index.js | 1 + 6 files changed, 28 insertions(+) create mode 100644 packages/babel-plugin-transform-remove-console/test/fixtures/remove-console/statement-no-block/actual.js create mode 100644 packages/babel-plugin-transform-remove-console/test/fixtures/remove-console/statement-no-block/expected.js create mode 100644 packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/options.json create mode 100644 packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/statement-no-block/actual.js create mode 100644 packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/statement-no-block/expected.js create mode 100644 packages/babel-plugin-transform-remove-debugger/test/index.js diff --git a/packages/babel-plugin-transform-remove-console/test/fixtures/remove-console/statement-no-block/actual.js b/packages/babel-plugin-transform-remove-console/test/fixtures/remove-console/statement-no-block/actual.js new file mode 100644 index 0000000000..5621f629fc --- /dev/null +++ b/packages/babel-plugin-transform-remove-console/test/fixtures/remove-console/statement-no-block/actual.js @@ -0,0 +1,6 @@ +if (blah) console.log(blah); +for (;;) console.log(blah); +for (var blah in []) console.log(blah); +for (var blah of []) console.log(blah); +while (blah) console.log(blah); +do console.log(blah); while (blah); diff --git a/packages/babel-plugin-transform-remove-console/test/fixtures/remove-console/statement-no-block/expected.js b/packages/babel-plugin-transform-remove-console/test/fixtures/remove-console/statement-no-block/expected.js new file mode 100644 index 0000000000..1819737512 --- /dev/null +++ b/packages/babel-plugin-transform-remove-console/test/fixtures/remove-console/statement-no-block/expected.js @@ -0,0 +1,6 @@ +if (blah) {} +for (;;) {} +for (var blah in []) {} +for (var blah of []) {} +while (blah) {} +do {} while (blah); diff --git a/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/options.json b/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/options.json new file mode 100644 index 0000000000..42b69d1ff8 --- /dev/null +++ b/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-remove-debugger"] +} diff --git a/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/statement-no-block/actual.js b/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/statement-no-block/actual.js new file mode 100644 index 0000000000..b6a13027ac --- /dev/null +++ b/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/statement-no-block/actual.js @@ -0,0 +1,6 @@ +if (blah) debugger; +for (;;) debugger; +for (var blah in []) debugger; +for (var blah of []) debugger; +while (blah) debugger; +do debugger; while (blah); diff --git a/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/statement-no-block/expected.js b/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/statement-no-block/expected.js new file mode 100644 index 0000000000..1819737512 --- /dev/null +++ b/packages/babel-plugin-transform-remove-debugger/test/fixtures/remove-debugger/statement-no-block/expected.js @@ -0,0 +1,6 @@ +if (blah) {} +for (;;) {} +for (var blah in []) {} +for (var blah of []) {} +while (blah) {} +do {} while (blah); diff --git a/packages/babel-plugin-transform-remove-debugger/test/index.js b/packages/babel-plugin-transform-remove-debugger/test/index.js new file mode 100644 index 0000000000..1f6634aabd --- /dev/null +++ b/packages/babel-plugin-transform-remove-debugger/test/index.js @@ -0,0 +1 @@ +require("babel-helper-plugin-test-runner")(__dirname);