md-confluence-mermaid-puppeteer-renderer 5.6.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/index.js ADDED
@@ -0,0 +1,87 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+
7
+ // src/index.ts
8
+ import path from "path";
9
+ import puppeteer from "puppeteer";
10
+ import { downloadBrowser } from "puppeteer/lib/esm/puppeteer/node/install.js";
11
+ import url from "url";
12
+ var PuppeteerMermaidRenderer = class {
13
+ async captureMermaidCharts(charts) {
14
+ const capturedCharts = /* @__PURE__ */ new Map();
15
+ await downloadBrowser();
16
+ const promises = charts.map(async (chart) => {
17
+ const puppeteerLaunchConfig = {
18
+ executablePath: puppeteer.executablePath(),
19
+ headless: "new",
20
+ args: [
21
+ "--ignore-certificate-errors",
22
+ "--no-sandbox",
23
+ "--disable-setuid-sandbox",
24
+ "--disable-accelerated-2d-canvas",
25
+ "--disable-gpu"
26
+ ]
27
+ };
28
+ console.log(
29
+ "LAUNCHING CHROME",
30
+ JSON.stringify(puppeteerLaunchConfig)
31
+ );
32
+ const browser = await puppeteer.launch(puppeteerLaunchConfig);
33
+ const page = await browser.newPage();
34
+ try {
35
+ const mermaidHTMLPath = path.join(
36
+ __dirname,
37
+ "mermaid_renderer.html"
38
+ );
39
+ const pathToLoad = url.pathToFileURL(mermaidHTMLPath).href;
40
+ await page.goto(pathToLoad);
41
+ const mermaidConfig = {
42
+ theme: "base",
43
+ themeVariables: {
44
+ background: "#ffffff",
45
+ mainBkg: "#ddebff",
46
+ primaryColor: "#ddebff",
47
+ primaryTextColor: "#192b50",
48
+ primaryBorderColor: "#0052cc",
49
+ secondaryColor: "#ff8f73",
50
+ secondaryTextColor: "#192b50",
51
+ secondaryBorderColor: "#df360c",
52
+ tertiaryColor: "#c0b6f3",
53
+ tertiaryTextColor: "#fefefe",
54
+ tertiaryBorderColor: "#5243aa",
55
+ noteBkgColor: "#ffc403",
56
+ noteTextColor: "#182a4e",
57
+ textColor: "#ff0000",
58
+ titleColor: "#0052cc"
59
+ }
60
+ };
61
+ const result = await page.evaluate(
62
+ (mermaidData, mermaidConfig2) => {
63
+ const { renderMermaidChart } = globalThis;
64
+ return renderMermaidChart(mermaidData, mermaidConfig2);
65
+ },
66
+ chart.data,
67
+ mermaidConfig
68
+ );
69
+ await page.setViewport({
70
+ width: result.width,
71
+ height: result.height
72
+ });
73
+ const imageBuffer = await page.screenshot();
74
+ capturedCharts.set(chart.name, imageBuffer);
75
+ } finally {
76
+ await page.close();
77
+ await browser.close();
78
+ }
79
+ });
80
+ await Promise.all(promises);
81
+ return capturedCharts;
82
+ }
83
+ };
84
+ export {
85
+ PuppeteerMermaidRenderer
86
+ };
87
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "sourcesContent": ["import { ChartData, MermaidRenderer } from \"@markdown-confluence/lib\";\nimport path from \"path\";\nimport puppeteer, { PuppeteerLaunchOptions } from \"puppeteer\";\nimport { downloadBrowser } from \"puppeteer/lib/esm/puppeteer/node/install.js\";\nimport url from \"url\";\n\ninterface RemoteWindowedCustomFunctions {\n\trenderMermaidChart: (\n\t\tmermaidData: string,\n\t\tmermaidConfig: unknown,\n\t) => Promise<{ width: number; height: number }>;\n}\n\nexport class PuppeteerMermaidRenderer implements MermaidRenderer {\n\tasync captureMermaidCharts(\n\t\tcharts: ChartData[],\n\t): Promise<Map<string, Buffer>> {\n\t\tconst capturedCharts = new Map<string, Buffer>();\n\n\t\tawait downloadBrowser();\n\t\t//for (const chart of charts) {\n\t\tconst promises = charts.map(async (chart) => {\n\t\t\tconst puppeteerLaunchConfig = {\n\t\t\t\texecutablePath: puppeteer.executablePath(),\n\t\t\t\theadless: \"new\",\n\t\t\t\targs: [\n\t\t\t\t\t\"--ignore-certificate-errors\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t],\n\t\t\t} satisfies PuppeteerLaunchOptions;\n\n\t\t\tconsole.log(\n\t\t\t\t\"LAUNCHING CHROME\",\n\t\t\t\tJSON.stringify(puppeteerLaunchConfig),\n\t\t\t);\n\t\t\tconst browser = await puppeteer.launch(puppeteerLaunchConfig);\n\n\t\t\tconst page = await browser.newPage();\n\t\t\ttry {\n\t\t\t\tconst mermaidHTMLPath = path.join(\n\t\t\t\t\t__dirname,\n\t\t\t\t\t\"mermaid_renderer.html\",\n\t\t\t\t);\n\t\t\t\tconst pathToLoad = url.pathToFileURL(mermaidHTMLPath).href;\n\n\t\t\t\tawait page.goto(pathToLoad);\n\n\t\t\t\tconst mermaidConfig = {\n\t\t\t\t\ttheme: \"base\",\n\t\t\t\t\tthemeVariables: {\n\t\t\t\t\t\tbackground: \"#ffffff\",\n\t\t\t\t\t\tmainBkg: \"#ddebff\",\n\t\t\t\t\t\tprimaryColor: \"#ddebff\",\n\t\t\t\t\t\tprimaryTextColor: \"#192b50\",\n\t\t\t\t\t\tprimaryBorderColor: \"#0052cc\",\n\t\t\t\t\t\tsecondaryColor: \"#ff8f73\",\n\t\t\t\t\t\tsecondaryTextColor: \"#192b50\",\n\t\t\t\t\t\tsecondaryBorderColor: \"#df360c\",\n\t\t\t\t\t\ttertiaryColor: \"#c0b6f3\",\n\t\t\t\t\t\ttertiaryTextColor: \"#fefefe\",\n\t\t\t\t\t\ttertiaryBorderColor: \"#5243aa\",\n\t\t\t\t\t\tnoteBkgColor: \"#ffc403\",\n\t\t\t\t\t\tnoteTextColor: \"#182a4e\",\n\t\t\t\t\t\ttextColor: \"#ff0000\",\n\t\t\t\t\t\ttitleColor: \"#0052cc\",\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tconst result = await page.evaluate(\n\t\t\t\t\t(mermaidData, mermaidConfig) => {\n\t\t\t\t\t\tconst { renderMermaidChart } =\n\t\t\t\t\t\t\tglobalThis as unknown as RemoteWindowedCustomFunctions;\n\n\t\t\t\t\t\treturn renderMermaidChart(mermaidData, mermaidConfig);\n\t\t\t\t\t},\n\t\t\t\t\tchart.data,\n\t\t\t\t\tmermaidConfig,\n\t\t\t\t);\n\t\t\t\tawait page.setViewport({\n\t\t\t\t\twidth: result.width,\n\t\t\t\t\theight: result.height,\n\t\t\t\t});\n\t\t\t\tconst imageBuffer = await page.screenshot();\n\t\t\t\tcapturedCharts.set(chart.name, imageBuffer);\n\t\t\t} finally {\n\t\t\t\tawait page.close();\n\t\t\t\tawait browser.close();\n\t\t\t}\n\t\t});\n\n\t\tawait Promise.all(promises);\n\n\t\treturn capturedCharts;\n\t}\n}\n"],
5
+ "mappings": ";;;;;;;AACA,OAAO,UAAU;AACjB,OAAO,eAA2C;AAClD,SAAS,uBAAuB;AAChC,OAAO,SAAS;AAST,IAAM,2BAAN,MAA0D;AAAA,EAChE,MAAM,qBACL,QAC+B;AAC/B,UAAM,iBAAiB,oBAAI,IAAoB;AAE/C,UAAM,gBAAgB;AAEtB,UAAM,WAAW,OAAO,IAAI,OAAO,UAAU;AAC5C,YAAM,wBAAwB;AAAA,QAC7B,gBAAgB,UAAU,eAAe;AAAA,QACzC,UAAU;AAAA,QACV,MAAM;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAEA,cAAQ;AAAA,QACP;AAAA,QACA,KAAK,UAAU,qBAAqB;AAAA,MACrC;AACA,YAAM,UAAU,MAAM,UAAU,OAAO,qBAAqB;AAE5D,YAAM,OAAO,MAAM,QAAQ,QAAQ;AACnC,UAAI;AACH,cAAM,kBAAkB,KAAK;AAAA,UAC5B;AAAA,UACA;AAAA,QACD;AACA,cAAM,aAAa,IAAI,cAAc,eAAe,EAAE;AAEtD,cAAM,KAAK,KAAK,UAAU;AAE1B,cAAM,gBAAgB;AAAA,UACrB,OAAO;AAAA,UACP,gBAAgB;AAAA,YACf,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,cAAc;AAAA,YACd,kBAAkB;AAAA,YAClB,oBAAoB;AAAA,YACpB,gBAAgB;AAAA,YAChB,oBAAoB;AAAA,YACpB,sBAAsB;AAAA,YACtB,eAAe;AAAA,YACf,mBAAmB;AAAA,YACnB,qBAAqB;AAAA,YACrB,cAAc;AAAA,YACd,eAAe;AAAA,YACf,WAAW;AAAA,YACX,YAAY;AAAA,UACb;AAAA,QACD;AAEA,cAAM,SAAS,MAAM,KAAK;AAAA,UACzB,CAAC,aAAaA,mBAAkB;AAC/B,kBAAM,EAAE,mBAAmB,IAC1B;AAED,mBAAO,mBAAmB,aAAaA,cAAa;AAAA,UACrD;AAAA,UACA,MAAM;AAAA,UACN;AAAA,QACD;AACA,cAAM,KAAK,YAAY;AAAA,UACtB,OAAO,OAAO;AAAA,UACd,QAAQ,OAAO;AAAA,QAChB,CAAC;AACD,cAAM,cAAc,MAAM,KAAK,WAAW;AAC1C,uBAAe,IAAI,MAAM,MAAM,WAAW;AAAA,MAC3C,UAAE;AACD,cAAM,KAAK,MAAM;AACjB,cAAM,QAAQ,MAAM;AAAA,MACrB;AAAA,IACD,CAAC;AAED,UAAM,QAAQ,IAAI,QAAQ;AAE1B,WAAO;AAAA,EACR;AACD;",
6
+ "names": ["mermaidConfig"]
7
+ }