Repository: platers/obsidian-linter (ts)

Issue:
Bug: `YAML Title Alias` rule doesn't respect `Keep alias that matches the filename` setting when aliases section is empty
## Describe the Bug

`YAML Title Alias` rule doesn't respect `Keep alias that matches the filename` setting when aliases section is empty

## How to Reproduce

Consider

**Filename.md**

``` markdown
---
aliases:
---
# Filename
```

Configure `YAML Title Alias` rule setting `Keep alias that matches the filename` = `false`. Run the rule.

## Expected Behavior

`aliases` section has to removed

``` markdown
---
---
# Filename
```

## Actual Behavior

`aliases` section adds `Filename` alias ignoring the setting mentioned.

``` markdown
---
aliases:
  - Filename
---
# Filename
```



Pull request:
Fix empty aliases section usecase
Fixes #432 

Patch:
diff --git a/src/rules/yaml-title-alias.ts b/src/rules/yaml-title-alias.ts
index 44dabaf..749708a 100644
--- a/src/rules/yaml-title-alias.ts
+++ b/src/rules/yaml-title-alias.ts
@@ -79,7 +79,7 @@ export default class YamlTitleAlias extends RuleBuilder<YamlTitleAliasOptions> {
 
     const getNewAliasValue = function(originalValue: string |string[], shouldRemoveTitle: boolean): string |string[] {
       if (originalValue == null) {
-        return title;
+        return shouldRemoveTitle ? '' : title;
       }
 
       if (typeof originalValue === 'string') {


Test patch:
diff --git a/__tests__/yaml-title-alias.test.ts b/__tests__/yaml-title-alias.test.ts
index 7043e4a..928f00a 100644
--- a/__tests__/yaml-title-alias.test.ts
+++ b/__tests__/yaml-title-alias.test.ts
@@ -1000,5 +1000,22 @@ ruleTest({
         preserveExistingAliasesSectionStyle: false,
       },
     },
+    {
+      testName: 'Removes empty alias section if title matches the filename',
+      before: dedent`
+        ---
+        aliases:
+        ---
+        # Filename
+      `,
+      after: dedent`
+        ---
+        ---
+        # Filename
+      `,
+      options: {
+        fileName: 'Filename',
+      },
+    },
   ],
 });