Breaking changes
- This package is now pure ESM. For more info, please read Sindre Sorhus's FAQ (#350).
- Supported Node versions are
^18.0.0 || >=20.0.0
(#350). - Requires ES6 support (#350).
- There is no longer a default export. Import this package by using
import * as jsondiffpatch from 'jsondiffpatch'
or by importing individual methods (#350). - Formatters are no longer exported from the main entry-point and must be imported from subpaths (#350):
import * as annotatedFormatter from 'jsondiffpatch/formatters/annotated'
import * as baseFormatter from 'jsondiffpatch/formatters/base'
import * as consoleFormatter from 'jsondiffpatch/formatters/console'
import * as htmlFormatter from 'jsondiffpatch/formatters/html'
import * as jsonpatchFormatter from 'jsondiffpatch/formatters/jsonpatch'
- Updated CSS imports (#350):
import 'jsondiffpatch/formatters/styles/html.css'
import 'jsondiffpatch/formatters/styles/annotated.css'
- The main entry-point no longer includes text diffing by default. Either pass in the diff-match-patch library via the
textDiff.diffMatchPatch
option, or use thejsondiffpatch/with-text-diffs
entry point that is included for convenience (#352). Context.switchTo()
has been removed (#345).BaseFormatter.typeFormattterErrorFormatter()
now throws an error instead of returning astring
(#345).- The UMD browser bundle has been removed. If you were using a
script
tag to includejsondiffpatch
in your project, you can now import it inside of your mainscript
tag as show below. For a more complete example, see the Visual Diff example before and after this change.
<!doctype html>
<html>
<head>
<link
rel="stylesheet"
href="https://esm.sh/[email protected]/lib/formatters/styles/html.css"
type="text/css"
/>
<link
rel="stylesheet"
href="https://esm.sh/[email protected]/lib/formatters/styles/annotated.css"
type="text/css"
/>
</head>
<body>
<script type="module">
import * as jsondiffpatch from 'https://esm.sh/[email protected]';
import * as annotatedFormatter from 'https://esm.sh/[email protected]/formatters/annotated';
import * as htmlFormatter from 'https://esm.sh/[email protected]/formatters/html';
...
</script>
</body>
</html>
Other changes
- Fix demo link in formatters doc by @johnrees in #311
- Fix the live demo link in the deltas docs by @Xheldon in #317
- Fix typos in project documentation by @plan-do-break-fix in #305
- Fix examples in documentation by @dayures in #308
- Update TS type file to include jsonpatch formatter by @thilinatnt in #310
- Fix incorrect matrix initialization by @rexxars in #291
- Documentation instances distinction by @piomar123 in #129
- Replace usages of
substr
withsubstring
by @Methuselah96 in #343 - Remove dead branches by @Methuselah96 in #344
- Convert to TypeScript by @Methuselah96 in #345
- Convert tests to TypeScript by @Methuselah96 in #346
- Convert to monorepo and revamp build system by @Methuselah96 in #350
- Disable text diffs by default by @Methuselah96 in #352
New Contributors
- @johnrees made their first contribution in #311
- @Xheldon made their first contribution in #317
- @plan-do-break-fix made their first contribution in #305
- @dayures made their first contribution in #308
- @thilinatnt made their first contribution in #310
- @rexxars made their first contribution in #291
- @piomar123 made their first contribution in #129
Full Changelog: v0.5.0...v0.6.0