fix: make mode export/import paths slug-independent to support renaming #6231
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes issue #6229 where rules files were written to the wrong directory when users changed the slug in exported YAML files before importing.
Problem
When exporting a mode, the
relativePathfor rule files included therules-<slug>prefix (e.g.,rules-old-slug/rule.xml). If a user changed the slug in the exported YAML file before importing, the rules were written to a directory based on the old slug instead of the new one.Solution
rule.mdinstead ofrules-slug/rule.md)Changes
exportModeWithRulesinCustomModesManager.tsto usepath.relative(modeRulesDir, filePath)importRulesFilesinCustomModesManager.tsto detect and striprules-<slug>/prefixes for backwards compatibilityTesting
Impact
Users can now:
This change is backwards compatible - existing exports will continue to work correctly.
Fixes #6229
Important
Fixes slug-dependent paths in mode export/import, allowing slug renaming and ensuring backward compatibility.
exportModeWithRulesinCustomModesManager.tsnow calculates relative paths from the mode's rules directory, making them slug-independent.importRulesFilesinCustomModesManager.tsstripsrules-<slug>/prefixes for backward compatibility.CustomModesManager.spec.ts.This description was created by
for a2f09b0. You can customize this summary. It will automatically update as commits are pushed.