@json-to-office/core-pptx 5.3.0 → 5.4.0
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/core/expandHighcharts.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -39
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandHighcharts.d.ts","sourceRoot":"","sources":["../../src/core/expandHighcharts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"expandHighcharts.d.ts","sourceRoot":"","sources":["../../src/core/expandHighcharts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAeL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACV,eAAe,EAGf,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAUlB,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,qBAAqB,EACnC,QAAQ,EAAE,uBAAuB,GAAG,SAAS,EAC7C,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,GACxC,OAAO,CAAC,yBAAyB,CAAC,CAwBpC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export type { PptxRendererId } from './renderers/types';
|
|
|
5
5
|
export { DEFAULT_PPTX_RENDERER_ID } from './renderers/types';
|
|
6
6
|
export { isPptxRendererId, pptxRendererIds, pptxRendererStatuses, } from './renderers/registry';
|
|
7
7
|
export { UncompiledComponentError } from './core/generateFromIr';
|
|
8
|
+
export { getChartRequestStats, resetChartRequestStats, type ChartRequestStats, } from '@json-to-office/shared';
|
|
8
9
|
export { DEFAULT_GENERATED_AT } from './core/finalizePackage';
|
|
9
10
|
export type { PresentationPackagingOptions } from './core/finalizePackage';
|
|
10
11
|
export type { PptxComponentInput, PresentationComponentDefinition, PresentationComponentDefinitionFor, SlideComponentDefinition, ProcessedPresentation, ProcessedSlide, PptxThemeConfig, PipelineWarning, SlideContext, SlideRenderContext, } from './types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAGD,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,iCAAiC,EACjC,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3937,6 +3937,12 @@ import {
|
|
|
3937
3937
|
REMOTE_EXPORT_WARNING,
|
|
3938
3938
|
chartFamilyResolver,
|
|
3939
3939
|
chartPointsPerPixel,
|
|
3940
|
+
chartRequestKey,
|
|
3941
|
+
dedupeChartRequest,
|
|
3942
|
+
limitChartRequest,
|
|
3943
|
+
postJsonToService,
|
|
3944
|
+
recordChartRetry,
|
|
3945
|
+
resolveServiceUrl,
|
|
3940
3946
|
withChartFontFaceCss,
|
|
3941
3947
|
withChartTypography
|
|
3942
3948
|
} from "@json-to-office/shared";
|
|
@@ -3956,7 +3962,10 @@ async function expandHighchartsComponents(presentation, services, warnings, char
|
|
|
3956
3962
|
slideWidth: presentation.slideWidth,
|
|
3957
3963
|
services,
|
|
3958
3964
|
warnings,
|
|
3959
|
-
chartFonts
|
|
3965
|
+
chartFonts,
|
|
3966
|
+
// Per deck: a chart repeated on an agenda slide and again in its section
|
|
3967
|
+
// is one render.
|
|
3968
|
+
chartCache: /* @__PURE__ */ new Map()
|
|
3960
3969
|
};
|
|
3961
3970
|
const slides = await Promise.all(
|
|
3962
3971
|
presentation.slides.map(async (slide, index) => ({
|
|
@@ -3992,19 +4001,24 @@ async function expandList(components, path4, scope) {
|
|
|
3992
4001
|
}
|
|
3993
4002
|
async function expandOne(component, path4, scope) {
|
|
3994
4003
|
const props = component.props;
|
|
3995
|
-
const chart = await
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
4004
|
+
const chart = await limitChartRequest(
|
|
4005
|
+
exportServerUrl(props.serverUrl, scope.services?.serverUrl),
|
|
4006
|
+
scope.services?.concurrency,
|
|
4007
|
+
() => renderChart(
|
|
4008
|
+
withChartFontFaces(
|
|
4009
|
+
withThemeTypography(
|
|
4010
|
+
withThemeColors(props, scope.theme, scope.warnings),
|
|
4011
|
+
scope.theme,
|
|
4012
|
+
scope.slideWidth,
|
|
4013
|
+
scope.warnings
|
|
4014
|
+
),
|
|
3999
4015
|
scope.theme,
|
|
4000
|
-
scope.
|
|
4001
|
-
scope.warnings
|
|
4016
|
+
scope.chartFonts
|
|
4002
4017
|
),
|
|
4003
|
-
scope.
|
|
4004
|
-
scope.
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
scope.warnings
|
|
4018
|
+
scope.services,
|
|
4019
|
+
scope.warnings,
|
|
4020
|
+
scope.chartCache
|
|
4021
|
+
)
|
|
4008
4022
|
);
|
|
4009
4023
|
void path4;
|
|
4010
4024
|
return {
|
|
@@ -4021,14 +4035,18 @@ async function expandOne(component, path4, scope) {
|
|
|
4021
4035
|
}
|
|
4022
4036
|
function assertExportServerAllowed(serverUrl, services, warnings) {
|
|
4023
4037
|
const notice = remoteExportNotice(serverUrl, services?.allowRemote);
|
|
4024
|
-
if (notice)
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4038
|
+
if (!notice) return;
|
|
4039
|
+
const alreadySaid = warnings.some(
|
|
4040
|
+
(warning) => warning.code === REMOTE_EXPORT_WARNING && warning.message === notice
|
|
4041
|
+
);
|
|
4042
|
+
if (alreadySaid) return;
|
|
4043
|
+
warnings.push({
|
|
4044
|
+
code: REMOTE_EXPORT_WARNING,
|
|
4045
|
+
component: "highcharts",
|
|
4046
|
+
message: notice
|
|
4047
|
+
});
|
|
4030
4048
|
}
|
|
4031
|
-
async function renderChart(config, services, warnings) {
|
|
4049
|
+
async function renderChart(config, services, warnings, cache) {
|
|
4032
4050
|
if (!isNodeEnvironment()) {
|
|
4033
4051
|
throw new Error(
|
|
4034
4052
|
"Highcharts export server requires a Node.js environment. Chart generation is not available in browser environments."
|
|
@@ -4045,25 +4063,27 @@ async function renderChart(config, services, warnings) {
|
|
|
4045
4063
|
// for callers that omit it.
|
|
4046
4064
|
...config.resources ? { resources: config.resources } : {}
|
|
4047
4065
|
};
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4066
|
+
return dedupeChartRequest(
|
|
4067
|
+
cache,
|
|
4068
|
+
chartRequestKey(serverUrl, requestBody),
|
|
4069
|
+
() => postChart(serverUrl, requestBody, config, services)
|
|
4070
|
+
);
|
|
4071
|
+
}
|
|
4072
|
+
async function postChart(serverUrl, requestBody, config, services) {
|
|
4073
|
+
const response = await postJsonToService({
|
|
4074
|
+
url: serverUrl,
|
|
4075
|
+
path: "/export",
|
|
4076
|
+
body: requestBody,
|
|
4077
|
+
headers: services?.headers,
|
|
4078
|
+
timeoutMs: services?.timeoutMs,
|
|
4079
|
+
retries: services?.retries,
|
|
4080
|
+
onRetry: recordChartRetry,
|
|
4081
|
+
serviceLabel: "Highcharts export server",
|
|
4082
|
+
// The code lets a server route report a missing export server as a
|
|
4083
|
+
// dependency outage with this message, not as an internal error.
|
|
4084
|
+
onUnreachable: (url, cause) => `Highcharts Export Server is not running at ${url}. Start it with: npx highcharts-export-server --enableServer true
|
|
4085
|
+
Cause: ${cause}`
|
|
4061
4086
|
});
|
|
4062
|
-
if (!response.ok) {
|
|
4063
|
-
throw new Error(
|
|
4064
|
-
`Highcharts export server returned ${response.status}: ${response.statusText}`
|
|
4065
|
-
);
|
|
4066
|
-
}
|
|
4067
4087
|
return {
|
|
4068
4088
|
dataUri: `data:image/png;base64,${await response.text()}`,
|
|
4069
4089
|
widthPx: config.options.chart?.width ?? DEFAULT_CHART_WIDTH_PX,
|
|
@@ -4071,8 +4091,7 @@ Cause: ${error instanceof Error ? error.message : String(error)}`
|
|
|
4071
4091
|
};
|
|
4072
4092
|
}
|
|
4073
4093
|
function exportServerUrl(propsUrl, servicesUrl) {
|
|
4074
|
-
|
|
4075
|
-
return raw.startsWith("http") ? raw : `http://${raw}`;
|
|
4094
|
+
return resolveServiceUrl(propsUrl, servicesUrl, DEFAULT_EXPORT_SERVER_URL);
|
|
4076
4095
|
}
|
|
4077
4096
|
function withThemeColors(props, theme, warnings) {
|
|
4078
4097
|
if (!props.options || props.options.colors || !theme?.colors) return props;
|
|
@@ -6816,6 +6835,10 @@ var PresentationGenerator = {
|
|
|
6816
6835
|
// src/index.ts
|
|
6817
6836
|
init_finalizePackage();
|
|
6818
6837
|
init_warn();
|
|
6838
|
+
import {
|
|
6839
|
+
getChartRequestStats,
|
|
6840
|
+
resetChartRequestStats
|
|
6841
|
+
} from "@json-to-office/shared";
|
|
6819
6842
|
|
|
6820
6843
|
// src/blueprints/index.ts
|
|
6821
6844
|
import { existsSync, readdirSync, readFileSync } from "fs";
|
|
@@ -8792,6 +8815,7 @@ export {
|
|
|
8792
8815
|
generateBufferWithWarnings,
|
|
8793
8816
|
generateFromFile,
|
|
8794
8817
|
generatePluginPresentationSchema,
|
|
8818
|
+
getChartRequestStats,
|
|
8795
8819
|
getPptxCoreVersion,
|
|
8796
8820
|
getPptxTheme,
|
|
8797
8821
|
hasPptxTheme,
|
|
@@ -8806,6 +8830,7 @@ export {
|
|
|
8806
8830
|
pptxRendererStatuses,
|
|
8807
8831
|
pptxThemes,
|
|
8808
8832
|
preparePptxQualityDocument,
|
|
8833
|
+
resetChartRequestStats,
|
|
8809
8834
|
resolveComponentVersion3 as resolveComponentVersion,
|
|
8810
8835
|
resolvePptxQualityProfile,
|
|
8811
8836
|
toAuthoredPointer,
|