fix(npmextra): merge old npmextra keys into new keys during migration, preserving existing new values
This commit is contained in:
@@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-12-16 - 2.13.1 - fix(npmextra)
|
||||||
|
merge old npmextra keys into new keys during migration, preserving existing new values
|
||||||
|
|
||||||
|
- Changed migration logic to merge data when both old and new keys exist instead of skipping the merge.
|
||||||
|
- Merge preserves existing new-key values (old values do not overwrite new ones) and still deletes the old key after migration.
|
||||||
|
- Applied the fix in both ts/mod_format/format.npmextra.ts and ts/mod_format/formatters/npmextra.formatter.ts.
|
||||||
|
- Adds a console log for successful migrations; behavior for single-key rename remains unchanged.
|
||||||
|
|
||||||
## 2025-12-16 - 2.13.0 - feat(tests)
|
## 2025-12-16 - 2.13.0 - feat(tests)
|
||||||
feat(tests): add sandbox test fixture, CI and editor configs; bump deps
|
feat(tests): add sandbox test fixture, CI and editor configs; bump deps
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@git.zone/cli',
|
name: '@git.zone/cli',
|
||||||
version: '2.13.0',
|
version: '2.13.1',
|
||||||
description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
|
description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,8 +16,17 @@ const migrateNamespaceKeys = (npmextraJson: any): boolean => {
|
|||||||
{ oldKey: 'szci', newKey: '@ship.zone/szci' },
|
{ oldKey: 'szci', newKey: '@ship.zone/szci' },
|
||||||
];
|
];
|
||||||
for (const { oldKey, newKey } of migrations) {
|
for (const { oldKey, newKey } of migrations) {
|
||||||
if (npmextraJson[oldKey] && !npmextraJson[newKey]) {
|
if (npmextraJson[oldKey]) {
|
||||||
npmextraJson[newKey] = npmextraJson[oldKey];
|
if (!npmextraJson[newKey]) {
|
||||||
|
// New key doesn't exist - simple rename
|
||||||
|
npmextraJson[newKey] = npmextraJson[oldKey];
|
||||||
|
} else {
|
||||||
|
// New key exists - merge old into new (old values don't overwrite new)
|
||||||
|
npmextraJson[newKey] = {
|
||||||
|
...npmextraJson[oldKey],
|
||||||
|
...npmextraJson[newKey],
|
||||||
|
};
|
||||||
|
}
|
||||||
delete npmextraJson[oldKey];
|
delete npmextraJson[oldKey];
|
||||||
migrated = true;
|
migrated = true;
|
||||||
console.log(`Migrated npmextra.json: ${oldKey} -> ${newKey}`);
|
console.log(`Migrated npmextra.json: ${oldKey} -> ${newKey}`);
|
||||||
|
|||||||
@@ -16,8 +16,17 @@ const migrateNamespaceKeys = (npmextraJson: any): boolean => {
|
|||||||
{ oldKey: 'szci', newKey: '@ship.zone/szci' },
|
{ oldKey: 'szci', newKey: '@ship.zone/szci' },
|
||||||
];
|
];
|
||||||
for (const { oldKey, newKey } of migrations) {
|
for (const { oldKey, newKey } of migrations) {
|
||||||
if (npmextraJson[oldKey] && !npmextraJson[newKey]) {
|
if (npmextraJson[oldKey]) {
|
||||||
npmextraJson[newKey] = npmextraJson[oldKey];
|
if (!npmextraJson[newKey]) {
|
||||||
|
// New key doesn't exist - simple rename
|
||||||
|
npmextraJson[newKey] = npmextraJson[oldKey];
|
||||||
|
} else {
|
||||||
|
// New key exists - merge old into new (old values don't overwrite new)
|
||||||
|
npmextraJson[newKey] = {
|
||||||
|
...npmextraJson[oldKey],
|
||||||
|
...npmextraJson[newKey],
|
||||||
|
};
|
||||||
|
}
|
||||||
delete npmextraJson[oldKey];
|
delete npmextraJson[oldKey];
|
||||||
migrated = true;
|
migrated = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user