node-pptx-templater 1.0.0 → 1.0.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/CHANGELOG.md +1 -1
- package/README.md +3 -3
- package/package.json +8 -8
- package/src/cli/commands/build.js +8 -6
- package/src/cli/commands/debug.js +7 -6
- package/src/cli/commands/extract.js +8 -6
- package/src/cli/commands/inspect.js +7 -5
- package/src/cli/commands/validate.js +7 -5
- package/src/cli/index.js +20 -21
- package/src/core/OutputWriter.js +9 -7
- package/src/core/PPTXTemplater.js +18 -16
- package/src/core/TemplateEngine.js +4 -2
- package/src/index.js +38 -15
- package/src/managers/ChartManager.js +8 -6
- package/src/managers/ContentTypesManager.js +5 -3
- package/src/managers/HyperlinkManager.js +6 -4
- package/src/managers/MediaManager.js +8 -6
- package/src/managers/RelationshipManager.js +7 -5
- package/src/managers/SlideManager.js +10 -8
- package/src/managers/TableManager.js +5 -3
- package/src/managers/ZipManager.js +8 -6
- package/src/managers/charts/ChartCacheGenerator.js +5 -3
- package/src/managers/charts/ChartParser.js +4 -2
- package/src/managers/charts/ChartRelationshipManager.js +4 -2
- package/src/managers/charts/ChartWorkbookUpdater.js +5 -3
- package/src/parsers/XMLParser.js +8 -4
- package/src/templates/blankPptx.js +2 -1
- package/src/templates/slideTemplate.js +8 -3
- package/src/utils/contentTypesHelper.js +4 -2
- package/src/utils/errors.js +17 -7
- package/src/utils/idUtils.js +10 -4
- package/src/utils/logger.js +5 -1
- package/src/utils/relationshipUtils.js +11 -4
- package/src/utils/xmlUtils.js +14 -6
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
* - <a:tc vMerge="1"> → continuation of vertical merge
|
|
46
46
|
*/
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
const { createLogger } = require('../utils/logger.js');
|
|
49
|
+
const { TableNotFoundError } = require('../utils/errors.js');
|
|
50
50
|
|
|
51
51
|
const logger = createLogger('TableManager');
|
|
52
52
|
|
|
@@ -57,7 +57,7 @@ const logger = createLogger('TableManager');
|
|
|
57
57
|
* The key design principle is "preserve formatting, replace content".
|
|
58
58
|
* We never touch table styles, borders, or fonts — only the text.
|
|
59
59
|
*/
|
|
60
|
-
|
|
60
|
+
class TableManager {
|
|
61
61
|
/** @private @type {XMLParser} */
|
|
62
62
|
#xmlParser;
|
|
63
63
|
|
|
@@ -414,3 +414,5 @@ export class TableManager {
|
|
|
414
414
|
return tables;
|
|
415
415
|
}
|
|
416
416
|
}
|
|
417
|
+
|
|
418
|
+
module.exports = { TableManager };
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
* raw file content within the ZIP.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const JSZip = require('jszip');
|
|
17
|
+
const fsExtra = require('fs-extra');
|
|
18
|
+
const { createLogger } = require('../utils/logger.js');
|
|
19
|
+
const { PPTXError } = require('../utils/errors.js');
|
|
20
|
+
const { BLANK_PPTX_BASE64 } = require('../templates/blankPptx.js');
|
|
21
21
|
|
|
22
22
|
const logger = createLogger('ZipManager');
|
|
23
23
|
|
|
@@ -27,7 +27,7 @@ const logger = createLogger('ZipManager');
|
|
|
27
27
|
*
|
|
28
28
|
* All file paths within the ZIP use forward slashes (e.g., 'ppt/slides/slide1.xml').
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
class ZipManager {
|
|
31
31
|
/**
|
|
32
32
|
* @private
|
|
33
33
|
* @type {JSZip}
|
|
@@ -296,3 +296,5 @@ export class ZipManager {
|
|
|
296
296
|
return this.#zip;
|
|
297
297
|
}
|
|
298
298
|
}
|
|
299
|
+
|
|
300
|
+
module.exports = { ZipManager };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
const { createLogger } = require('../../utils/logger.js');
|
|
2
|
+
const { ChartWorkbookUpdater } = require('./ChartWorkbookUpdater.js');
|
|
3
3
|
|
|
4
4
|
const logger = createLogger('ChartCacheGenerator');
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
class ChartCacheGenerator {
|
|
7
7
|
/**
|
|
8
8
|
* Generates a string cache XML string (used for categories or series names).
|
|
9
9
|
*/
|
|
@@ -154,3 +154,5 @@ export class ChartCacheGenerator {
|
|
|
154
154
|
.replace(/'/g, ''');
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
|
|
158
|
+
module.exports = { ChartCacheGenerator };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
const { createLogger } = require('../../utils/logger.js');
|
|
2
2
|
|
|
3
3
|
const logger = createLogger('ChartParser');
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
class ChartParser {
|
|
6
6
|
/**
|
|
7
7
|
* Finds a chart's relationship ID and type in a slide's XML based on shape name/id.
|
|
8
8
|
*
|
|
@@ -41,3 +41,5 @@ export class ChartParser {
|
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
+
|
|
45
|
+
module.exports = { ChartParser };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
const { REL_TYPES } = require('../RelationshipManager.js');
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
class ChartRelationshipManager {
|
|
4
4
|
/**
|
|
5
5
|
* Validates and fixes chart relationships.
|
|
6
6
|
*
|
|
@@ -31,3 +31,5 @@ export class ChartRelationshipManager {
|
|
|
31
31
|
return issues;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
|
|
35
|
+
module.exports = { ChartRelationshipManager };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
const JSZip = require('jszip');
|
|
2
|
+
const { createLogger } = require('../../utils/logger.js');
|
|
3
3
|
|
|
4
4
|
const logger = createLogger('ChartWorkbookUpdater');
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
class ChartWorkbookUpdater {
|
|
7
7
|
/**
|
|
8
8
|
* Updates the embedded Excel workbook for a chart.
|
|
9
9
|
*
|
|
@@ -128,3 +128,5 @@ export class ChartWorkbookUpdater {
|
|
|
128
128
|
.replace(/'/g, ''');
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
+
|
|
132
|
+
module.exports = { ChartWorkbookUpdater };
|
package/src/parsers/XMLParser.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
* mc: — Markup Compatibility
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const { XMLParser: FastXMLParser, XMLBuilder } = require('fast-xml-parser');
|
|
24
|
+
const { createLogger } = require('../utils/logger.js');
|
|
25
|
+
const { PPTXError } = require('../utils/errors.js');
|
|
26
26
|
|
|
27
27
|
const logger = createLogger('XMLParser');
|
|
28
28
|
|
|
@@ -91,7 +91,7 @@ const BUILDER_OPTIONS = {
|
|
|
91
91
|
* @class XMLParser
|
|
92
92
|
* @description Provides XML parsing and serialization with OpenXML-aware configuration.
|
|
93
93
|
*/
|
|
94
|
-
|
|
94
|
+
class XMLParser {
|
|
95
95
|
/**
|
|
96
96
|
* @private
|
|
97
97
|
* @type {FastXMLParser}
|
|
@@ -289,3 +289,7 @@ export class XMLParser {
|
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
|
+
|
|
293
|
+
module.exports = {
|
|
294
|
+
XMLParser
|
|
295
|
+
};
|