mirror of
https://github.com/AikidoSec/safe-chain.git
synced 2026-05-26 12:10:49 +00:00
Fix more documentation issues
This commit is contained in:
parent
dadb1a3fba
commit
2accf954ca
2 changed files with 23 additions and 5 deletions
|
|
@ -1,23 +1,37 @@
|
||||||
|
/**
|
||||||
|
* @typedef {Object} PackageDetail
|
||||||
|
* @property {string} name
|
||||||
|
* @property {string} version
|
||||||
|
* @property {string} type
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {Object} PipOption
|
||||||
|
* @property {string} name
|
||||||
|
* @property {number} numberOfParameters
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supported formats that will be returned:
|
* Supported formats that will be returned:
|
||||||
* - package_name (no version)
|
* - package_name (no version)
|
||||||
* - package_name==version (exact version)
|
* - package_name==version (exact version)
|
||||||
* - package_name===version (exact version, PEP 440)
|
* - package_name===version (exact version, PEP 440)
|
||||||
*
|
*
|
||||||
* "Ranges". Because they don't specify an exact version, the following formats are skipped and we will rely solely on the mitm scanner:
|
* Ranges: Because they don't specify an exact version, the following formats are skipped and we rely on the MITM scanner:
|
||||||
* - package_name>=version
|
* - package_name>=version
|
||||||
* - package_name<=version
|
* - package_name<=version
|
||||||
* - package_name>version
|
* - package_name>version
|
||||||
* - package_name<version
|
* - package_name<version
|
||||||
* - package_name~=version
|
* - package_name~=version
|
||||||
* - package_name!=version
|
* - package_name!=version
|
||||||
* - git+https://... (VCS URLs - returned without version)
|
* - git+https://... (VCS URLs)
|
||||||
* - -r requirements.txt (handled by flag skipping)
|
* - -r requirements.txt (handled by flag skipping)
|
||||||
*/
|
*
|
||||||
/**
|
|
||||||
* @param {string[]} args
|
* @param {string[]} args
|
||||||
|
* @returns {PackageDetail[]}
|
||||||
*/
|
*/
|
||||||
export function parsePackagesFromInstallArgs(args) {
|
export function parsePackagesFromInstallArgs(args) {
|
||||||
|
/** @type {PackageDetail[]} */
|
||||||
const packages = [];
|
const packages = [];
|
||||||
let skipNext = false;
|
let skipNext = false;
|
||||||
|
|
||||||
|
|
@ -53,6 +67,7 @@ export function parsePackagesFromInstallArgs(args) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} arg
|
* @param {string} arg
|
||||||
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
function isPipOptionWithParameter(arg) {
|
function isPipOptionWithParameter(arg) {
|
||||||
|
|
||||||
|
|
@ -108,6 +123,7 @@ function isPipOptionWithParameter(arg) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} spec
|
* @param {string} spec
|
||||||
|
* @returns {{ name: string, version: string } | null}
|
||||||
*/
|
*/
|
||||||
function parsePipSpec(spec) {
|
function parsePipSpec(spec) {
|
||||||
// Ignore obvious URLs and paths, rely on mitm scanner
|
// Ignore obvious URLs and paths, rely on mitm scanner
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ export const pipWheelCommand = "wheel";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string[]} args
|
* @param {string[]} args
|
||||||
|
* @returns {string | null}
|
||||||
*/
|
*/
|
||||||
export function getPipCommandForArgs(args) {
|
export function getPipCommandForArgs(args) {
|
||||||
if (!args || args.length === 0) {
|
if (!args || args.length === 0) {
|
||||||
|
|
@ -22,6 +23,7 @@ export function getPipCommandForArgs(args) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string[]} args
|
* @param {string[]} args
|
||||||
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
export function hasDryRunArg(args) {
|
export function hasDryRunArg(args) {
|
||||||
return args.some((arg) => arg === "--dry-run");
|
return args.some((arg) => arg === "--dry-run");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue