@cj-tech-master/excelts 5.1.17 → 5.1.18

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 (64) hide show
  1. package/dist/browser/modules/archive/unzip/stream.base.js +11 -4
  2. package/dist/browser/modules/archive/unzip/stream.browser.js +3 -3
  3. package/dist/browser/modules/excel/anchor.js +2 -5
  4. package/dist/browser/modules/excel/cell.js +11 -9
  5. package/dist/browser/modules/excel/column.js +2 -2
  6. package/dist/browser/modules/excel/defined-names.js +2 -2
  7. package/dist/browser/modules/excel/note.js +1 -1
  8. package/dist/browser/modules/excel/row.js +7 -4
  9. package/dist/browser/modules/excel/stream/worksheet-reader.js +4 -1
  10. package/dist/browser/modules/excel/table.d.ts +20 -1
  11. package/dist/browser/modules/excel/table.js +118 -15
  12. package/dist/browser/modules/excel/utils/sheet-utils.js +1 -1
  13. package/dist/browser/modules/excel/worksheet.d.ts +1 -1
  14. package/dist/browser/modules/excel/worksheet.js +5 -4
  15. package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.d.ts +3 -0
  16. package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +1 -1
  17. package/dist/browser/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +6 -5
  18. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +3 -0
  19. package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.d.ts +4 -0
  20. package/dist/browser/modules/stream/streams.browser.d.ts +5 -5
  21. package/dist/browser/modules/stream/streams.browser.js +12 -4
  22. package/dist/browser/utils/utils.base.js +1 -1
  23. package/dist/cjs/modules/archive/unzip/stream.base.js +11 -4
  24. package/dist/cjs/modules/archive/unzip/stream.browser.js +3 -3
  25. package/dist/cjs/modules/excel/anchor.js +2 -5
  26. package/dist/cjs/modules/excel/cell.js +11 -9
  27. package/dist/cjs/modules/excel/column.js +2 -2
  28. package/dist/cjs/modules/excel/defined-names.js +2 -2
  29. package/dist/cjs/modules/excel/note.js +1 -1
  30. package/dist/cjs/modules/excel/row.js +7 -4
  31. package/dist/cjs/modules/excel/stream/worksheet-reader.js +4 -1
  32. package/dist/cjs/modules/excel/table.js +118 -14
  33. package/dist/cjs/modules/excel/utils/sheet-utils.js +1 -1
  34. package/dist/cjs/modules/excel/worksheet.js +5 -4
  35. package/dist/cjs/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +1 -1
  36. package/dist/cjs/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +6 -5
  37. package/dist/cjs/modules/stream/streams.browser.js +12 -4
  38. package/dist/cjs/utils/utils.base.js +1 -1
  39. package/dist/esm/modules/archive/unzip/stream.base.js +11 -4
  40. package/dist/esm/modules/archive/unzip/stream.browser.js +3 -3
  41. package/dist/esm/modules/excel/anchor.js +2 -5
  42. package/dist/esm/modules/excel/cell.js +11 -9
  43. package/dist/esm/modules/excel/column.js +2 -2
  44. package/dist/esm/modules/excel/defined-names.js +2 -2
  45. package/dist/esm/modules/excel/note.js +1 -1
  46. package/dist/esm/modules/excel/row.js +7 -4
  47. package/dist/esm/modules/excel/stream/worksheet-reader.js +4 -1
  48. package/dist/esm/modules/excel/table.js +118 -15
  49. package/dist/esm/modules/excel/utils/sheet-utils.js +1 -1
  50. package/dist/esm/modules/excel/worksheet.js +5 -4
  51. package/dist/esm/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +1 -1
  52. package/dist/esm/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +6 -5
  53. package/dist/esm/modules/stream/streams.browser.js +12 -4
  54. package/dist/esm/utils/utils.base.js +1 -1
  55. package/dist/iife/excelts.iife.js +724 -888
  56. package/dist/iife/excelts.iife.js.map +1 -1
  57. package/dist/iife/excelts.iife.min.js +24 -23
  58. package/dist/types/modules/excel/table.d.ts +20 -1
  59. package/dist/types/modules/excel/worksheet.d.ts +1 -1
  60. package/dist/types/modules/excel/xlsx/xform/book/workbook-xform.d.ts +3 -0
  61. package/dist/types/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +3 -0
  62. package/dist/types/modules/excel/xlsx/xform/style/styles-xform.d.ts +4 -0
  63. package/dist/types/modules/stream/streams.browser.d.ts +5 -5
  64. package/package.json +16 -16
