Commit 46db092
committed
Release 4.4.0-protobi.10: Fix richText shared-string dedup + uuid pin
Fixes critical bug in WorkbookWriter streaming with useSharedStrings:
every richText cell collapsed into a single shared-string entry
(richText objects coerced to '[object Object]' as hash key, deduping
all of them).
Cherry-picked from #50 by @gwkline; adds regression tests covering
richText deduplication and formatting-aware distinction. Addresses
upstream exceljs#2267.
Also pins uuid to ^9.0.1 to keep browserify build working
(uuid@14 dropped the main field; uuid@11 ships ES2021 syntax that
browserify@16 cannot parse).
Adds AGENTS.md with hard rules for AI-generated PRs.
Files changed:
- lib/utils/shared-strings.js: hash richText by rendered XML
- spec/unit/utils/shared-strings.spec.js: 2 new regression tests
- AGENTS.md: new (hard rules for AI agents)
- README.md, CONTRIBUTING.md: pointers to AGENTS.md, release notes
- .github/PULL_REQUEST_TEMPLATE.md: per-PR checklist
- FORK.md: release notes
- package.json, package-lock.json: version bump, uuid 8 -> 9
Tests: 886 unit tests passing (4 in SharedStrings, up from 2).
PRs: #64 (uuid), #65 (AGENTS.md), #66 (richText fix)1 parent 3f0bfdc commit 46db092
4 files changed
Lines changed: 39 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
31 | 60 | | |
32 | 61 | | |
33 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
62 | 69 | | |
63 | 70 | | |
64 | 71 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments