|
1 | 1 | "use strict"; |
2 | 2 | var fs = require("fs"), |
3 | | - path = require("path"), |
4 | | - child_process = require("child_process"); |
5 | | - |
6 | | -var semver; |
| 3 | + path = require("path"); |
7 | 4 |
|
8 | 5 | try { |
9 | 6 | // installed as a peer dependency |
@@ -113,49 +110,6 @@ exports.inspect = function inspect(object, indent) { |
113 | 110 | return sb.join("\n"); |
114 | 111 | }; |
115 | 112 |
|
116 | | -function modExists(name, version) { |
117 | | - for (var i = 0; i < module.paths.length; ++i) { |
118 | | - try { |
119 | | - var pkg = JSON.parse(fs.readFileSync(path.join(module.paths[i], name, "package.json"))); |
120 | | - return semver |
121 | | - ? semver.satisfies(pkg.version, version) |
122 | | - : parseInt(pkg.version, 10) === parseInt(version.replace(/^[\^~]/, ""), 10); // used for semver only |
123 | | - } catch (e) {/**/} |
124 | | - } |
125 | | - return false; |
126 | | -} |
127 | | - |
128 | | -function modInstall(install) { |
129 | | - child_process.execSync("npm --silent install " + (typeof install === "string" ? install : install.join(" ")), { |
130 | | - cwd: __dirname, |
131 | | - stdio: "ignore" |
132 | | - }); |
133 | | -} |
134 | | - |
135 | | -exports.setup = function() { |
136 | | - var pkg = require(path.join(__dirname, "..", "package.json")); |
137 | | - var version = pkg.dependencies["semver"] || pkg.devDependencies["semver"]; |
138 | | - if (!modExists("semver", version)) { |
139 | | - process.stderr.write("installing semver@" + version + "\n"); |
140 | | - modInstall("semver@" + version); |
141 | | - } |
142 | | - semver = require("semver"); // used from now on for version comparison |
143 | | - var install = []; |
144 | | - pkg.cliDependencies.forEach(function(name) { |
145 | | - if (name === "semver") |
146 | | - return; |
147 | | - version = pkg.dependencies[name] || pkg.devDependencies[name]; |
148 | | - if (!modExists(name, version)) { |
149 | | - process.stderr.write("installing " + name + "@" + version + "\n"); |
150 | | - install.push(name + "@" + version); |
151 | | - } |
152 | | - }); |
153 | | - require("../scripts/postinstall"); // emit postinstall warning, if any |
154 | | - if (!install.length) |
155 | | - return; |
156 | | - modInstall(install); |
157 | | -}; |
158 | | - |
159 | 113 | exports.wrap = function(OUTPUT, options) { |
160 | 114 | var name = options.wrap || "default"; |
161 | 115 | var wrap; |
|
0 commit comments