fix(ci): typings dagre (@types/dagre) et pptx (PptxGenJSModule, fill bullets)
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m8s

Corrige le typecheck Next Docker: module dagre sans .d.ts, et annotations
Presentation vs constructeur pptxgenjs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Antigravity
2026-05-05 22:04:07 +00:00
parent 33ad874e5d
commit 0d8252aec0
3 changed files with 205 additions and 19 deletions

View File

@@ -115,7 +115,7 @@ function addBadge(s: any, num: number, accent: string) {
}
/** Modern split-layout cover: white left panel with big title, colored right panel */
function addCoverSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg) {
function addCoverSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg) {
const s = pres.addSlide()
s.background = { color: t.bg }
@@ -177,7 +177,7 @@ function addCoverSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Style
return s
}
function addTocSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addTocSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
const textColor = textOnBg(t.bg)
@@ -226,7 +226,7 @@ function addTocSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCf
}
/** Section divider: full-bleed colored left panel + large decorative number on right */
function addSectionSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addSectionSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
@@ -266,7 +266,7 @@ function addSectionSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Sty
return s
}
function addContentSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addContentSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
const textColor = textOnBg(t.bg)
@@ -283,7 +283,7 @@ function addContentSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Sty
const bullets = slide.content.map((line, i) => ({
text: line,
options: { fontSize: 15, fontFace: 'Arial', color: textColor, bullet: { type: 'bullet', indent: 10 }, breakLine: true, paraSpaceAfter: 10, paraSpaceBefore: i === 0 ? 0 : 2 },
options: { fontSize: 15, fontFace: 'Arial', color: textColor, bullet: { type: 'bullet' as const, indent: 10 }, breakLine: true, paraSpaceAfter: 10, paraSpaceBefore: i === 0 ? 0 : 2 },
}))
s.addText(bullets, {
@@ -295,7 +295,7 @@ function addContentSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Sty
return s
}
function addTwoColumnSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addTwoColumnSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
const textColor = textOnBg(t.bg)
@@ -334,7 +334,7 @@ function addTwoColumnSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: S
return s
}
function addCardsSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addCardsSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
@@ -413,7 +413,7 @@ function addCardsSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Style
return s
}
function addStatsSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addStatsSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
@@ -459,7 +459,7 @@ function addStatsSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Style
return s
}
function addQuoteSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addQuoteSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.primary }
const textColor = textOnBg(t.primary)
@@ -489,7 +489,7 @@ function addQuoteSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Style
return s
}
function addSummarySlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addSummarySlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.light }
const textColor = textOnBg(t.light)
@@ -535,7 +535,7 @@ function resolveImageProps(imageUrl: string): Record<string, any> {
}
/** Image on the right (40%), bullets on the left (55%) */
function addImageContentSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addImageContentSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
const textColor = textOnBg(t.bg)
@@ -599,7 +599,7 @@ function addImageContentSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style
}
/** Full-bleed image slide with title + subtitle overlay */
function addImageFullSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addImageFullSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.primary }
@@ -610,7 +610,7 @@ function addImageFullSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: S
}
// Dark overlay at bottom for text legibility
s.addShape(SHAPE_RECT, { x: 0, y: 3.3, w: 10, h: 2.33, fill: { color: '000000' }, transparency: 40 })
s.addShape(SHAPE_RECT, { x: 0, y: 3.3, w: 10, h: 2.33, fill: { color: '000000', transparency: 40 } })
s.addShape(SHAPE_RECT, { x: 0, y: 3.3, w: 0.12, h: 2.33, fill: { color: t.accent } })
s.addText(slide.title, {
@@ -629,7 +629,7 @@ function addImageFullSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: S
}
/** Horizontal timeline — content items: "Step title: description" */
function addTimelineSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addTimelineSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
const textColor = textOnBg(t.bg)
@@ -736,7 +736,7 @@ function addTimelineSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: St
}
/** Vertical numbered steps with connecting line — content items: "Step title: description" */
function addProcessSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addProcessSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
const textColor = textOnBg(t.bg)
@@ -806,7 +806,7 @@ function addProcessSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Sty
}
/** Two-panel comparison — subtitle: "Left Label | Right Label", content split 50/50 */
function addComparisonSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addComparisonSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
@@ -874,7 +874,7 @@ function addComparisonSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style:
}
/** Visual KPI blocks — content items: "VALUE: label" or "VALUE - label" */
function addMetricsSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
function addMetricsSlide(pres: PptxGenJSModule, slide: SlideSpec, t: Theme, style: StyleCfg, idx: number) {
const s = pres.addSlide()
s.background = { color: t.bg }
@@ -932,7 +932,7 @@ function addMetricsSlide(pres: PptxGenJS, slide: SlideSpec, t: Theme, style: Sty
return s
}
function addClosingSlide(pres: PptxGenJS, spec: PresentationSpec, t: Theme, style: StyleCfg) {
function addClosingSlide(pres: PptxGenJSModule, spec: PresentationSpec, t: Theme, style: StyleCfg) {
const s = pres.addSlide()
s.background = { color: t.bg }