fix double import by using newContent
This commit is contained in:
parent
ef4134015c
commit
a4400a303d
|
@ -24,10 +24,11 @@ class File {
|
|||
// Only supported in Solidity
|
||||
return callback(null, content);
|
||||
}
|
||||
const regex = /import ["|']([-a-zA-Z0-9@:%_+.~#?&\/=]+)["|'];/g;
|
||||
const regex = /import ["']([-a-zA-Z0-9@:%_+.~#?&\/=]+)["'];/g;
|
||||
let matches;
|
||||
const filesToDownload = [];
|
||||
const pathWithoutFile = path.dirname(self.path);
|
||||
let newContent = content;
|
||||
while ((matches = regex.exec(content))) {
|
||||
const httpFileObj = utils.getExternalContractUrl(matches[1]);
|
||||
const fileObj = {
|
||||
|
@ -36,7 +37,7 @@ class File {
|
|||
};
|
||||
if (httpFileObj) {
|
||||
// Replace http import by filePath import in content
|
||||
content = content.replace(matches[1], httpFileObj.filePath);
|
||||
newContent = newContent.replace(matches[1], httpFileObj.filePath);
|
||||
|
||||
fileObj.fileRelativePath = httpFileObj.filePath;
|
||||
fileObj.url = httpFileObj.url;
|
||||
|
@ -49,7 +50,7 @@ class File {
|
|||
|
||||
if (self.downloadedImports) {
|
||||
// We already parsed this file
|
||||
return callback(null, content);
|
||||
return callback(null, newContent);
|
||||
}
|
||||
self.downloadedImports = true;
|
||||
async.each(filesToDownload, ((fileObj, eachCb) => {
|
||||
|
@ -57,7 +58,7 @@ class File {
|
|||
eachCb();
|
||||
});
|
||||
}), (err) => {
|
||||
callback(err, content);
|
||||
callback(err, newContent);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue