1- // here be dragons
2- // TODO: this is horrible and needs to be refactored ASAP
31let utils = require ( '../utils/utils.js' ) ;
42let fs = require ( '../core/fs.js' ) ;
53
@@ -11,58 +9,10 @@ class Npm {
119 this . logger = options . logger ;
1210 }
1311
14- downloadFromGit ( registryJSON , packageName , version , returnContent , callback ) {
15- console . dir ( "==== downloadFromGit " ) ;
16- console . dir ( arguments ) ;
17-
18-
19-
20- callback ( null , "" ) ;
21- }
22-
23- old_downloadFromGit ( registryJSON , packageName , version , returnContent , callback ) {
24- let repoName = registryJSON . repository . url . replace ( "git+https://github.com/" , "" ) . replace ( ".git" , "" ) ;
25- let gitHead = registryJSON . gitHead ;
26- console . dir ( registryJSON ) ;
27-
28- if ( ! gitHead ) {
29- this . logger . error ( "Could not download " + packageName + " " + version ) ;
30- return callback ( "error" ) ;
31- }
32-
33- let fileLocation = "https://raw.githubusercontent.com/" + repoName + "/" + gitHead + "/dist/web3.min.js" ;
34- console . dir ( "fileLocation is " + fileLocation ) ;
35-
36- let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/' ;
37- console . dir ( "packageDirectory is " + packageDirectory ) ;
38- if ( fs . existsSync ( packageDirectory + "/" + packageName + ".js" ) ) {
39- if ( returnContent ) {
40- let distFile = packageDirectory + packageName + ".js" ;
41- callback ( null , fs . readFileSync ( distFile ) . toString ( ) ) ;
42- } else {
43- callback ( null , packageDirectory ) ;
44- }
45- } else {
46- fs . mkdirpSync ( packageDirectory ) ;
47- this . logger . info ( "downloading " + packageName + " " + version + "...." ) ;
48-
49- utils . downloadFile ( fileLocation , packageDirectory + "/" + packageName + ".js" , function ( ) {
50- utils . extractTar ( packageDirectory + "/" + packageName + ".js" , packageDirectory , function ( ) {
51- if ( returnContent ) {
52- let distFile = packageDirectory + packageName + ".js" ;
53- callback ( null , fs . readFileSync ( distFile ) . toString ( ) ) ;
54- } else {
55- callback ( null , packageDirectory ) ;
56- }
57- } ) ;
58- } ) ;
59- }
60- }
61-
62-
63- downloadFromNpm ( packageName , version , returnContent , callback ) {
12+ getPackageVersion ( packageName , version , callback ) {
13+ let self = this ;
14+ let npmRegistry = "https://registry.npmjs.org/" + packageName + "/" + version ;
6415 let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/' ;
65- console . dir ( "packageDirectory: " + packageDirectory ) ;
6616
6717 let manager = new PluginManager ( { pluginsPath : packageDirectory } ) ;
6818
@@ -72,86 +22,8 @@ class Npm {
7222
7323 this . logger . info ( "downloading " + packageName + " " + version + "...." ) ;
7424 manager . install ( packageName , version ) . then ( ( result ) => {
75- console . dir ( "== result" ) ;
76- console . dir ( result ) ;
77- if ( returnContent ) {
78- callback ( null , fs . readFileSync ( result . mainFile ) . toString ( ) ) ;
79- } else {
80- callback ( null , result . location ) ;
81- }
82- } ) . catch ( ( error ) => {
83- console . dir ( "======> error" ) ;
84- console . dir ( error ) ;
85- callback ( error ) ;
86- } ) ;
87- }
88-
89- old_downloadFromNpm ( registryJSON , packageName , version , returnContent , callback ) {
90- let tarball = registryJSON . dist . tarball ;
91-
92- let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/' ;
93- if ( fs . existsSync ( packageDirectory + "/downloaded_package.tgz" ) && fs . existsSync ( packageDirectory + "package.json" ) ) {
94- if ( returnContent ) {
95- let distFile = packageDirectory + returnContent ;
96- callback ( null , fs . readFileSync ( distFile ) . toString ( ) ) ;
97- } else {
98- callback ( null , packageDirectory ) ;
99- }
100- } else {
101- fs . mkdirpSync ( packageDirectory ) ;
102- this . logger . info ( "downloading " + packageName + " " + version + "...." ) ;
103-
104- utils . downloadFile ( tarball , packageDirectory + "/downloaded_package.tgz" , function ( ) {
105- utils . extractTar ( packageDirectory + "/downloaded_package.tgz" , packageDirectory , function ( ) {
106- if ( returnContent ) {
107- let distFile = packageDirectory + returnContent ;
108- callback ( null , fs . readFileSync ( distFile ) . toString ( ) ) ;
109- } else {
110- callback ( null , packageDirectory ) ;
111- }
112- } ) ;
113- } ) ;
114- }
115- }
116-
117- // TODO: callback should accept an error
118- getPackageVersion ( packageName , version , returnContent , getFromGit , callback ) {
119- console . dir ( arguments ) ;
120- let self = this ;
121- let npmRegistry = "https://registry.npmjs.org/" + packageName + "/" + version ;
122- let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/' ;
123-
124- self . downloadFromNpm ( packageName , version , returnContent , callback ) ;
125-
126- //if (fs.existsSync(packageDirectory) && fs.existsSync(packageDirectory + "package.json")) {
127- // let content;
128- // if (getFromGit && returnContent) {
129- // let distFile = packageDirectory + packageName + ".js";
130- // content = fs.readFileSync(distFile).toString();
131- // } else if (returnContent) {
132- // let distFile = packageDirectory + returnContent;
133- // content = fs.readFileSync(distFile).toString();
134- // } else {
135- // content = packageDirectory;
136- // }
137- // return callback(null, content);
138- //}
139-
140- //utils.httpsGet(npmRegistry, function (err, body) {
141- // if (err) {
142- // if (err.code === 'ENOTFOUND') {
143- // return callback("can't reach " + err.hostname + " to download " + packageName + " " + version + " - are you connected to the internet?");
144- // }
145- // return callback(err);
146- // }
147- // let registryJSON = JSON.parse(body);
148-
149- // if (getFromGit) {
150- // self.downloadFromGit(registryJSON, packageName, version, returnContent, callback);
151- // } else {
152- // self.downloadFromNpm(registryJSON, packageName, version, returnContent, callback);
153- // }
154- //});
25+ callback ( null , result . location ) ;
26+ } ) . catch ( callback ) ;
15527 }
15628}
15729
0 commit comments