Skip to content

Commit e4e0d08

Browse files
Merge pull request #115 from premkattaWm/dev-prem/windows-directoryHash
Maintaining single unique hash directory for windows expo app
2 parents 56a1442 + 8fdcffb commit e4e0d08

4 files changed

Lines changed: 15 additions & 26 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@wavemaker/wm-reactnative-cli",
3-
"version": "1.9.6",
3+
"version": "1.9.7",
44
"description": "",
55
"main": "index.js",
66
"bin": {

src/expo-launcher.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -315,14 +315,6 @@ async function setup(previewUrl, _clean, authToken) {
315315
taskLogger.incrementProgress(0.5);
316316
const projectName = await getProjectName(previewUrl);
317317
const projectDir = `${global.rootDir}/wm-projects/${projectName.replace(/\s+/g, '_').replace(/\(/g, '_').replace(/\)/g, '_')}`;
318-
if (_clean) {
319-
clean(projectDir);
320-
if (isWindowsOS() && windowsPreviewDir) {
321-
clean(windowsPreviewDir);
322-
}
323-
} else {
324-
fs.mkdirpSync(getWmProjectDir(projectDir));
325-
}
326318
if (isWindowsOS()) {
327319
try {
328320
windowsPreviewDir = await getDestPathForWindows('preview', projectDir);
@@ -331,6 +323,14 @@ async function setup(previewUrl, _clean, authToken) {
331323
throw e;
332324
}
333325
}
326+
if (_clean) {
327+
clean(projectDir);
328+
if (isWindowsOS() && windowsPreviewDir) {
329+
clean(windowsPreviewDir);
330+
}
331+
} else {
332+
fs.mkdirpSync(getWmProjectDir(projectDir));
333+
}
334334
taskLogger.incrementProgress(0.5);
335335
taskLogger.succeed(previewSteps[0].succeed);
336336
taskLogger.resetProgressBar();

src/utils.js

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,30 +48,19 @@ async function isExpoWebPreviewContainer(previewUrl) {
4848
}
4949

5050
async function getDestPathForWindows(mode, projectDir = ''){
51-
const MAX_DIR_HASH_TRIES = 4;
5251
let destHash = '';
5352
let destPath = '';
54-
let tryCount = 0;
5553
let updatePath = '';
5654
let appendPath = '';
55+
5756
if(mode == 'preview') {
5857
updatePath = `${projectDir}/target/generated-expo-app`;
5958
} else if (mode == 'build'){
6059
appendPath = '/' ;
6160
}
62-
for (; tryCount < MAX_DIR_HASH_TRIES; tryCount++) {
63-
destHash = crypto.createHash("shake256", { outputLength: 1 }).update(updatePath).update(String(Date.now())).digest("hex");
64-
destPath = path.resolve(`${global.rootDir}/${mode}/` + destHash + appendPath);
65-
if (!fs.existsSync(destPath)) break;
66-
}
67-
if (tryCount === MAX_DIR_HASH_TRIES && fs.existsSync(destPath)) {
68-
logger.error({
69-
label: loggerLabel,
70-
message: `Could not create a directory under ${mode} folder after ` + MAX_DIR_HASH_TRIES + ' attempts. Please try again.'
71-
});
72-
taskLogger.fail(`Could not create a directory under ${mode} foder. Please try again.`);
73-
return;
74-
}
61+
62+
destHash = crypto.createHash("shake256", { outputLength: 1 }).update(updatePath).digest("hex");
63+
destPath = path.resolve(`${global.rootDir}/${mode}/` + destHash + appendPath);
7564
return destPath;
7665
}
7766

0 commit comments

Comments
 (0)