Skip to content

Commit 7e1a169

Browse files
committed
added other files
1 parent 1475af1 commit 7e1a169

File tree

11 files changed

+46
-44
lines changed

11 files changed

+46
-44
lines changed

packages/contentstack-import/src/import/modules/variant-entries.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import path from 'path';
22
import { Import, ImportHelperMethodsConfig, LogType, ProjectStruct } from '@contentstack/cli-variants';
3+
import { sanitizePath } from '@contentstack/cli-utilities';
34
import { ImportConfig, ModuleClassParams } from '../../types';
45
import {
56
log,
@@ -20,9 +21,9 @@ export default class ImportVarientEntries {
2021
this.config = importConfig;
2122
this.personalization = importConfig.modules.personalization;
2223
this.projectMapperFilePath = path.resolve(
23-
this.config.data,
24+
sanitizePath(this.config.data),
2425
'mapper',
25-
this.personalization.dirName,
26+
sanitizePath(this.personalization.dirName),
2627
'projects',
2728
'projects.json',
2829
);

packages/contentstack-variants/src/export/attributes.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import omit from 'lodash/omit';
22
import { resolve as pResolve } from 'node:path';
3-
3+
import { sanitizePath } from '@contentstack/cli-utilities';
44
import { formatError, fsUtil, PersonalizationAdapter, log } from '../utils';
55
import { PersonalizationConfig, ExportConfig, AttributesConfig, AttributeStruct } from '../types';
66

@@ -19,10 +19,10 @@ export default class ExportAttributes extends PersonalizationAdapter<ExportConfi
1919
this.personalizationConfig = exportConfig.modules.personalization;
2020
this.attributesConfig = exportConfig.modules.attributes;
2121
this.attributesFolderPath = pResolve(
22-
exportConfig.data,
23-
exportConfig.branchName || '',
24-
this.personalizationConfig.dirName,
25-
this.attributesConfig.dirName,
22+
sanitizePath(exportConfig.data),
23+
sanitizePath(exportConfig.branchName || ''),
24+
sanitizePath(this.personalizationConfig.dirName),
25+
sanitizePath(this.attributesConfig.dirName),
2626
);
2727
this.attributes = [];
2828
}
@@ -37,7 +37,7 @@ export default class ExportAttributes extends PersonalizationAdapter<ExportConfi
3737
log(this.exportConfig, 'No Attributes found with the given project!', 'info');
3838
} else {
3939
this.sanitizeAttribs();
40-
fsUtil.writeFile(pResolve(this.attributesFolderPath, this.attributesConfig.fileName), this.attributes);
40+
fsUtil.writeFile(pResolve(sanitizePath(this.attributesFolderPath), sanitizePath(this.attributesConfig.fileName)), this.attributes);
4141
log(this.exportConfig, 'All the attributes have been exported successfully!', 'success');
4242
}
4343
} catch (error) {

packages/contentstack-variants/src/export/experiences.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as path from 'path';
2+
import { sanitizePath } from '@contentstack/cli-utilities';
23
import { PersonalizationConfig, ExportConfig, ExperienceStruct } from '../types';
34
import { formatError, fsUtil, log, PersonalizationAdapter } from '../utils';
45

@@ -19,9 +20,9 @@ export default class ExportExperiences extends PersonalizationAdapter<ExportConf
1920
this.exportConfig = exportConfig;
2021
this.personalizationConfig = exportConfig.modules.personalization;
2122
this.experiencesFolderPath = path.resolve(
22-
exportConfig.data,
23-
exportConfig.branchName || '',
24-
this.personalizationConfig.dirName,
23+
sanitizePath(exportConfig.data),
24+
sanitizePath(exportConfig.branchName || ''),
25+
sanitizePath(this.personalizationConfig.dirName),
2526
'experiences',
2627
);
2728
}
@@ -38,7 +39,7 @@ export default class ExportExperiences extends PersonalizationAdapter<ExportConf
3839
log(this.exportConfig, 'No Experiences found with the give project', 'info');
3940
return;
4041
}
41-
fsUtil.writeFile(path.resolve(this.experiencesFolderPath, 'experiences.json'), experiences);
42+
fsUtil.writeFile(path.resolve(sanitizePath(this.experiencesFolderPath), 'experiences.json'), experiences);
4243

