Skip to content

Commit 4218129

Browse files
committed
fix: merge existing baseEnvironment data and dataPropertyOrder on import
1 parent 376abb6 commit 4218129

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

Diff for: packages/insomnia/src/common/import.ts

+12-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { readFile } from 'fs/promises';
2+
import orderedJSON from "json-order";
23

34
import { type ApiSpec, isApiSpec } from '../models/api-spec';
45
import { type CookieJar, isCookieJar } from '../models/cookie-jar';
@@ -21,6 +22,7 @@ import type { CurrentPlan } from '../ui/routes/organization';
2122
import { convert, type InsomniaImporter } from '../utils/importers/convert';
2223
import { id as postmanEnvImporterId } from '../utils/importers/importers/postman-env';
2324
import { invariant } from '../utils/invariant';
25+
import { JSON_ORDER_PREFIX, JSON_ORDER_SEPARATOR } from './constants';
2426
import { database as db } from './database';
2527
import { importInsomniaV5Data } from './insomnia-v5';
2628
import { generateId } from './misc';
@@ -378,7 +380,16 @@ export const importResourcesToWorkspace = async ({ workspaceId }: { workspaceId:
378380

379381
const baseEnvironmentFromResources = resources.filter(isEnvironment).find(env => env.parentId && env.parentId.startsWith('__WORKSPACE_ID__'));
380382
if (baseEnvironmentFromResources) {
381-
await models.environment.update(baseEnvironment, { data: baseEnvironmentFromResources.data });
383+
const data = { ...baseEnvironment.data, ...baseEnvironmentFromResources.data }
384+
const orderedJson = orderedJSON.parse<Record<string, any>>(
385+
JSON.stringify(data || []),
386+
JSON_ORDER_PREFIX,
387+
JSON_ORDER_SEPARATOR,
388+
);
389+
await models.environment.update(baseEnvironment, {
390+
data: orderedJson.object,
391+
dataPropertyOrder: orderedJson.map
392+
});
382393
}
383394
const subEnvironments = resources.filter(isEnvironment).filter(isSubEnvironmentResource) || [];
384395

0 commit comments

Comments
 (0)