New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

detect-node-support

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

detect-node-support - npm Package Compare versions

Comparing version 1.4.0-alpha.1 to 1.4.0

47

lib/loader/repository.js
'use strict';
const GitUrlParse = require('git-url-parse');
const Wreck = require('@hapi/wreck');
const Logger = require('../logger');
const OctokitWrapper = require('./octokit-wrapper');
const Utils = require('../utils');

@@ -33,3 +33,3 @@

},
loadFile: async (filename, options = {}) => {
loadFile: async (filename, options) => {

@@ -40,39 +40,24 @@ if (parsedRepository.source !== 'github.com') {

const resource = `${parsedRepository.full_name}:${filename}@HEAD`;
Logger.log(['loader'], 'Loading: %s', resource);
const url = `https://raw.githubusercontent.com/${parsedRepository.full_name}/HEAD/${filename}`;
Logger.log(['loader'], 'Loading: %s', url);
const octokit = OctokitWrapper.create();
if (options === undefined && internals.cache.has(url)) {
Logger.log(['loader'], 'From cache: %s', url);
return internals.cache.get(url);
}
try {
const { payload } = await Wreck.get(url, options);
let result;
if (internals.cache.has(resource)) {
Logger.log(['loader'], 'From cache: %s', resource);
result = internals.cache.get(resource);
if (options === undefined) {
internals.cache.set(url, payload);
}
else {
result = await octokit.repos.getContent({
owner: parsedRepository.owner,
repo: parsedRepository.name,
path: filename
});
}
internals.cache.set(resource, result);
Logger.log(['loader'], 'Loaded: %s', resource);
const content = Buffer.from(result.data.content, 'base64');
if (options.json) {
// @todo: cache parsed JSON, parse YAML
return JSON.parse(content.toString());
}
return content;
Logger.log(['loader'], 'Loaded: %s', url);
return payload;
}
catch (err) {
if (err.status === 404) {
Logger.log(['loader'], 'Not found: %s', resource);
if (err.data && err.data.res.statusCode === 404) {
Logger.log(['loader'], 'Not found: %s', url);
const error = new Error(`${repository} does not contain a ${filename}`);

@@ -83,3 +68,3 @@ error.code = 'ENOENT';

Logger.error(['loader'], 'Failed to load: %s', resource);
Logger.error(['loader'], 'Failed to load: %s', url);
throw err;

@@ -86,0 +71,0 @@ }

@@ -48,3 +48,3 @@ 'use strict';

const packageJson = await loadFile('package.json', { json: true });
const packageJson = await loadFile('package.json', { json: 'force' });

@@ -51,0 +51,0 @@ const meta = {

{
"name": "detect-node-support",
"version": "1.4.0-alpha.1",
"version": "1.4.0",
"description": "List the Node.js versions supported by the package/repository",

@@ -38,5 +38,4 @@ "bin": {

"dependencies": {
"@hapi/wreck": "^17.0.0",
"@npmcli/arborist": "0.0.0-pre.21",
"@octokit/plugin-throttling": "^3.2.2",
"@octokit/rest": "^18.0.0",
"@pkgjs/nv": "0.0.3",

@@ -43,0 +42,0 @@ "debug": "^4.1.1",

@@ -5,6 +5,2 @@ # detect-node-support

## Setup
No setup is required, however if you do not have a `GH_TOKEN` environment limit, you will likely hit a request rate limit on Github API, which may result in very long wait times for retries.
## Usage (command line)

@@ -11,0 +7,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc