@office-open/core 0.3.1 → 0.3.2
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.
- package/dist/_chunks/{index-3uVYzs32.d.mts → index-BV1I7g5r.d.mts} +8 -0
- package/dist/_chunks/{xml-components-DazgCiyL.mjs → xml-components-CN6syVNr.mjs} +19 -2
- package/dist/chart/index.d.mts +2 -2
- package/dist/chart/index.mjs +1 -1
- package/dist/drawingml/index.d.mts +1 -1
- package/dist/drawingml/index.mjs +1 -1
- package/dist/index.d.mts +27 -2
- package/dist/index.mjs +46 -2
- package/dist/smartart/index.d.mts +1 -1
- package/dist/smartart/index.mjs +1 -1
- package/package.json +2 -2
|
@@ -64,6 +64,11 @@ declare abstract class XmlComponent extends BaseXmlComponent {
|
|
|
64
64
|
* Prepares this component and its children for XML serialization.
|
|
65
65
|
*/
|
|
66
66
|
prepForXml(context: IContext): IXmlableObject | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Direct XML serialization. Override in subclasses for zero-allocation output.
|
|
69
|
+
* Default falls back to prepForXml() + xml().
|
|
70
|
+
*/
|
|
71
|
+
toXml(context: IContext): string;
|
|
67
72
|
/**
|
|
68
73
|
* @deprecated Internal use only.
|
|
69
74
|
*/
|
|
@@ -217,7 +222,10 @@ declare const convertToXmlComponent: (element: Element) => ImportedXmlComponent
|
|
|
217
222
|
* XML component representing imported XML content.
|
|
218
223
|
*/
|
|
219
224
|
declare class ImportedXmlComponent extends XmlComponent {
|
|
225
|
+
protected _sourceXml?: string;
|
|
220
226
|
static fromXmlString(importedContent: string): ImportedXmlComponent;
|
|
227
|
+
get sourceXml(): string | undefined;
|
|
228
|
+
toXml(_context: IContext): string;
|
|
221
229
|
constructor(rootKey: string, _attr?: any);
|
|
222
230
|
push(xmlComponent: XmlComponent | string): void;
|
|
223
231
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { hpsMeasureValue } from "../values.mjs";
|
|
2
|
-
import { xml2js } from "@office-open/xml";
|
|
2
|
+
import { xml, xml2js } from "@office-open/xml";
|
|
3
3
|
//#region src/xml-components/base.ts
|
|
4
4
|
/**
|
|
5
5
|
* Abstract base class for all XML components.
|
|
@@ -50,6 +50,14 @@ var XmlComponent = class extends BaseXmlComponent {
|
|
|
50
50
|
return { [this.rootKey]: children.length ? children.length === 1 && children[0] && typeof children[0] === "object" && "_attr" in children[0] ? children[0] : children : EMPTY_OBJECT };
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
|
+
* Direct XML serialization. Override in subclasses for zero-allocation output.
|
|
54
|
+
* Default falls back to prepForXml() + xml().
|
|
55
|
+
*/
|
|
56
|
+
toXml(context) {
|
|
57
|
+
const obj = this.prepForXml(context);
|
|
58
|
+
return obj ? xml(obj) : "";
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
53
61
|
* @deprecated Internal use only.
|
|
54
62
|
*/
|
|
55
63
|
addChildElement(child) {
|
|
@@ -320,9 +328,18 @@ var ImportedXmlComponentAttributes = class extends XmlAttributeComponent {};
|
|
|
320
328
|
* XML component representing imported XML content.
|
|
321
329
|
*/
|
|
322
330
|
var ImportedXmlComponent = class extends XmlComponent {
|
|
331
|
+
_sourceXml;
|
|
323
332
|
static fromXmlString(importedContent) {
|
|
324
333
|
const xmlObj = xml2js(importedContent, { compact: false });
|
|
325
|
-
|
|
334
|
+
const component = convertToXmlComponent(xmlObj.elements?.[0] ?? xmlObj);
|
|
335
|
+
component._sourceXml = importedContent;
|
|
336
|
+
return component;
|
|
337
|
+
}
|
|
338
|
+
get sourceXml() {
|
|
339
|
+
return this._sourceXml;
|
|
340
|
+
}
|
|
341
|
+
toXml(_context) {
|
|
342
|
+
return this._sourceXml ?? super.toXml(_context);
|
|
326
343
|
}
|
|
327
344
|
constructor(rootKey, _attr) {
|
|
328
345
|
super(rootKey);
|
package/dist/chart/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as XmlComponent } from "../_chunks/index-
|
|
1
|
+
import { O as XmlComponent } from "../_chunks/index-BV1I7g5r.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/chart/chart-collection.d.ts
|
|
4
4
|
interface IChartData {
|
|
@@ -69,7 +69,7 @@ interface IChartTypeOptions {
|
|
|
69
69
|
readonly series: readonly IChartSeriesData[];
|
|
70
70
|
readonly categories: readonly string[];
|
|
71
71
|
}
|
|
72
|
-
declare const createChartType: (options: IChartTypeOptions) => BarChart | LineChart | PieChart | AreaChart
|
|
72
|
+
declare const createChartType: (options: IChartTypeOptions) => ScatterChart | BarChart | LineChart | PieChart | AreaChart;
|
|
73
73
|
//#endregion
|
|
74
74
|
//#region src/chart/series/series-data.d.ts
|
|
75
75
|
declare const createStrRef: (values: string | readonly string[]) => XmlComponent;
|
package/dist/chart/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as XmlComponent, b as wrapEl, o as EmptyElement, p as chartAttr } from "../_chunks/xml-components-
|
|
1
|
+
import { T as XmlComponent, b as wrapEl, o as EmptyElement, p as chartAttr } from "../_chunks/xml-components-CN6syVNr.mjs";
|
|
2
2
|
//#region src/chart/chart-collection.ts
|
|
3
3
|
var ChartCollection = class {
|
|
4
4
|
map;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as XmlComponent, T as XmlAttributeComponent, a as BuilderElement } from "../_chunks/index-
|
|
1
|
+
import { O as XmlComponent, T as XmlAttributeComponent, a as BuilderElement } from "../_chunks/index-BV1I7g5r.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/drawingml/color/color-transform.d.ts
|
|
4
4
|
/**
|
package/dist/drawingml/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as XmlAttributeComponent, T as XmlComponent, a as BuilderElement } from "../_chunks/xml-components-
|
|
1
|
+
import { S as XmlAttributeComponent, T as XmlComponent, a as BuilderElement } from "../_chunks/xml-components-CN6syVNr.mjs";
|
|
2
2
|
import { d as convertPixelsToEmu, t as hashedId } from "../_chunks/id-generators-Ch07cHW1.mjs";
|
|
3
3
|
//#region src/drawingml/color/color-transform.ts
|
|
4
4
|
/**
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Relationship, elementToXml, findRel, findRelsByType, getImageType, listFiles, parseRels, readAllXmlParts, readBinaryFromZip, readTextFromZip, readXmlFromZip, uint8ToBase64, unzipToMap, zipToBuffer } from "./archive.mjs";
|
|
2
|
-
import { A as IContext, C as AttributePayload, D as IgnoreIfEmptyXmlComponent, E as EMPTY_OBJECT, M as IXmlableObject, O as XmlComponent, S as AttributeMap, T as XmlAttributeComponent, _ as stringContainerObj, a as BuilderElement, b as wrapEl, c as NumberValueElement, d as StringEnumValueElement, f as StringValueElement, g as onOffObj, h as numberValObj, i as convertToXmlComponent, j as IXmlAttribute, k as BaseXmlComponent, l as OnOffElement, m as hpsMeasureObj, n as ImportedRootElementAttributes, o as EmptyElement, p as chartAttr, r as ImportedXmlComponent, s as HpsMeasureElement, t as InitializableXmlComponent, u as StringContainer, v as stringEnumValObj, w as NextAttributeComponent, x as AttributeData, y as stringValObj } from "./_chunks/index-
|
|
2
|
+
import { A as IContext, C as AttributePayload, D as IgnoreIfEmptyXmlComponent, E as EMPTY_OBJECT, M as IXmlableObject, O as XmlComponent, S as AttributeMap, T as XmlAttributeComponent, _ as stringContainerObj, a as BuilderElement, b as wrapEl, c as NumberValueElement, d as StringEnumValueElement, f as StringValueElement, g as onOffObj, h as numberValObj, i as convertToXmlComponent, j as IXmlAttribute, k as BaseXmlComponent, l as OnOffElement, m as hpsMeasureObj, n as ImportedRootElementAttributes, o as EmptyElement, p as chartAttr, r as ImportedXmlComponent, s as HpsMeasureElement, t as InitializableXmlComponent, u as StringContainer, v as stringEnumValObj, w as NextAttributeComponent, x as AttributeData, y as stringValObj } from "./_chunks/index-BV1I7g5r.mjs";
|
|
3
3
|
import { C as universalMeasureValue, S as uCharHexNumber, _ as positiveUniversalMeasureValue, a as ThemeColor, b as signedTwipsMeasureValue, c as dateTimeValue, d as hexColorValue, f as hpsMeasureValue, g as pointMeasureValue, h as percentageValue, i as RelativeMeasure, l as decimalNumber, m as measurementOrPercentValue, n as PositivePercentage, o as ThemeFont, p as longHexNumber, r as PositiveUniversalMeasure, s as UniversalMeasure, t as Percentage, u as eighthPointMeasureValue, v as shortHexNumber, w as unsignedDecimalNumber, x as twipsMeasureValue, y as signedHpsMeasureValue } from "./_chunks/values-BrGywpRh.mjs";
|
|
4
4
|
import { COLOR_CATEGORIES, Connection, DataModel, ISmartArtData, ITreeNode, LAYOUT_CATEGORIES, Point, STYLE_CATEGORIES, SmartArtCollection, TransPoint, createDataModel } from "./smartart/index.mjs";
|
|
5
5
|
import { Element } from "@office-open/xml";
|
|
@@ -108,6 +108,7 @@ declare class Relationships extends BaseXmlComponent {
|
|
|
108
108
|
*/
|
|
109
109
|
declare class Formatter {
|
|
110
110
|
format<T extends IContext = IContext>(input: BaseXmlComponent, context?: T): IXmlableObject;
|
|
111
|
+
formatToXml(input: XmlComponent, context: IContext, declaration?: boolean): string;
|
|
111
112
|
}
|
|
112
113
|
//#endregion
|
|
113
114
|
//#region src/core-properties.d.ts
|
|
@@ -153,4 +154,28 @@ declare class RawPassthrough extends BaseXmlComponent {
|
|
|
153
154
|
prepForXml(_context: IContext): IXmlableObject;
|
|
154
155
|
}
|
|
155
156
|
//#endregion
|
|
156
|
-
|
|
157
|
+
//#region src/placeholder.d.ts
|
|
158
|
+
/**
|
|
159
|
+
* Placeholder detection utilities for compiler post-processing optimization.
|
|
160
|
+
*
|
|
161
|
+
* Both DOCX and PPTX compilers use placeholder tokens (e.g. `{chart:key}`)
|
|
162
|
+
* in XML strings to defer relationship ID assignment. This module provides
|
|
163
|
+
* fast pre-check utilities to avoid unnecessary regex scans when no placeholders exist.
|
|
164
|
+
*/
|
|
165
|
+
/**
|
|
166
|
+
* Check if an XML string contains any placeholder tokens.
|
|
167
|
+
* Uses a simple `{` character check which is O(n) but much cheaper
|
|
168
|
+
* than running multiple regex scans.
|
|
169
|
+
*/
|
|
170
|
+
declare function hasPlaceholders(xml: string): boolean;
|
|
171
|
+
/**
|
|
172
|
+
* Collect all unique placeholder keys with a given prefix from an XML string.
|
|
173
|
+
* Single-pass scan using indexOf, avoiding RegExp overhead.
|
|
174
|
+
*
|
|
175
|
+
* @param xml - The XML string to scan
|
|
176
|
+
* @param prefix - The placeholder prefix (e.g. "chart:", "smartart:", "hlink:")
|
|
177
|
+
* @returns Array of unique keys found after the prefix
|
|
178
|
+
*/
|
|
179
|
+
declare function collectPlaceholderKeys(xml: string, prefix: string): string[];
|
|
180
|
+
//#endregion
|
|
181
|
+
export { AppProperties, AttributeData, AttributeMap, AttributePayload, BaseXmlComponent, BuilderElement, COLOR_CATEGORIES, Connection, CoreProperties, DataModel, EMPTY_OBJECT, EmptyElement, Formatter, HpsMeasureElement, IContext, ISmartArtData, ITreeNode, IXmlAttribute, IXmlableObject, IgnoreIfEmptyXmlComponent, ImportedRootElementAttributes, ImportedXmlComponent, InitializableXmlComponent, LAYOUT_CATEGORIES, MixedChildren, NextAttributeComponent, NumberValueElement, OnOffElement, OutputByType, OutputType, Percentage, Point, PositivePercentage, PositiveUniversalMeasure, RawElement, RawPassthrough, Relationship, type RelationshipType, Relationships, RelativeMeasure, STYLE_CATEGORIES, SmartArtCollection, StringContainer, StringEnumValueElement, StringValueElement, TargetModeType, ThemeColor, ThemeFont, TransPoint, UniqueNumericIdCreator, UniversalMeasure, XmlAttributeComponent, XmlComponent, chartAttr, collectPlaceholderKeys, convertEmuToInches, convertEmuToPixels, convertEmuToPoints, convertInchesToEmu, convertInchesToTwip, convertMillimetersToTwip, convertPixelsToEmu, convertPointsToEmu, convertToXmlComponent, createDataModel, dateTimeValue, decimalNumber, eighthPointMeasureValue, elementToXml, findRel, findRelsByType, getImageType, hasPlaceholders, hashedId, hexColorValue, hpsMeasureObj, hpsMeasureValue, isRaw, listFiles, longHexNumber, measurementOrPercentValue, numberValObj, onOffObj, parseCoreProperties, parseRels, percentageValue, pointMeasureValue, positiveUniversalMeasureValue, readAllXmlParts, readBinaryFromZip, readTextFromZip, readXmlFromZip, shortHexNumber, signedHpsMeasureValue, signedTwipsMeasureValue, stringContainerObj, stringEnumValObj, stringValObj, twipsMeasureValue, uCharHexNumber, uint8ToBase64, uniqueId, uniqueNumericIdCreator, uniqueUuid, universalMeasureValue, unsignedDecimalNumber, unzipToMap, wrapEl, zipToBuffer };
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as EMPTY_OBJECT, E as BaseXmlComponent, S as XmlAttributeComponent, T as XmlComponent, _ as stringContainerObj, a as BuilderElement, b as wrapEl, c as NumberValueElement, d as StringEnumValueElement, f as StringValueElement, g as onOffObj, h as numberValObj, i as convertToXmlComponent, l as OnOffElement, m as hpsMeasureObj, n as ImportedRootElementAttributes, o as EmptyElement, p as chartAttr, r as ImportedXmlComponent, s as HpsMeasureElement, t as InitializableXmlComponent, u as StringContainer, v as stringEnumValObj, w as IgnoreIfEmptyXmlComponent, x as NextAttributeComponent, y as stringValObj } from "./_chunks/xml-components-
|
|
1
|
+
import { C as EMPTY_OBJECT, E as BaseXmlComponent, S as XmlAttributeComponent, T as XmlComponent, _ as stringContainerObj, a as BuilderElement, b as wrapEl, c as NumberValueElement, d as StringEnumValueElement, f as StringValueElement, g as onOffObj, h as numberValObj, i as convertToXmlComponent, l as OnOffElement, m as hpsMeasureObj, n as ImportedRootElementAttributes, o as EmptyElement, p as chartAttr, r as ImportedXmlComponent, s as HpsMeasureElement, t as InitializableXmlComponent, u as StringContainer, v as stringEnumValObj, w as IgnoreIfEmptyXmlComponent, x as NextAttributeComponent, y as stringValObj } from "./_chunks/xml-components-CN6syVNr.mjs";
|
|
2
2
|
import { ThemeColor, ThemeFont, dateTimeValue, decimalNumber, eighthPointMeasureValue, hexColorValue, hpsMeasureValue, longHexNumber, measurementOrPercentValue, percentageValue, pointMeasureValue, positiveUniversalMeasureValue, shortHexNumber, signedHpsMeasureValue, signedTwipsMeasureValue, twipsMeasureValue, uCharHexNumber, universalMeasureValue, unsignedDecimalNumber } from "./values.mjs";
|
|
3
3
|
import { a as convertEmuToInches, c as convertInchesToEmu, d as convertPixelsToEmu, f as convertPointsToEmu, i as uniqueUuid, l as convertInchesToTwip, n as uniqueId, o as convertEmuToPixels, r as uniqueNumericIdCreator, s as convertEmuToPoints, t as hashedId, u as convertMillimetersToTwip } from "./_chunks/id-generators-Ch07cHW1.mjs";
|
|
4
4
|
import { COLOR_CATEGORIES, Connection, DataModel, LAYOUT_CATEGORIES, Point, STYLE_CATEGORIES, SmartArtCollection, TransPoint, createDataModel } from "./smartart/index.mjs";
|
|
@@ -57,6 +57,7 @@ var Relationships = class extends BaseXmlComponent {
|
|
|
57
57
|
};
|
|
58
58
|
//#endregion
|
|
59
59
|
//#region src/formatter.ts
|
|
60
|
+
const XML_DECL = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
|
|
60
61
|
/**
|
|
61
62
|
* Converts an XmlComponent tree into a serializable XML object.
|
|
62
63
|
*/
|
|
@@ -66,6 +67,10 @@ var Formatter = class {
|
|
|
66
67
|
if (output) return output;
|
|
67
68
|
throw new Error("XMLComponent did not format correctly");
|
|
68
69
|
}
|
|
70
|
+
formatToXml(input, context, declaration) {
|
|
71
|
+
const str = input.toXml(context);
|
|
72
|
+
return declaration ? XML_DECL + str : str;
|
|
73
|
+
}
|
|
69
74
|
};
|
|
70
75
|
//#endregion
|
|
71
76
|
//#region src/core-properties.ts
|
|
@@ -157,4 +162,43 @@ var RawPassthrough = class extends BaseXmlComponent {
|
|
|
157
162
|
}
|
|
158
163
|
};
|
|
159
164
|
//#endregion
|
|
160
|
-
|
|
165
|
+
//#region src/placeholder.ts
|
|
166
|
+
/**
|
|
167
|
+
* Placeholder detection utilities for compiler post-processing optimization.
|
|
168
|
+
*
|
|
169
|
+
* Both DOCX and PPTX compilers use placeholder tokens (e.g. `{chart:key}`)
|
|
170
|
+
* in XML strings to defer relationship ID assignment. This module provides
|
|
171
|
+
* fast pre-check utilities to avoid unnecessary regex scans when no placeholders exist.
|
|
172
|
+
*/
|
|
173
|
+
/**
|
|
174
|
+
* Check if an XML string contains any placeholder tokens.
|
|
175
|
+
* Uses a simple `{` character check which is O(n) but much cheaper
|
|
176
|
+
* than running multiple regex scans.
|
|
177
|
+
*/
|
|
178
|
+
function hasPlaceholders(xml) {
|
|
179
|
+
return xml.includes("{");
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Collect all unique placeholder keys with a given prefix from an XML string.
|
|
183
|
+
* Single-pass scan using indexOf, avoiding RegExp overhead.
|
|
184
|
+
*
|
|
185
|
+
* @param xml - The XML string to scan
|
|
186
|
+
* @param prefix - The placeholder prefix (e.g. "chart:", "smartart:", "hlink:")
|
|
187
|
+
* @returns Array of unique keys found after the prefix
|
|
188
|
+
*/
|
|
189
|
+
function collectPlaceholderKeys(xml, prefix) {
|
|
190
|
+
const keys = [];
|
|
191
|
+
const search = `{${prefix}`;
|
|
192
|
+
let pos = 0;
|
|
193
|
+
while ((pos = xml.indexOf(search, pos)) !== -1) {
|
|
194
|
+
const keyStart = pos + search.length;
|
|
195
|
+
const keyEnd = xml.indexOf("}", keyStart);
|
|
196
|
+
if (keyEnd === -1) break;
|
|
197
|
+
const key = xml.substring(keyStart, keyEnd);
|
|
198
|
+
if (key.length > 0 && !keys.includes(key)) keys.push(key);
|
|
199
|
+
pos = keyEnd + 1;
|
|
200
|
+
}
|
|
201
|
+
return keys;
|
|
202
|
+
}
|
|
203
|
+
//#endregion
|
|
204
|
+
export { AppProperties, BaseXmlComponent, BuilderElement, COLOR_CATEGORIES, Connection, DataModel, EMPTY_OBJECT, EmptyElement, Formatter, HpsMeasureElement, IgnoreIfEmptyXmlComponent, ImportedRootElementAttributes, ImportedXmlComponent, InitializableXmlComponent, LAYOUT_CATEGORIES, NextAttributeComponent, NumberValueElement, OnOffElement, Point, RawPassthrough, Relationships, STYLE_CATEGORIES, SmartArtCollection, StringContainer, StringEnumValueElement, StringValueElement, TargetModeType, ThemeColor, ThemeFont, TransPoint, XmlAttributeComponent, XmlComponent, chartAttr, collectPlaceholderKeys, convertEmuToInches, convertEmuToPixels, convertEmuToPoints, convertInchesToEmu, convertInchesToTwip, convertMillimetersToTwip, convertPixelsToEmu, convertPointsToEmu, convertToXmlComponent, createDataModel, dateTimeValue, decimalNumber, eighthPointMeasureValue, elementToXml, findRel, findRelsByType, getImageType, hasPlaceholders, hashedId, hexColorValue, hpsMeasureObj, hpsMeasureValue, isRaw, listFiles, longHexNumber, measurementOrPercentValue, numberValObj, onOffObj, parseCoreProperties, parseRels, percentageValue, pointMeasureValue, positiveUniversalMeasureValue, readAllXmlParts, readBinaryFromZip, readTextFromZip, readXmlFromZip, shortHexNumber, signedHpsMeasureValue, signedTwipsMeasureValue, stringContainerObj, stringEnumValObj, stringValObj, twipsMeasureValue, uCharHexNumber, uint8ToBase64, uniqueId, uniqueNumericIdCreator, uniqueUuid, universalMeasureValue, unsignedDecimalNumber, unzipToMap, wrapEl, zipToBuffer };
|
package/dist/smartart/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as XmlComponent, p as chartAttr } from "../_chunks/xml-components-
|
|
1
|
+
import { T as XmlComponent, p as chartAttr } from "../_chunks/xml-components-CN6syVNr.mjs";
|
|
2
2
|
//#region src/smartart/categories.ts
|
|
3
3
|
/** Layout ID → OOXML category type */
|
|
4
4
|
const LAYOUT_CATEGORIES = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@office-open/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Shared OOXML infrastructure: XmlComponent, value validators, unit converters",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"core",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"fflate": "0.8.2",
|
|
60
60
|
"hash.js": "1.1.7",
|
|
61
61
|
"nanoid": "5.1.9",
|
|
62
|
-
"@office-open/xml": "0.3.
|
|
62
|
+
"@office-open/xml": "0.3.2"
|
|
63
63
|
},
|
|
64
64
|
"scripts": {
|
|
65
65
|
"dev": "basis build --stub",
|