Skip to content

Commit cd6657d

Browse files
authored
Merge pull request #3 from xgeek-net/dev
v0.1.3 beta release
2 parents b4734d7 + fbaa590 commit cd6657d

File tree

4 files changed

+49
-20
lines changed

4 files changed

+49
-20
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ Be less busy, less mistake in Salesforce metadata deploy.
33

44
![pipeline main - 1280](https://user-images.githubusercontent.com/5466487/43767123-31732402-9a6f-11e8-9d31-c3a40d4eaff8.png)
55

6-
76
## Overview
87
Pipeline is a metadata deploy app for Salesforce, supports:<br /><br />
98
・Quickly making Changeset from Excel/CSV, in 10 seconds or less! (Coming soon)<br />

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "pipeline",
33
"description": "Be less busy, less mistake in Salesforce metadata deploy",
4-
"version": "0.1.2-beta",
4+
"version": "0.1.3-beta",
55
"private": false,
66
"main": "src/main.js",
77
"dependencies": {

src/class/SfdcApi.js

Lines changed: 43 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ class SfdcApi {
6363
});
6464
}
6565
} else {
66+
// Set Default value
67+
self.conn.metadata.pollTimeout = 300000; // 5 mins
68+
6669
return resolve(true);
6770
}
6871
});
@@ -425,23 +428,11 @@ class SfdcApi {
425428
if(err) return reject(err);
426429
if(result.success=='true') {
427430
self.logger('[SFDC] Retrieve metadata Done.');
428-
//self.logger('[SFDC] packagePath DecompressZip .' + packagePath + ' > ' + metaPath + ' > ' + (fs.existsSync(packagePath)));
431+
// self.logger('[SFDC] packagePath DecompressZip .' + packagePath + ' > ' + metaPath + ' > ' + (fs.statSync(packagePath).size));
429432
if(!fs.existsSync(packagePath)) return reject(new Error('Metadata zip not found'));
430-
const unzipper = new DecompressZip(packagePath)
431-
unzipper.on('error', function (err) {
432-
//self.logger('[SFDC] extract err.' + err);
433+
self.extractMetaZip(packagePath, metaPath, 0, function(err, success) {
433434
if(err) return reject(err);
434-
});
435-
unzipper.on('extract', function (log) {
436-
//self.logger('[SFDC]Finished extracting' + log);
437-
rimraf(packagePath, function(){});
438-
return resolve(true);
439-
});
440-
unzipper.extract({
441-
path: metaPath,
442-
filter: function (file) {
443-
return file.type !== "SymbolicLink";
444-
}
435+
return resolve(success);
445436
});
446437
} else {
447438
return reject(new Error('Retrieve metadata failed'));
@@ -450,6 +441,43 @@ class SfdcApi {
450441
retrieveResult.stream().pipe(zipstream);
451442
});
452443
}
444+
445+
// Extract metadata zip file to src folder
446+
// Metadata api may zip file cost sevaral ms
447+
extractMetaZip(sourceZipPath, targetPath, presize, callback) {
448+
const self = this;
449+
const fileinfo = fs.statSync(sourceZipPath);
450+
if(fileinfo.size == 0) {
451+
// Is written
452+
return setTimeout(function(){
453+
self.extractMetaZip(sourceZipPath, targetPath, presize, callback)
454+
}, 500);
455+
}
456+
if(presize !== fileinfo.size) {
457+
// Maybe written
458+
presize = fileinfo.size;
459+
return setTimeout(function(){
460+
self.extractMetaZip(sourceZipPath, targetPath, presize, callback)
461+
}, 500);
462+
}
463+
// Ready to extract
464+
const unzipper = new DecompressZip(sourceZipPath)
465+
unzipper.on('error', function (err) {
466+
// console.log('[SFDC] extract err.' + err);
467+
if(err) return callback(err);
468+
});
469+
unzipper.on('extract', function (log) {
470+
// console.log('[SFDC]Finished extracting' + log);
471+
rimraf(sourceZipPath, function(){});
472+
return callback(null, true);
473+
});
474+
unzipper.extract({
475+
path: targetPath,
476+
filter: function (file) {
477+
return file.type !== "SymbolicLink";
478+
}
479+
});
480+
}
453481

454482
}
455483

src/main.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ const connect = new Connect();
2323
const pipeline = new Pipeline();
2424

2525
// Raven
26-
const CLIENT = require('./config/client');
27-
const Raven = require('raven');
28-
Raven.config(CLIENT.RAVEN_CLIENT_ID).install();
26+
if(process.env.NODE_ENV !== 'development') {
27+
const CLIENT = require('./config/client');
28+
const Raven = require('raven');
29+
Raven.config(CLIENT.RAVEN_CLIENT_ID).install();
30+
}
2931

3032
let mainWindow;
3133

0 commit comments

Comments
 (0)