Skip to content

Commit 9d95550

Browse files
authored
Merge pull request #1704 from contentstack/fix/DX-1908
sanitized path
2 parents f1baeae + 232c65e commit 9d95550

File tree

4 files changed

+24
-18
lines changed

4 files changed

+24
-18
lines changed

packages/contentstack-import-setup/src/import/modules/assets.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { log, fsUtil } from '../../utils';
33
import { join } from 'path';
44
import { AssetRecord, ImportConfig, ModuleClassParams } from '../../types';
55
import { isEmpty, orderBy, values } from 'lodash';
6-
import { formatError, FsUtility } from '@contentstack/cli-utilities';
6+
import { formatError, FsUtility, sanitizePath } from '@contentstack/cli-utilities';
77
import BaseImportSetup from './base-setup';
88

99
export default class AssetImportSetup extends BaseImportSetup {
@@ -20,13 +20,13 @@ export default class AssetImportSetup extends BaseImportSetup {
2020

2121
constructor({ config, stackAPIClient, dependencies }: ModuleClassParams) {
2222
super({ config, stackAPIClient, dependencies });
23-
this.assetsFolderPath = join(this.config.contentDir, 'assets');
24-
this.assetsFilePath = join(this.config.contentDir, 'assets', 'assets.json');
23+
this.assetsFolderPath = join(sanitizePath(this.config.contentDir), 'assets');
24+
this.assetsFilePath = join(sanitizePath(this.config.contentDir), 'assets', 'assets.json');
2525
this.assetsConfig = config.modules.assets;
26-
this.mapperDirPath = join(this.config.backupDir, 'mapper', 'assets');
27-
this.assetUidMapperPath = join(this.config.backupDir, 'mapper', 'assets', 'uid-mapping.json');
28-
this.assetUrlMapperPath = join(this.config.backupDir, 'mapper', 'assets', 'url-mapping.json');
29-
this.duplicateAssetPath = join(this.config.backupDir, 'mapper', 'assets', 'duplicate-assets.json');
26+
this.mapperDirPath = join(sanitizePath(this.config.backupDir), 'mapper', 'assets');
27+
this.assetUidMapperPath = join(sanitizePath(this.config.backupDir), 'mapper', 'assets', 'uid-mapping.json');
28+
this.assetUrlMapperPath = join(sanitizePath(this.config.backupDir), 'mapper', 'assets', 'url-mapping.json');
29+
this.duplicateAssetPath = join(sanitizePath(this.config.backupDir), 'mapper', 'assets', 'duplicate-assets.json');
3030
this.assetUidMapper = {};
3131
this.assetUrlMapper = {};
3232
this.duplicateAssets = {};

packages/contentstack-import-setup/src/import/modules/extensions.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { log, fsUtil } from '../../utils';
33
import { join } from 'path';
44
import { ImportConfig, ModuleClassParams } from '../../types';
55
import { isEmpty } from 'lodash';
6-
import { formatError } from '@contentstack/cli-utilities';
6+
import { formatError, sanitizePath } from '@contentstack/cli-utilities';
77

88
export default class ExtensionImportSetup {
99
private config: ImportConfig;
@@ -19,9 +19,9 @@ export default class ExtensionImportSetup {
1919
constructor({ config, stackAPIClient }: ModuleClassParams) {
2020
this.config = config;
2121
this.stackAPIClient = stackAPIClient;
22-
this.extensionsFilePath = join(this.config.contentDir, 'extensions', 'extensions.json');
22+
this.extensionsFilePath = join(sanitizePath(this.config.contentDir), 'extensions', 'extensions.json');
2323
this.extensionsConfig = config.modules.extensions;
24-
this.extUidMapperPath = join(this.config.backupDir, 'mapper', 'extensions', 'uid-mapping.json');
24+
this.extUidMapperPath = join(sanitizePath(this.config.backupDir), 'mapper', 'extensions', 'uid-mapping.json');
2525
this.extensionMapper = {};
2626
}
2727

@@ -35,7 +35,7 @@ export default class ExtensionImportSetup {
3535
const extensions: any = await fsUtil.readFile(this.extensionsFilePath);
3636
if (!isEmpty(extensions)) {
3737
// 2. Create mapper directory
38-
const mapperFilePath = join(this.config.backupDir, 'mapper', 'extensions');
38+
const mapperFilePath = join(sanitizePath(this.config.backupDir), 'mapper', 'extensions');
3939
fsUtil.makeDirectory(mapperFilePath); // Use fsUtil
4040

4141
for (const extension of Object.values(extensions) as any) {

packages/contentstack-import-setup/src/import/modules/marketplace-apps.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
ContentstackMarketplaceClient,
1010
NodeCrypto,
1111
createDeveloperHubUrl,
12+
sanitizePath,
1213
} from '@contentstack/cli-utilities';
1314

1415
export default class marketplaceAppImportSetup {
@@ -29,9 +30,13 @@ export default class marketplaceAppImportSetup {
2930
constructor({ config, stackAPIClient }: ModuleClassParams) {
3031
this.config = config;
3132
this.stackAPIClient = stackAPIClient;
32-
this.marketplaceAppsFilePath = join(this.config.contentDir, 'marketplace_apps', 'marketplace_apps.json');
33+
this.marketplaceAppsFilePath = join(
34+
sanitizePath(this.config.contentDir),
35+
'marketplace_apps',
36+
'marketplace_apps.json',
37+
);
3338
this.marketplaceAppsConfig = config.modules['marketplace-apps'];
34-
this.marketplaceAppsUidMapperPath = join(this.config.backupDir, 'mapper', 'marketplace_apps');
39+
this.marketplaceAppsUidMapperPath = join(sanitizePath(this.config.backupDir), 'mapper', 'marketplace_apps');
3540
this.marketplaceAppMapper = { app_uid: {}, installation_uid: {}, extension_uid: {} };
3641
}
3742

packages/contentstack-import-setup/src/import/modules/taxonomies.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import isEmpty from 'lodash/isEmpty';
44

55
import { log, fsUtil } from '../../utils';
66
import { ImportConfig, ModuleClassParams, TaxonomyQueryParams } from '../../types';
7+
import { sanitizePath } from '@contentstack/cli-utilities';
78

89
export default class TaxonomiesImportSetup {
910
private config: ImportConfig;
@@ -21,12 +22,12 @@ export default class TaxonomiesImportSetup {
2122
constructor({ config, stackAPIClient }: ModuleClassParams) {
2223
this.config = config;
2324
this.stackAPIClient = stackAPIClient;
24-
this.taxonomiesFilePath = join(this.config.contentDir, 'taxonomies', 'taxonomies.json');
25+
this.taxonomiesFilePath = join(sanitizePath(this.config.contentDir), 'taxonomies', 'taxonomies.json');
2526
this.taxonomiesConfig = config.modules.taxonomies;
26-
this.taxonomiesMapperDirPath = join(this.config.backupDir, 'mapper', 'taxonomies');
27-
this.taxSuccessPath = join(this.taxonomiesMapperDirPath, 'success.json');
28-
this.termsMapperDirPath = join(this.taxonomiesMapperDirPath, 'terms');
29-
this.termsSuccessPath = join(this.termsMapperDirPath, 'success.json');
27+
this.taxonomiesMapperDirPath = join(sanitizePath(this.config.backupDir), 'mapper', 'taxonomies');
28+
this.taxSuccessPath = join(sanitizePath(this.taxonomiesMapperDirPath), 'success.json');
29+
this.termsMapperDirPath = join(sanitizePath(this.taxonomiesMapperDirPath), 'terms');
30+
this.termsSuccessPath = join(sanitizePath(this.termsMapperDirPath), 'success.json');
3031
this.taxonomiesMapper = {};
3132
this.termsMapper = {};
3233
}

0 commit comments

Comments
 (0)