chore: Prettier

This commit is contained in:
Sidharth Vinod
2024-03-23 11:39:02 +05:30
parent 3278899787
commit 16f1dccd22
76 changed files with 508 additions and 366 deletions

View File

@@ -85,7 +85,7 @@ const LOGMSG_COPIED = `, and copied to ${FINAL_DOCS_DIR}`;
const WARN_DOCSDIR_DOESNT_MATCH = `Changed files were transformed in ${SOURCE_DOCS_DIR} but do not match the files in ${FINAL_DOCS_DIR}. Please run 'pnpm --filter mermaid run docs:build' after making changes to ${SOURCE_DOCS_DIR} to update the ${FINAL_DOCS_DIR} directory with the transformed files.`;
const prettierConfig = prettier.resolveConfig.sync('.') ?? {};
const prettierConfig = (await prettier.resolveConfig('.')) ?? {};
// From https://github.com/vuejs/vitepress/blob/428eec3750d6b5648a77ac52d88128df0554d4d1/src/node/markdownToVue.ts#L20-L21
const includesRE = /<!--\s*@include:\s*(.*?)\s*-->/g;
const includedFiles: Set<string> = new Set();
@@ -326,7 +326,7 @@ export function transformMarkdownAst({
*
* @param file {string} name of the file that will be verified
*/
const transformMarkdown = (file: string) => {
const transformMarkdown = async (file: string) => {
const doc = injectPlaceholders(transformIncludeStatements(file, readSyncedUTF8file(file)));
let transformed = remark()
@@ -347,7 +347,7 @@ const transformMarkdown = (file: string) => {
transformed = doc;
}
const formatted = prettier.format(transformed, {
const formatted = await prettier.format(transformed, {
parser: 'markdown',
...prettierConfig,
});
@@ -454,7 +454,7 @@ async function transformJsonSchema(file: string) {
const transformed = transformer.stringify(await transformer.run(markdownAst as Root));
const formatted = prettier.format(transformed, {
const formatted = await prettier.format(transformed, {
parser: 'markdown',
...prettierConfig,
});
@@ -472,7 +472,7 @@ async function transformJsonSchema(file: string) {
*
* @param filename {string} name of the HTML file to transform
*/
const transformHtml = (filename: string) => {
const transformHtml = async (filename: string) => {
/**
* Insert the '...auto generated...' comment into an HTML file after the<html> element
*
@@ -496,7 +496,7 @@ const transformHtml = (filename: string) => {
};
const transformedHTML = insertAutoGeneratedComment(filename);
const formattedHTML = prettier.format(transformedHTML, {
const formattedHTML = await prettier.format(transformedHTML, {
parser: 'html',
...prettierConfig,
});
@@ -541,7 +541,7 @@ export const processDocs = async () => {
const mdFileGlobs = getGlobs([posix.join(sourceDirGlob, '*.md')]);
const mdFiles = await getFilesFromGlobs(mdFileGlobs);
console.log(`${action} ${mdFiles.length} markdown files...`);
mdFiles.forEach(transformMarkdown);
await Promise.all(mdFiles.map(transformMarkdown));
for (const includedFile of includedFiles) {
rmSync(includedFile, { force: true });
@@ -552,7 +552,7 @@ export const processDocs = async () => {
const htmlFileGlobs = getGlobs([posix.join(sourceDirGlob, '*.html')]);
const htmlFiles = await getFilesFromGlobs(htmlFileGlobs);
console.log(`${action} ${htmlFiles.length} html files...`);
htmlFiles.forEach(transformHtml);
await Promise.all(htmlFiles.map(transformHtml));
const otherFileGlobs = getGlobs([sourceDirGlob, '!**/*.md', '!**/*.html']);
const otherFiles = await getFilesFromGlobs(otherFileGlobs);
@@ -591,9 +591,9 @@ export const processDocs = async () => {
return;
}
if (isMd(path)) {
transformMarkdown(path);
void transformMarkdown(path);
} else if (isHtml(path)) {
transformHtml(path);
void transformHtml(path);
} else if (isOther(path)) {
copyTransformedContents(path, true);
}

View File

@@ -67,49 +67,49 @@ describe('the flowchart renderer', function () {
});
});
['Multi<br>Line', 'Multi<br/>Line', 'Multi<br />Line', 'Multi<br\t/>Line'].forEach(function (
labelText
) {
it('should handle multiline texts with different line breaks', async function () {
const addedNodes = [];
const fakeDiag = {
db: {
lookUpDomId: () => {
return 'my-node-id';
['Multi<br>Line', 'Multi<br/>Line', 'Multi<br />Line', 'Multi<br\t/>Line'].forEach(
function (labelText) {
it('should handle multiline texts with different line breaks', async function () {
const addedNodes = [];
const fakeDiag = {
db: {
lookUpDomId: () => {
return 'my-node-id';
},
},
},
};
const mockG = {
setNode: function (id, object) {
addedNodes.push([id, object]);
},
};
await addVertices(
{
v1: {
type: 'rect',
id: 'my-node-id',
classes: [],
styles: [],
text: 'Multi<br>Line',
};
const mockG = {
setNode: function (id, object) {
addedNodes.push([id, object]);
},
},
mockG,
'svg-id',
false,
document,
fakeDiag
);
expect(addedNodes).toHaveLength(1);
expect(addedNodes[0][0]).toEqual('my-node-id');
expect(addedNodes[0][1]).toHaveProperty('id', 'my-node-id');
expect(addedNodes[0][1]).toHaveProperty('labelType', 'svg');
expect(addedNodes[0][1].label).toBeDefined();
expect(addedNodes[0][1].label).toBeDefined(); // <text> node
expect(addedNodes[0][1].label.firstChild.innerHTML).toEqual('Multi'); // <tspan> node, line 1
expect(addedNodes[0][1].label.lastChild.innerHTML).toEqual('Line'); // <tspan> node, line 2
});
});
};
await addVertices(
{
v1: {
type: 'rect',
id: 'my-node-id',
classes: [],
styles: [],
text: 'Multi<br>Line',
},
},
mockG,
'svg-id',
false,
document,
fakeDiag
);
expect(addedNodes).toHaveLength(1);
expect(addedNodes[0][0]).toEqual('my-node-id');
expect(addedNodes[0][1]).toHaveProperty('id', 'my-node-id');
expect(addedNodes[0][1]).toHaveProperty('labelType', 'svg');
expect(addedNodes[0][1].label).toBeDefined();
expect(addedNodes[0][1].label).toBeDefined(); // <text> node
expect(addedNodes[0][1].label.firstChild.innerHTML).toEqual('Multi'); // <tspan> node, line 1
expect(addedNodes[0][1].label.lastChild.innerHTML).toEqual('Line'); // <tspan> node, line 2
});
}
);
[
[['fill:#fff'], 'fill:#fff;', ''],

View File

@@ -98,7 +98,10 @@ describe('Testing quadrantChart jison file', () => {
str =
'quadrantChart\n Y-AxIs "Urgent(* +=[❤" --> "Not Urgent (* +=[❤"\n ';
expect(parserFnConstructor(str)).not.toThrow();
expect(mockDB.setYAxisBottomText).toHaveBeenCalledWith({ text: 'Urgent(* +=[❤', type: 'text' });
expect(mockDB.setYAxisBottomText).toHaveBeenCalledWith({
text: 'Urgent(* +=[❤',
type: 'text',
});
expect(mockDB.setYAxisTopText).toHaveBeenCalledWith({
text: 'Not Urgent (* +=[❤',
type: 'text',
@@ -107,7 +110,10 @@ describe('Testing quadrantChart jison file', () => {
clearMocks();
str = 'quadrantChart\n y-AxIs "Urgent(* +=[❤"';
expect(parserFnConstructor(str)).not.toThrow();
expect(mockDB.setYAxisBottomText).toHaveBeenCalledWith({ text: 'Urgent(* +=[❤', type: 'text' });
expect(mockDB.setYAxisBottomText).toHaveBeenCalledWith({
text: 'Urgent(* +=[❤',
type: 'text',
});
expect(mockDB.setYAxisTopText).not.toHaveBeenCalled();
clearMocks();
@@ -165,7 +171,10 @@ describe('Testing quadrantChart jison file', () => {
clearMocks();
str = 'QuadRantChart \n QuaDrant-3 "Deligate(* +=[❤"';
expect(parserFnConstructor(str)).not.toThrow();
expect(mockDB.setQuadrant3Text).toHaveBeenCalledWith({ text: 'Deligate(* +=[❤', type: 'text' });
expect(mockDB.setQuadrant3Text).toHaveBeenCalledWith({
text: 'Deligate(* +=[❤',
type: 'text',
});
});
it('should be able to parse quadrant4 text', () => {

View File

@@ -25,7 +25,11 @@ const clear = (): void => {
};
class SankeyLink {
constructor(public source: SankeyNode, public target: SankeyNode, public value: number = 0) {}
constructor(
public source: SankeyNode,
public target: SankeyNode,
public value: number = 0
) {}
}
/**

View File

@@ -221,8 +221,8 @@ export const parseMessage = function (str) {
_str.match(/^:?wrap:/) !== null
? true
: _str.match(/^:?nowrap:/) !== null
? false
: undefined,
? false
: undefined,
};
log.debug('parseMessage:', message);
return message;
@@ -262,8 +262,8 @@ export const parseBoxData = function (str) {
? title.match(/^:?wrap:/) !== null
? true
: title.match(/^:?nowrap:/) !== null
? false
: undefined
? false
: undefined
: undefined,
};
};

View File

@@ -627,12 +627,18 @@ const activationBounds = function (actor, actors) {
const actorObj = actors[actor];
const activations = actorActivations(actor);
const left = activations.reduce(function (acc, activation) {
return common.getMin(acc, activation.startx);
}, actorObj.x + actorObj.width / 2 - 1);
const right = activations.reduce(function (acc, activation) {
return common.getMax(acc, activation.stopx);
}, actorObj.x + actorObj.width / 2 + 1);
const left = activations.reduce(
function (acc, activation) {
return common.getMin(acc, activation.startx);
},
actorObj.x + actorObj.width / 2 - 1
);
const right = activations.reduce(
function (acc, activation) {
return common.getMax(acc, activation.stopx);
},
actorObj.x + actorObj.width / 2 + 1
);
return [left, right];
};

View File

@@ -37,7 +37,7 @@ By default, MathML is used for rendering mathematical expressions. If you have u
Example with legacy mode enabled (the latest version of KaTeX's stylesheet can be found on their [docs](https://katex.org/docs/browser.html)):
```html
<!DOCTYPE html>
<!doctype html>
<!-- KaTeX requires the use of the HTML5 doctype. Without it, KaTeX may not render properly -->
<html lang="en">
<head>

View File

@@ -67,7 +67,7 @@ Example:
## Simple full example:
```html
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<body>
<pre class="mermaid">

View File

@@ -33,7 +33,7 @@ One should **beware the use of some words or symbols** that can break diagrams.
| Diagram Breakers | Reason | Solution |
| ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- | ------------------------------------------------- |
| **Comments** | | |
| [` %%{``}%% `](https://github.com/mermaid-js/mermaid/issues/1968) | Similar to [Directives](../config/directives.md) confuses the renderer. | In comments using `%%`, avoid using "{}". |
| [`%%{``}%%`](https://github.com/mermaid-js/mermaid/issues/1968) | Similar to [Directives](../config/directives.md) confuses the renderer. | In comments using `%%`, avoid using "{}". |
| **Flow-Charts** | | |
| 'end' | The word "End" can cause Flowcharts and Sequence diagrams to break | Wrap them in quotation marks to prevent breakage. |
| [Nodes inside Nodes](../syntax/flowchart.md?id=special-characters-that-break-syntax) | Mermaid gets confused with nested shapes | wrap them in quotation marks to prevent breaking |

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />

View File

@@ -39,14 +39,16 @@ export class MockedD3 {
return this.select(select_str);
});
append = vi
.fn()
.mockImplementation(function (this: MockedD3, type: string, id = '' + '-appended'): MockedD3 {
const newMock = new MockedD3(id);
newMock.attribs.set('type', type);
this._children.push(newMock);
return newMock;
});
append = vi.fn().mockImplementation(function (
this: MockedD3,
type: string,
id = '' + '-appended'
): MockedD3 {
const newMock = new MockedD3(id);
newMock.attribs.set('type', type);
this._children.push(newMock);
return newMock;
});
// NOTE: The d3 implementation allows for a selector ('beforeSelector' arg below).
// With this mocked implementation, we assume it will always refer to an node id