Skip to content

Commit

Permalink
feat(build): Add mermaidRendererPlugin.js
Browse files Browse the repository at this point in the history
  • Loading branch information
andymac4182 committed Apr 17, 2023
1 parent 92a979f commit a64a176
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 12 deletions.
50 changes: 50 additions & 0 deletions .build/mermaidRendererPlugin.js
@@ -0,0 +1,50 @@
import esbuild from "esbuild";
import process from "process";

export const mermaidRendererPlugin = {
name: 'mermaidRendererPlugin',
setup(build) {
build.onResolve({ filter: /mermaid_renderer\.esbuild$/ }, args => {
return {
watchFiles: ['src/mermaid_renderer.js'],
path: args.path,
namespace: 'mermaid-binary',
}
});
build.onLoad({ filter: /mermaid_renderer\.esbuild$/, namespace: 'mermaid-binary' }, async (args) => {
const result = await esbuild.build({
entryPoints: ['src/mermaid_renderer.js'],
bundle: true,
format: 'cjs',
target: 'chrome106',
logLevel: 'info',
sourcemap: false,
treeShaking: true,
write: false,
mainFields: ['module', 'main'],
minify: true,
}).catch(() => process.exit(1));

const fileContents = `
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Mermaid Chart</title>
</head>
<body>
<div id="graphDiv"></div>
<script type="text/javascript">
${result.outputFiles[0].text}
</script>
</body>
</html>
`;

return {
contents: fileContents,
loader: 'binary',
}
})
}
};
4 changes: 2 additions & 2 deletions src/AdfPostProcess.ts
@@ -1,11 +1,11 @@
import { traverse } from "@atlaskit/adf-utils/traverse";
import { JSONDocNode } from "@atlaskit/editor-json-transformer";
import { ConfluenceAdfFile, ConfluenceNode } from "./Publisher";
import { MyPluginSettings } from "./Settings";
import { ConfluenceSettings } from "./Settings";

export function prepareAdf(
confluencePagesToPublish: ConfluenceNode[],
settings: MyPluginSettings
settings: ConfluenceSettings
) {
const fileToPageIdMap: Record<string, ConfluenceAdfFile> = {};

Expand Down
4 changes: 2 additions & 2 deletions src/Publisher.test.ts
Expand Up @@ -10,9 +10,9 @@ import {
} from "./adaptors/types";
import { ChartData, MermaidRenderer } from "./mermaid_renderers";
import { Publisher } from "./Publisher";
import { MyPluginSettings } from "./Settings";
import { ConfluenceSettings } from "./Settings";

const settings: MyPluginSettings = {
const settings: ConfluenceSettings = {
confluenceBaseUrl: process.env.ATLASSIAN_SITE_URL ?? "MISSING SITE",
confluenceParentId: "",
atlassianUserName: process.env.ATLASSIAN_USERNAME ?? "NO EMAIL",
Expand Down
7 changes: 2 additions & 5 deletions src/Publisher.ts
@@ -1,6 +1,4 @@
import { ConfluenceSettings } from "./Settings";
import FolderFile from "./FolderFile.json";

import { traverse, filter } from "@atlaskit/adf-utils/traverse";
import { ADFEntity } from "@atlaskit/adf-utils/types";
import { CustomConfluenceClient, LoaderAdaptor } from "./adaptors/types";
Expand Down Expand Up @@ -73,16 +71,15 @@ export interface ConfluenceTreeNode {
}

export class Publisher {
confluenceClient: ConfluenceClient;
blankPageAdf: string = JSON.stringify(doc(p("Page not published yet")));
confluenceClient: CustomConfluenceClient;
adaptor: LoaderAdaptor;
settings: ConfluenceSettings;
mermaidRenderer: MermaidRenderer;

constructor(
adaptor: LoaderAdaptor,
settings: ConfluenceSettings,
confluenceClient: ConfluenceClient,
confluenceClient: CustomConfluenceClient,
mermaidRenderer: MermaidRenderer
) {
this.adaptor = adaptor;
Expand Down
6 changes: 3 additions & 3 deletions src/adaptors/filesystem.ts.bak
@@ -1,4 +1,4 @@
import { MyPluginSettings } from "src/Settings";
import { ConfluenceSettings } from "src/Settings";
import { BinaryFile, FilesToUpload, LoaderAdaptor } from "./types";
import { lookup } from "mime-types";
import * as fs from "fs";
Expand All @@ -18,10 +18,10 @@ interface MarkdownFile {
}

export default class FilesystemAdaptor implements LoaderAdaptor {
settings: MyPluginSettings;
settings: ConfluenceSettings;
folderPath: string;

constructor(settings: MyPluginSettings, folderPath: string) {
constructor(settings: ConfluenceSettings, folderPath: string) {
this.settings = settings;
this.folderPath = folderPath;
}
Expand Down

0 comments on commit a64a176

Please sign in to comment.