@@ -14,6 +14,25 @@ interface TableModel {
14
14
  autoFilterRef?: string;
15
15
  tableRef?: string;
16
16
  }
17
+ /**
18
+ * Sanitize a table name to comply with OOXML defined name rules
19
+ * (ECMA-376, 4th edition, Part 1, §18.5.1.2).
20
+ *
21
+ * Rules enforced (per Microsoft documentation):
22
+ * - First character must be a letter (any script), underscore (_), or backslash (\)
23
+ * - Subsequent characters may be letters, digits, underscores, or periods (.)
24
+ * - Backslash is only valid as the first character
25
+ * - Spaces are replaced with underscores
26
+ * - Other invalid characters are stripped
27
+ * - Single-character names "C", "c", "R", "r" are prefixed with _
28
+ * - Names that look like cell references (e.g. A1, R1C1) are prefixed with _
29
+ * - Maximum 255 characters
30
+ * - Empty result falls back to "_Table"
31
+ *
32
+ * This library applies these rules automatically so that generated files
33
+ * always comply with the OOXML schema, avoiding Excel "repair" dialogs.
34
+ */
35
+ declare function sanitizeTableName(name: string): string;
17
36
  declare class Column {
18
37
  table: Table;
19
38
  column: TableColumnProperties;
@@ -83,4 +102,4 @@ declare class Table {
83
102
  get showColumnStripes(): boolean | undefined;
84
103
  set showColumnStripes(value: boolean | undefined);
85
104
  }
86
- export { Table, type TableModel };
105
+ export { Table, sanitizeTableName, type TableModel };
@@ -162,7 +162,7 @@ declare class Worksheet {
162
162
  /**
163
163
  * Get the current columns array
164
164
  */
165
- get columns(): Column[];
165
+ get columns(): Column[] | null;
166
166
  /**
167
167
  * Add column headers and define column keys and widths.
168
168
  *
@@ -2,6 +2,9 @@ import { BaseXform } from "../base-xform.js";
2
2
  import { StaticXform } from "../static-xform.js";
3
3
  declare class WorkbookXform extends BaseXform {
4
4
  parser: any;
5
+ map: {
6
+ [key: string]: any;
7
+ };
5
8
  constructor();
6
9
  prepare(model: any): void;
7
10
  render(xmlStream: any, model: any): void;
@@ -1,5 +1,8 @@
1
1
  import { BaseXform } from "../base-xform.js";
2
2
  declare class WorkSheetXform extends BaseXform {
3
+ map: {
4
+ [key: string]: any;
5
+ };
3
6
  private ignoreNodes;
4
7
  parser: any;
5
8
  private preImageId;
@@ -9,6 +9,10 @@ interface StylesModel {
9
9
  dxfs?: any[];
10
10
  }
11
11
  declare class StylesXform extends BaseXform {
12
+ map: {
13
+ [key: string]: any;
14
+ };
15
+ model: any;
12
16
  private index?;
13
17
  private weakMap?;
14
18
  private _hasCheckboxes?;
@@ -664,7 +664,7 @@ export { PullStream, BufferedStream, StringChunk, BufferChunk };
664
664
  * Create a readable stream with custom read implementation
665
665
  */
666
666
  export declare function createReadable<T = Uint8Array>(options?: ReadableStreamOptions & {
667
- read?: (size: number) => void;
667
+ read?: (this: Readable<T>, size?: number) => void;
668
668
  destroy?: (error: Error | null, callback: (error: Error | null) => void) => void;
669
669
  }): IReadable<T>;
670
670
  /**
@@ -813,10 +813,10 @@ export declare function createDuplex<TRead = Uint8Array, TWrite = Uint8Array>(op
813
813
  writable?: unknown;
814
814
  allowHalfOpen?: boolean;
815
815
  objectMode?: boolean;
816
- read?: (this: any, size: number) => void;
817
- write?: (this: any, chunk: TWrite, encoding: string, callback: (error?: Error | null) => void) => void;
818
- final?: (this: any, callback: (error?: Error | null) => void) => void;
819
- destroy?: (this: any, error: Error | null, callback: (error: Error | null) => void) => void;
816
+ read?: (this: Duplex<TRead, TWrite>, size?: number) => void;
817
+ write?: (this: Duplex<TRead, TWrite>, chunk: TWrite, encoding: string, callback: (error?: Error | null) => void) => void;
818
+ final?: (this: Duplex<TRead, TWrite>, callback: (error?: Error | null) => void) => void;
819
+ destroy?: (this: Duplex<TRead, TWrite>, error: Error | null, callback: (error: Error | null) => void) => void;
820
820
  }): IDuplex<TRead, TWrite>;
821
821
  /**
822
822
  * Create a readable stream from a generator function
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cj-tech-master/excelts",
3
- "version": "5.1.17",
3
+ "version": "5.1.18",
4
4
  "description": "TypeScript Excel Workbook Manager - Read and Write xlsx and csv Files.",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -92,32 +92,32 @@
92
92
  "xlsx"
93
93
  ],
94
94
  "devDependencies": {
95
- "@eslint/js": "^9.39.2",
96
- "@types/node": "^25.0.10",
97
- "@typescript-eslint/eslint-plugin": "^8.53.1",
98
- "@typescript-eslint/parser": "^8.53.1",
99
- "@typescript/native-preview": "^7.0.0-dev.20260122.4",
95
+ "@eslint/js": "^10.0.1",
96
+ "@types/node": "^25.4.0",
97
+ "@typescript-eslint/eslint-plugin": "^8.57.0",
98
+ "@typescript-eslint/parser": "^8.57.0",
99
+ "@typescript/native-preview": "^7.0.0-dev.20260310.1",
100
100
  "@vitest/browser": "^4.0.18",
101
101
  "@vitest/browser-playwright": "^4.0.18",
102
102
  "@vitest/ui": "^4.0.18",
103
103
  "concurrently": "^9.2.1",
104
104
  "cross-env": "^10.1.0",
105
- "eslint": "^9.39.2",
105
+ "eslint": "^10.0.3",
106
106
  "eslint-config-prettier": "^10.1.8",
107
107
  "eslint-import-resolver-typescript": "^4.4.4",
108
108
  "eslint-plugin-import-x": "^4.16.1",
109
- "eslint-plugin-oxlint": "^1.41.0",
110
- "eslint-plugin-unused-imports": "^4.3.0",
109
+ "eslint-plugin-oxlint": "^1.51.0",
110
+ "eslint-plugin-unused-imports": "^4.4.1",
111
111
  "husky": "^9.1.7",
112
- "oxlint": "^1.41.0",
113
- "playwright": "^1.57.0",
112
+ "oxlint": "^1.52.0",
113
+ "playwright": "^1.58.2",
114
114
  "prettier": "^3.8.1",
115
- "rimraf": "^6.1.2",
116
- "rolldown": "^1.0.0-rc.1",
117
- "rollup-plugin-visualizer": "^6.0.5",
115
+ "rimraf": "^6.1.3",
116
+ "rolldown": "^1.0.0-rc.8",
117
+ "rollup-plugin-visualizer": "^7.0.1",
118
118
  "typescript": "^5.9.3",
119
- "typescript-eslint": "^8.53.1",
120
- "vite-tsconfig-paths": "^6.0.4",
119
+ "typescript-eslint": "^8.57.0",
120
+ "vite-tsconfig-paths": "^6.1.1",
121
121
  "vitest": "^4.0.18"
122
122
  },
123
123
  "scripts": {