@react-native-community/cli-tools
Advanced tools
Comparing version 4.2.2 to 4.4.0
@@ -6,4 +6,34 @@ "use strict"; | ||
}); | ||
exports.default = fetch; | ||
exports.fetchToTemp = exports.fetch = void 0; | ||
function os() { | ||
const data = _interopRequireWildcard(require("os")); | ||
os = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function path() { | ||
const data = _interopRequireWildcard(require("path")); | ||
path = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function fs() { | ||
const data = _interopRequireWildcard(require("fs")); | ||
fs = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _nodeFetch() { | ||
@@ -21,4 +51,10 @@ const data = _interopRequireDefault(require("node-fetch")); | ||
var _logger = _interopRequireDefault(require("./logger")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
async function unwrapFetchResult(response) { | ||
@@ -33,4 +69,36 @@ const data = await response.text(); | ||
} | ||
/** | ||
* Downloads the given `url` to the OS's temp folder and | ||
* returns the path to it. | ||
*/ | ||
async function fetch(url, options) { | ||
const fetchToTemp = url => { | ||
try { | ||
return new Promise((resolve, reject) => { | ||
const fileName = path().basename(url); | ||
const tmpDir = path().join(os().tmpdir(), fileName); | ||
(0, _nodeFetch().default)(url).then(result => { | ||
if (result.status >= 400) { | ||
return reject(`Fetch request failed with status ${result.status}`); | ||
} | ||
const dest = fs().createWriteStream(tmpDir); | ||
result.body.pipe(dest); | ||
result.body.on('end', () => { | ||
resolve(tmpDir); | ||
}); | ||
result.body.on('error', reject); | ||
}); | ||
}); | ||
} catch (e) { | ||
_logger.default.error(e); | ||
throw e; | ||
} | ||
}; | ||
exports.fetchToTemp = fetchToTemp; | ||
const fetch = async (url, options) => { | ||
const result = await (0, _nodeFetch().default)(url, options); | ||
@@ -48,4 +116,6 @@ const data = await unwrapFetchResult(result); | ||
}; | ||
} | ||
}; | ||
exports.fetch = fetch; | ||
//# sourceMappingURL=fetch.js.map |
@@ -11,3 +11,4 @@ "use strict"; | ||
getDefaultUserTerminal: true, | ||
fetch: true | ||
fetch: true, | ||
fetchToTemp: true | ||
}; | ||
@@ -41,5 +42,11 @@ Object.defineProperty(exports, "logger", { | ||
get: function () { | ||
return _fetch.default; | ||
return _fetch.fetch; | ||
} | ||
}); | ||
Object.defineProperty(exports, "fetchToTemp", { | ||
enumerable: true, | ||
get: function () { | ||
return _fetch.fetchToTemp; | ||
} | ||
}); | ||
@@ -54,3 +61,3 @@ var _logger = _interopRequireDefault(require("./logger")); | ||
var _fetch = _interopRequireDefault(require("./fetch")); | ||
var _fetch = require("./fetch"); | ||
@@ -57,0 +64,0 @@ var _errors = require("./errors"); |
@@ -8,6 +8,4 @@ "use strict"; | ||
var _fetch = _interopRequireDefault(require("./fetch")); | ||
var _fetch = require("./fetch"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/** | ||
@@ -32,3 +30,3 @@ * Copyright (c) Facebook, Inc. and its affiliates. | ||
data | ||
} = await (0, _fetch.default)(`http://localhost:${packagerPort}/status`); | ||
} = await (0, _fetch.fetch)(`http://localhost:${packagerPort}/status`); | ||
return data === 'packager-status:running' ? 'running' : 'unrecognized'; | ||
@@ -35,0 +33,0 @@ } catch (_error) { |
{ | ||
"name": "@react-native-community/cli-tools", | ||
"version": "4.2.2", | ||
"version": "4.4.0", | ||
"license": "MIT", | ||
@@ -13,3 +13,3 @@ "main": "build/index.js", | ||
"mime": "^2.4.1", | ||
"node-fetch": "^2.5.0" | ||
"node-fetch": "^2.6.0" | ||
}, | ||
@@ -19,3 +19,3 @@ "devDependencies": { | ||
"@types/mime": "^2.0.1", | ||
"@types/node-fetch": "^2.3.3" | ||
"@types/node-fetch": "^2.5.5" | ||
}, | ||
@@ -27,3 +27,3 @@ "files": [ | ||
], | ||
"gitHead": "6b443578000958cf15fc4233257f67200021ea63" | ||
"gitHead": "4824113076035e78883b8f0fb74aa2d40d873085" | ||
} |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
12227
329
3
Updatednode-fetch@^2.6.0