diff --git a/src/cli/format.js b/src/cli/format.js index 13aeca6f86a6..01806522fae9 100644 --- a/src/cli/format.js +++ b/src/cli/format.js @@ -16,9 +16,18 @@ const getOptionsForFile = require("./options/get-options-for-file.js"); const isTTY = require("./is-tty.js"); function diff(a, b) { - return require("diff").createTwoFilesPatch("", "", a, b, "", "", { - context: 2, - }); + // Use `diff/lib/patch/create.js` instead of `diff` to reduce bundle size + return require("diff/lib/patch/create.js").createTwoFilesPatch( + "", + "", + a, + b, + "", + "", + { + context: 2, + } + ); } function handleError(context, filename, error, printedFilename) { diff --git a/src/main/core.js b/src/main/core.js index 63c40594a9b9..07e40624f856 100644 --- a/src/main/core.js +++ b/src/main/core.js @@ -1,6 +1,7 @@ "use strict"; -const diff = require("diff"); +// Use `diff/lib/diff/array.js` instead of `diff` to reduce bundle size +const { diffArrays } = require("diff/lib/diff/array.js"); const { printer: { printDocToString }, @@ -118,7 +119,7 @@ function coreFormat(originalText, opts, addAlignmentSize = 0) { const newCursorNodeCharArray = [...newCursorNodeText]; - const cursorNodeDiff = diff.diffArrays( + const cursorNodeDiff = diffArrays( oldCursorNodeCharArray, newCursorNodeCharArray );