4344
const experienceToVariantsStrList: Array<string> = [];
4445
const experienceToContentTypesMap: Record<string, string[]> = {};
@@ -62,12 +63,12 @@ export default class ExportExperiences extends PersonalizationAdapter<ExportConf
6263
}
6364
}
6465
fsUtil.writeFile(
65-
path.resolve(this.experiencesFolderPath, 'experiences-variants-ids.json'),
66+
path.resolve(sanitizePath(this.experiencesFolderPath), 'experiences-variants-ids.json'),
6667
experienceToVariantsStrList,
6768
);
6869

6970
fsUtil.writeFile(
70-
path.resolve(this.experiencesFolderPath, 'experiences-content-types.json'),
71+
path.resolve(sanitizePath(this.experiencesFolderPath), 'experiences-content-types.json'),
7172
experienceToContentTypesMap,
7273
);
7374
log(this.exportConfig, 'All the experiences have been exported successfully!', 'success');

packages/contentstack-variants/src/export/projects.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as path from 'path';
2-
2+
import { sanitizePath } from '@contentstack/cli-utilities';
33
import { ExportConfig, PersonalizationConfig } from '../types';
44
import { PersonalizationAdapter, log, fsUtil, formatError } from '../utils';
55

@@ -16,9 +16,9 @@ export default class ExportProjects extends PersonalizationAdapter<ExportConfig>
1616
this.exportConfig = exportConfig;
1717
this.personalizationConfig = exportConfig.modules.personalization;
1818
this.projectFolderPath = path.resolve(
19-
exportConfig.data,
20-
exportConfig.branchName || '',
21-
this.personalizationConfig.dirName,
19+
sanitizePath(exportConfig.data),
20+
sanitizePath(exportConfig.branchName || ''),
21+
sanitizePath(this.personalizationConfig.dirName),
2222
'projects',
2323
);
2424
}
@@ -35,7 +35,7 @@ export default class ExportProjects extends PersonalizationAdapter<ExportConfig>
3535
}
3636
this.exportConfig.personalizationEnabled = true;
3737
this.exportConfig.project_id = project[0]?.uid;
38-
fsUtil.writeFile(path.resolve(this.projectFolderPath, 'projects.json'), project);
38+
fsUtil.writeFile(path.resolve(sanitizePath(this.projectFolderPath), 'projects.json'), project);
3939
log(this.exportConfig, 'Project exported successfully!', 'success');
4040
} catch (error) {
4141
log(this.exportConfig, `Failed to export projects!`, 'error');

packages/contentstack-variants/src/export/variant-entries.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default class VariantEntries extends VariantAdapter<VariantHttpClient<Exp
2525
},
2626
};
2727
super(Object.assign(config, conf));
28-
this.entriesDirPath = resolve(sanitizePath(config.data), config.branchName || '', sanitizePath(config.modules.entries.dirName));
28+
this.entriesDirPath = resolve(sanitizePath(config.data), sanitizePath(config.branchName || ''), sanitizePath(config.modules.entries.dirName));
2929
}
3030

