|
3 | 3 | let utils = require('../utils/utils.js'); |
4 | 4 | let fs = require('../core/fs.js'); |
5 | 5 |
|
| 6 | +let PluginManager = require('live-plugin-manager').PluginManager; |
| 7 | + |
6 | 8 | class Npm { |
7 | 9 |
|
8 | 10 | constructor(options) { |
@@ -45,7 +47,23 @@ class Npm { |
45 | 47 | } |
46 | 48 | } |
47 | 49 |
|
| 50 | + |
48 | 51 | downloadFromNpm(registryJSON, packageName, version, returnContent, callback) { |
| 52 | + let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/'; |
| 53 | + |
| 54 | + let manager = new PluginManager({pluginsPath: packageDirectory}); |
| 55 | + |
| 56 | + this.logger.info("downloading " + packageName + " " + version + "...."); |
| 57 | + manager.install(packageName, version).then((result) => { |
| 58 | + if (returnContent) { |
| 59 | + callback(null , fs.readFileSync(result.mainFile).toString()); |
| 60 | + } else { |
| 61 | + callback(null , result.location); |
| 62 | + } |
| 63 | + }); |
| 64 | + } |
| 65 | + |
| 66 | + old_downloadFromNpm(registryJSON, packageName, version, returnContent, callback) { |
49 | 67 | let tarball = registryJSON.dist.tarball; |
50 | 68 |
|
51 | 69 | let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/'; |
@@ -79,19 +97,19 @@ class Npm { |
79 | 97 | let npmRegistry = "https://registry.npmjs.org/" + packageName + "/" + version; |
80 | 98 | let packageDirectory = './.embark/versions/' + packageName + '/' + version + '/'; |
81 | 99 |
|
82 | | - if (fs.existsSync(packageDirectory) && fs.existsSync(packageDirectory + "package.json")) { |
83 | | - let content; |
84 | | - if (getFromGit && returnContent) { |
85 | | - let distFile = packageDirectory + packageName + ".js"; |
86 | | - content = fs.readFileSync(distFile).toString(); |
87 | | - } else if (returnContent) { |
88 | | - let distFile = packageDirectory + returnContent; |
89 | | - content = fs.readFileSync(distFile).toString(); |
90 | | - } else { |
91 | | - content = packageDirectory; |
92 | | - } |
93 | | - return callback(null, content); |
94 | | - } |
| 100 | + //if (fs.existsSync(packageDirectory) && fs.existsSync(packageDirectory + "package.json")) { |
| 101 | + // let content; |
| 102 | + // if (getFromGit && returnContent) { |
| 103 | + // let distFile = packageDirectory + packageName + ".js"; |
| 104 | + // content = fs.readFileSync(distFile).toString(); |
| 105 | + // } else if (returnContent) { |
| 106 | + // let distFile = packageDirectory + returnContent; |
| 107 | + // content = fs.readFileSync(distFile).toString(); |
| 108 | + // } else { |
| 109 | + // content = packageDirectory; |
| 110 | + // } |
| 111 | + // return callback(null, content); |
| 112 | + //} |
95 | 113 |
|
96 | 114 | utils.httpsGet(npmRegistry, function (err, body) { |
97 | 115 | if (err) { |
|
0 commit comments