odf-kit 0.10.2 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +4 -0
  3. package/package.json +21 -42
package/CHANGELOG.md CHANGED
@@ -5,6 +5,19 @@ All notable changes to odf-kit will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.10.3] - 2026-04-14
9
+
10
+ ### Changed
11
+
12
+ - **`module-sync` exports condition added** — All sub-exports now include a `module-sync` condition alongside `import`. This improves compatibility with bundlers (webpack 5, rollup, vite) that need to load ESM packages synchronously in a CJS module graph. The underlying file is unchanged — both `import` and `module-sync` point to the same ESM output. Note: `require()` from a pure CJS Node.js runtime is still not supported; use dynamic `import()` instead.
13
+ - **`typesVersions` field added** — Fixes TypeScript sub-export resolution when `moduleResolution` is set to `"node"` (the legacy resolver). Previously, TypeScript could not find type declarations for `odf-kit/ods-reader` and other sub-exports in projects using older `tsconfig.json` settings. All ten sub-exports are now covered.
14
+
15
+ ## [0.10.2] - 2026-04-13
16
+
17
+ ### Fixed
18
+
19
+ - **ODS freeze rows/columns** — `freezeRows()` and `freezeColumns()` now work correctly in LibreOffice and other ODF-compliant spreadsheet applications. The root cause was a missing `ActiveSplitRange` config item in `settings.xml` — without it, LibreOffice silently ignores the freeze pane entirely. Additionally, both split axes (`HorizontalSplitMode` and `VerticalSplitMode`) and all four position items (`PositionLeft`, `PositionRight`, `PositionTop`, `PositionBottom`) are now always emitted with correct values, matching what LibreOffice itself writes when freezing panes.
20
+
8
21
  ## [0.10.0] - 2026-04-12
9
22
 
10
23
  ### Added
@@ -241,6 +254,8 @@ Initial release. Complete ODT generation support.
241
254
  [0.8.1]: https://github.com/GitHubNewbie0/odf-kit/releases/tag/v0.8.1
242
255
  [0.8.0]: https://github.com/GitHubNewbie0/odf-kit/releases/tag/v0.8.0
243
256
  [0.7.0]: https://github.com/GitHubNewbie0/odf-kit/releases/tag/v0.7.0
257
+ [0.10.3]: https://github.com/GitHubNewbie0/odf-kit/releases/tag/v0.10.3
258
+ [0.10.2]: https://github.com/GitHubNewbie0/odf-kit/releases/tag/v0.10.2
244
259
  [0.4.0]: https://github.com/GitHubNewbie0/odf-kit/releases/tag/v0.4.0
245
260
  [0.3.0]: https://github.com/GitHubNewbie0/odf-kit/releases/tag/v0.3.0
246
261
  [0.2.0]: https://github.com/GitHubNewbie0/odf-kit/releases/tag/v0.2.0
package/README.md CHANGED
@@ -935,6 +935,10 @@ odf-kit targets ODF 1.2 (ISO/IEC 26300). Generated files include proper ZIP pack
935
935
 
936
936
  ## Version history
937
937
 
938
+ **v0.10.3** — `module-sync` exports condition for bundler compatibility. `typesVersions` field for TypeScript `moduleResolution: node` compatibility.
939
+
940
+ **v0.10.2** — ODS freeze rows/columns fix — `ActiveSplitRange` and all split axis items now correctly emitted in `settings.xml`.
941
+
938
942
  **v0.10.0** — `docxToOdt()` via `odf-kit/docx`. Native DOCX→ODT converter — pure ESM, zero new dependencies, browser-safe. Preserves text, headings, formatting, tables, lists, images (actual dimensions), hyperlinks, bookmarks, footnotes, page layout, headers/footers, and tracked changes. Spec-validated against ECMA-376 5th edition. 1053 tests passing.
939
943
 
940
944
  **v0.9.9** — `xlsxToOds()` via `odf-kit/xlsx`. XLSX→ODS conversion with zero new dependencies. 936 tests passing.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "odf-kit",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
4
4
  "description": "Generate, fill, read, and convert OpenDocument Format (.odt) files in JavaScript and TypeScript. Works in Node.js and browsers.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -8,74 +8,53 @@
8
8
  "exports": {
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
11
+ "import": "./dist/index.js",
12
+ "module-sync": "./dist/index.js"
12
13
  },
13
14
  "./odt": {
14
15
  "types": "./dist/odt/index.d.ts",
15
- "import": "./dist/odt/index.js"
16
+ "import": "./dist/odt/index.js",
17
+ "module-sync": "./dist/odt/index.js"
16
18
  },
17
19
  "./odt-reader": {
18
20
  "types": "./dist/reader/index.d.ts",
19
- "import": "./dist/reader/index.js"
21
+ "import": "./dist/reader/index.js",
22
+ "module-sync": "./dist/reader/index.js"
20
23
  },
21
24
  "./ods": {
22
25
  "types": "./dist/ods/index.d.ts",
23
- "import": "./dist/ods/index.js"
26
+ "import": "./dist/ods/index.js",
27
+ "module-sync": "./dist/ods/index.js"
24
28
  },
25
29
  "./ods-reader": {
26
30
  "types": "./dist/ods-reader/index.d.ts",
27
- "import": "./dist/ods-reader/index.js"
31
+ "import": "./dist/ods-reader/index.js",
32
+ "module-sync": "./dist/ods-reader/index.js"
28
33
  },
29
34
  "./xlsx": {
30
35
  "types": "./dist/xlsx/index.d.ts",
31
- "import": "./dist/xlsx/index.js"
36
+ "import": "./dist/xlsx/index.js",
37
+ "module-sync": "./dist/xlsx/index.js"
32
38
  },
33
39
  "./template": {
34
40
  "types": "./dist/template/index.d.ts",
35
- "import": "./dist/template/index.js"
41
+ "import": "./dist/template/index.js",
42
+ "module-sync": "./dist/template/index.js"
36
43
  },
37
44
  "./reader": {
38
45
  "types": "./dist/reader/index.d.ts",
39
- "import": "./dist/reader/index.js"
46
+ "import": "./dist/reader/index.js",
47
+ "module-sync": "./dist/reader/index.js"
40
48
  },
41
49
  "./typst": {
42
50
  "types": "./dist/typst/index.d.ts",
43
- "import": "./dist/typst/index.js"
51
+ "import": "./dist/typst/index.js",
52
+ "module-sync": "./dist/typst/index.js"
44
53
  },
45
54
  "./docx": {
46
55
  "types": "./dist/docx/index.d.ts",
47
- "import": "./dist/docx/index.js"
48
- }
49
- },
50
- "typesVersions": {
51
- "*": {
52
- "odt": [
53
- "./dist/odt/index.d.ts"
54
- ],
55
- "odt-reader": [
56
- "./dist/reader/index.d.ts"
57
- ],
58
- "ods": [
59
- "./dist/ods/index.d.ts"
60
- ],
61
- "ods-reader": [
62
- "./dist/ods-reader/index.d.ts"
63
- ],
64
- "xlsx": [
65
- "./dist/xlsx/index.d.ts"
66
- ],
67
- "template": [
68
- "./dist/template/index.d.ts"
69
- ],
70
- "reader": [
71
- "./dist/reader/index.d.ts"
72
- ],
73
- "typst": [
74
- "./dist/typst/index.d.ts"
75
- ],
76
- "docx": [
77
- "./dist/docx/index.d.ts"
78
- ]
56
+ "import": "./dist/docx/index.js",
57
+ "module-sync": "./dist/docx/index.js"
79
58
  }
80
59
  },
81
60
  "files": [