3131
/**

packages/contentstack-variants/src/import/attribute.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { resolve } from 'path';
22
import { existsSync } from 'fs';
3-
3+
import { sanitizePath } from '@contentstack/cli-utilities';
44
import { PersonalizationAdapter, fsUtil } from '../utils';
55
import { APIConfig, AttributeStruct, ImportConfig, LogType } from '../types';
66

@@ -21,9 +21,9 @@ export default class Attribute extends PersonalizationAdapter<ImportConfig> {
2121
super(Object.assign(config, conf));
2222
this.personalizationConfig = this.config.modules.personalization;
2323
this.attributeConfig = this.personalizationConfig.attributes;
24-
this.mapperDirPath = resolve(this.config.backupDir, 'mapper', this.personalizationConfig.dirName);
25-
this.attrMapperDirPath = resolve(this.mapperDirPath, this.attributeConfig.dirName);
26-
this.attributesUidMapperPath = resolve(this.attrMapperDirPath, 'uid-mapping.json');
24+
this.mapperDirPath = resolve(sanitizePath(this.config.backupDir), 'mapper', sanitizePath(this.personalizationConfig.dirName));
25+
this.attrMapperDirPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.attributeConfig.dirName));
26+
this.attributesUidMapperPath = resolve(sanitizePath(this.attrMapperDirPath), 'uid-mapping.json');
2727
this.attributesUidMapper = {};
2828
}
2929

@@ -35,7 +35,7 @@ export default class Attribute extends PersonalizationAdapter<ImportConfig> {
3535

3636
await fsUtil.makeDirectory(this.attrMapperDirPath);
3737
const { dirName, fileName } = this.attributeConfig;
38-
const attributesPath = resolve(this.config.data, this.personalizationConfig.dirName, dirName, fileName);
38+
const attributesPath = resolve(sanitizePath(this.config.data), sanitizePath(this.personalizationConfig.dirName), sanitizePath(dirName), sanitizePath(fileName));
3939

4040
if (existsSync(attributesPath)) {
4141
try {

packages/contentstack-variants/src/import/audiences.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { resolve } from 'path';
22
import { existsSync } from 'fs';
3-
3+
import { sanitizePath } from '@contentstack/cli-utilities';
44
import { APIConfig, AudienceStruct, ImportConfig, LogType } from '../types';
55
import { PersonalizationAdapter, fsUtil, lookUpAttributes } from '../utils';
66

@@ -24,10 +24,10 @@ export default class Audiences extends PersonalizationAdapter<ImportConfig> {
2424
this.personalizationConfig = this.config.modules.personalization;
2525
this.audienceConfig = this.personalizationConfig.audiences;
2626
this.attributeConfig = this.personalizationConfig.attributes;
27-
this.mapperDirPath = resolve(this.config.backupDir, 'mapper', this.personalizationConfig.dirName);
28-
this.audienceMapperDirPath = resolve(this.mapperDirPath, this.audienceConfig.dirName);
29-
this.audiencesUidMapperPath = resolve(this.audienceMapperDirPath, 'uid-mapping.json');
30-
this.attributesMapperPath = resolve(this.mapperDirPath, this.attributeConfig.dirName, 'uid-mapping.json');
27+
this.mapperDirPath = resolve(sanitizePath(this.config.backupDir), 'mapper', sanitizePath(this.personalizationConfig.dirName));
28+
this.audienceMapperDirPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.audienceConfig.dirName));
29+
this.audiencesUidMapperPath = resolve(sanitizePath(this.audienceMapperDirPath), 'uid-mapping.json');
30+
this.attributesMapperPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.attributeConfig.dirName), 'uid-mapping.json');
3131
this.audiencesUidMapper = {};
3232
}
3333

@@ -39,7 +39,7 @@ export default class Audiences extends PersonalizationAdapter<ImportConfig> {
3939

4040
await fsUtil.makeDirectory(this.audienceMapperDirPath);
4141
const { dirName, fileName } = this.audienceConfig;
42-
const audiencesPath = resolve(this.config.data, this.personalizationConfig.dirName, dirName, fileName);
42+
const audiencesPath = resolve(sanitizePath(this.config.data), sanitizePath(this.personalizationConfig.dirName), sanitizePath(dirName), sanitizePath(fileName));
4343

4444
if (existsSync(audiencesPath)) {
4545
try {

packages/contentstack-variants/src/import/events.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { resolve } from 'path';
22
import { existsSync } from 'fs';
3-
3+
import { sanitizePath } from '@contentstack/cli-utilities';
44
import { PersonalizationAdapter, fsUtil } from '../utils';
55
import { APIConfig, EventStruct, ImportConfig, LogType } from '../types';
66

@@ -21,9 +21,9 @@ export default class Events extends PersonalizationAdapter<ImportConfig> {
2121
super(Object.assign(config, conf));
2222
this.personalizationConfig = this.config.modules.personalization;
2323
this.eventsConfig = this.personalizationConfig.events;
24-
this.mapperDirPath = resolve(this.config.backupDir, 'mapper', this.personalizationConfig.dirName);
25-
this.eventMapperDirPath = resolve(this.mapperDirPath, this.eventsConfig.dirName);
26-
this.eventsUidMapperPath = resolve(this.eventMapperDirPath, 'uid-mapping.json');
24+
this.mapperDirPath = resolve(sanitizePath(this.config.backupDir), 'mapper', sanitizePath(this.personalizationConfig.dirName));
25+
this.eventMapperDirPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.eventsConfig.dirName));
26+
this.eventsUidMapperPath = resolve(sanitizePath(this.eventMapperDirPath), 'uid-mapping.json');
2727
this.eventsUidMapper = {};
2828
}
2929

@@ -35,7 +35,7 @@ export default class Events extends PersonalizationAdapter<ImportConfig> {
3535

3636
await fsUtil.makeDirectory(this.eventMapperDirPath);
3737
const { dirName, fileName } = this.eventsConfig;
38-
const eventsPath = resolve(this.config.data, this.personalizationConfig.dirName, dirName, fileName);
38+
const eventsPath = resolve(sanitizePath(this.config.data), sanitizePath(this.personalizationConfig.dirName), sanitizePath(dirName), sanitizePath(fileName));
3939

4040
if (existsSync(eventsPath)) {
4141
try {

packages/contentstack-variants/src/import/experiences.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ export default class Experiences extends PersonalizationAdapter<ImportConfig> {
4646
super(Object.assign(config, conf));
4747
this.personalizationConfig = this.config.modules.personalization;
4848
this.experiencesDirPath = resolve(
49-
this.config.data,
50-
this.personalizationConfig.dirName,
51-
this.personalizationConfig.experiences.dirName,
49+
sanitizePath(this.config.data),
50+
sanitizePath(this.personalizationConfig.dirName),
51+
sanitizePath(this.personalizationConfig.experiences.dirName),
5252
);
5353
this.experiencesPath = join(sanitizePath(this.experiencesDirPath), sanitizePath(this.personalizationConfig.experiences.fileName));
5454
this.experienceConfig = this.personalizationConfig.experiences;

packages/contentstack-variants/src/import/variant-entries.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ export default class VariantEntries extends VariantAdapter<VariantHttpClient<Imp
5555
},
5656
};
5757
super(Object.assign(omit(config, ['helpers']), conf));
58-
this.entriesMapperPath = resolve(sanitizePath(config.backupDir), config.branchName || '', 'mapper', 'entries');
58+
this.entriesMapperPath = resolve(sanitizePath(config.backupDir), sanitizePath(config.branchName || ''), 'mapper', 'entries');
5959
this.personalizationConfig = this.config.modules.personalization;
60-
this.entriesDirPath = resolve(sanitizePath(config.backupDir), config.branchName || '', sanitizePath(config.modules.entries.dirName));
60+
this.entriesDirPath = resolve(sanitizePath(config.backupDir), sanitizePath(config.branchName || ''), sanitizePath(config.modules.entries.dirName));
6161
this.failedVariantPath = resolve(sanitizePath(this.entriesMapperPath), 'failed-entry-variants.json');
6262
this.failedVariantEntries = new Map();
6363
}
@@ -141,7 +141,7 @@ export default class VariantEntries extends VariantAdapter<VariantHttpClient<Imp
141141
const { content_type, locale, entry_uid } = entriesForVariant;
142142
const ctConfig = this.config.modules['content-types'];
143143
const contentType: ContentTypeStruct = JSON.parse(
144-
readFileSync(resolve(sanitizePath(this.config.backupDir), sanitizePath(ctConfig.dirName), `${content_type}.json`), 'utf8'),
144+
readFileSync(resolve(sanitizePath(this.config.backupDir), sanitizePath(ctConfig.dirName), `${sanitizePath(content_type)}.json`), 'utf8'),
145145
);
146146
const variantEntryBasePath = join(sanitizePath(this.entriesDirPath), sanitizePath(content_type), sanitizePath(locale), sanitizePath(variantEntry.dirName), sanitizePath(entry_uid));
147147
const fs = new FsUtility({ basePath: variantEntryBasePath });
@@ -308,7 +308,7 @@ export default class VariantEntries extends VariantAdapter<VariantHttpClient<Imp
308308
content_type: contentType,
309309
},
310310
this.entriesUidMapper,
311-
resolve(this.entriesMapperPath, contentType.uid, variantEntry.locale),
311+
resolve(sanitizePath(this.entriesMapperPath), sanitizePath(contentType.uid), sanitizePath(variantEntry.locale)),
312312
);
313313

314314
// NOTE: will remove term if term doesn't exists in taxonomy

0 commit comments

Comments
 (0)