diff --git a/packages/babel-generator/package.json b/packages/babel-generator/package.json index 418f105dc6..c55b973d6d 100644 --- a/packages/babel-generator/package.json +++ b/packages/babel-generator/package.json @@ -17,7 +17,8 @@ "detect-indent": "^4.0.0", "jsesc": "^1.3.0", "lodash": "^4.2.0", - "source-map": "^0.5.0" + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "devDependencies": { "babel-helper-fixtures": "^6.22.0", diff --git a/packages/babel-generator/src/buffer.js b/packages/babel-generator/src/buffer.js index d1187be275..3c53ef666d 100644 --- a/packages/babel-generator/src/buffer.js +++ b/packages/babel-generator/src/buffer.js @@ -1,5 +1,5 @@ import type SourceMap from "./source-map"; -import trimEnd from "lodash/trimEnd"; +import trimRight from "trim-right"; const SPACES_RE = /^[ \t]+$/; @@ -40,7 +40,9 @@ export default class Buffer { const map = this._map; const result = { - code: trimEnd(this._buf.join("")), + // Whatever trim is used here should not execute a regex against the + // source string since it may be arbitrarily large after all transformations + code: trimRight(this._buf.join("")), map: null, rawMappings: map && map.getRawMappings(), };