fix: ensure configs from initialize and frontmatter are both handled correctly

on-behalf-of: @Mermaid-Chart <hello@mermaidchart.com>
This commit is contained in:
darshanr0107
2025-08-26 18:10:39 +05:30
parent 00f5700320
commit b7e9d02b7c
2 changed files with 10 additions and 10 deletions

View File

@@ -82,6 +82,7 @@ describe('when working with site config', () => {
describe('getUserDefinedConfig', () => {
beforeEach(() => {
configApi.reset();
configApi.saveConfigFromInitialize({});
});
it('should return empty object when no user config is defined', () => {
@@ -106,7 +107,6 @@ describe('getUserDefinedConfig', () => {
expect(configApi.getUserDefinedConfig()).toMatchInlineSnapshot(`
{
"fontFamily": "Arial",
"fontSize": 14,
"layout": "elk",
"theme": "forest",
@@ -128,8 +128,8 @@ describe('getUserDefinedConfig', () => {
{
"fontFamily": "Arial",
"fontSize": 14,
"layout": "elk",
"theme": "forest",
"layout": "dagre",
"theme": "dark",
}
`);
});
@@ -152,7 +152,7 @@ describe('getUserDefinedConfig', () => {
{
"flowchart": {
"curve": "basis",
"nodeSpacing": 75,
"nodeSpacing": 50,
"rankSpacing": 100,
},
"mindmap": {
@@ -196,8 +196,8 @@ describe('getUserDefinedConfig', () => {
expect(userConfig).toMatchInlineSnapshot(`
{
"flowchart": {
"curve": "basis",
"nodeSpacing": 100,
"curve": "linear",
"nodeSpacing": 50,
"rankSpacing": 100,
},
"fontSize": 12,

View File

@@ -252,13 +252,13 @@ const checkConfig = (config: MermaidConfig) => {
export const getUserDefinedConfig = (): MermaidConfig => {
let userConfig: MermaidConfig = {};
if (configFromInitialize) {
userConfig = assignWithDepth(userConfig, configFromInitialize);
}
for (const d of directives) {
userConfig = assignWithDepth(userConfig, d);
}
if (configFromInitialize) {
userConfig = assignWithDepth(userConfig, configFromInitialize);
}
return userConfig;
};