Skip to content

Commit a78d8b0

Browse files
committed
fix support for 1.0 versions of web3
1 parent f417026 commit a78d8b0

File tree

4 files changed

+65
-28
lines changed

4 files changed

+65
-28
lines changed

lib/contracts/solcW.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class SolcW {
2929
solcProcess.send({action: 'loadCompiler', solcLocation: 'solc'});
3030
} else {
3131
let npm = new Npm({logger: this.logger});
32-
npm.getPackageVersion('solc', this.solcVersion, false, function(location) {
32+
npm.getPackageVersion('solc', this.solcVersion, false, false, function(location) {
3333
let requirePath = path.join(process.env.PWD, location);
3434
solcProcess.send({action: 'loadCompiler', solcLocation: requirePath});
3535
});

lib/core/config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ Config.prototype.loadFiles = function(files) {
257257
//readFiles.push(new File({filename: 'web3-' + web3Version + '.js', type: 'custom', resolver: function(callback) {
258258
readFiles.push(new File({filename: 'web3.js', type: 'custom', resolver: function(callback) {
259259
let npm = new Npm({logger: self.logger});
260-
npm.getPackageVersion('web3', web3Version, 'dist/web3.js', function(web3Content) {
260+
npm.getPackageVersion('web3', web3Version, 'dist/web3.min.js', true, function(web3Content) {
261261
callback(web3Content);
262262
});
263263
}}));

lib/pipeline/npm.js

Lines changed: 62 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ class Npm {
1212
this.logger = options.logger;
1313
}
1414

15-
getPackageVersion(packageName, version, returnContent, callback) {
15+
// TODO: callback should accept an error
16+
getPackageVersion(packageName, version, returnContent, getFromGit, callback) {
1617
let self = this;
1718
let npmRegistry = "https://registry.npmjs.org/" + packageName + "/" + version;
1819

@@ -25,6 +26,7 @@ class Npm {
2526
res.on('end', function () {
2627
let registryJSON = JSON.parse(body);
2728

29+
console.log(JSON.stringify(registryJSON));
2830
let tarball = registryJSON.dist.tarball;
2931

3032
var download = function(url, dest, cb) {
@@ -40,35 +42,70 @@ class Npm {
4042
});
4143
};
4244

43-
let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/';
45+
if (getFromGit) {
46+
let repoName = registryJSON.repository.url.replace("git+https://github.com/", "").replace(".git","");
47+
let gitHead = registryJSON.gitHead;
48+
let fileLocation = "https://raw.githubusercontent.com/" + repoName + "/" + gitHead + "/dist/web3.min.js";
4449

45-
if (fs.existsSync(packageDirectory + "/downloaded_package.tgz")) {
46-
if (returnContent) {
47-
let distFile = packageDirectory + returnContent;
48-
callback(fs.readFileSync(distFile).toString());
50+
let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/';
51+
if (fs.existsSync(packageDirectory + "/" + packageName + ".js")) {
52+
if (returnContent) {
53+
let distFile = packageDirectory + packageName + ".js";
54+
callback(fs.readFileSync(distFile).toString());
55+
} else {
56+
callback(packageDirectory);
57+
}
4958
} else {
50-
callback(packageDirectory);
59+
fs.mkdirpSync(packageDirectory);
60+
self.logger.info("downloading " + packageName + " " + version + "....");
61+
62+
download(tarball, packageDirectory + "/" + packageName + ".js", function() {
63+
o_fs.createReadStream(packageDirectory + "/" + packageName + ".js").pipe(
64+
tar.x({
65+
strip: 1,
66+
C: packageDirectory
67+
}).on('end', function() {
68+
if (returnContent) {
69+
let distFile = packageDirectory + packageName + ".js";
70+
callback(fs.readFileSync(distFile).toString());
71+
} else {
72+
callback(packageDirectory);
73+
}
74+
})
75+
);
76+
});
5177
}
78+
5279
} else {
53-
fs.mkdirpSync(packageDirectory);
54-
self.logger.info("downloading " + packageName + " " + version + "....");
55-
56-
download(tarball, packageDirectory + "/downloaded_package.tgz", function() {
57-
o_fs.createReadStream(packageDirectory + '/downloaded_package.tgz').pipe(
58-
tar.x({
59-
strip: 1,
60-
C: packageDirectory
61-
}).on('end', function() {
62-
if (returnContent) {
63-
let distFile = packageDirectory + returnContent;
64-
callback(fs.readFileSync(distFile).toString());
65-
} else {
66-
callback(packageDirectory);
67-
}
68-
})
69-
);
70-
});
7180

81+
let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/';
82+
if (fs.existsSync(packageDirectory + "/downloaded_package.tgz")) {
83+
if (returnContent) {
84+
let distFile = packageDirectory + returnContent;
85+
callback(fs.readFileSync(distFile).toString());
86+
} else {
87+
callback(packageDirectory);
88+
}
89+
} else {
90+
fs.mkdirpSync(packageDirectory);
91+
self.logger.info("downloading " + packageName + " " + version + "....");
92+
93+
download(tarball, packageDirectory + "/downloaded_package.tgz", function() {
94+
o_fs.createReadStream(packageDirectory + '/downloaded_package.tgz').pipe(
95+
tar.x({
96+
strip: 1,
97+
C: packageDirectory
98+
}).on('end', function() {
99+
if (returnContent) {
100+
let distFile = packageDirectory + returnContent;
101+
callback(fs.readFileSync(distFile).toString());
102+
} else {
103+
callback(packageDirectory);
104+
}
105+
})
106+
);
107+
});
108+
}
72109
}
73110

74111
});

test_app/config/contracts.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"default": {
33
"versions": {
4-
"web3.js": "0.20.0",
4+
"web3.js": "1.0.0-beta.18",
55
"solc": "0.4.11"
66
},
77
"deployment": {

0 commit comments

Comments
 (0)