mirror of
https://github.com/AikidoSec/safe-chain.git
synced 2026-05-26 12:10:49 +00:00
Merge pull request #250 from AikidoSec/bug/py-flag-warning
Emit deprecation warning when --include-python flag is used
This commit is contained in:
commit
9db8a2cc24
5 changed files with 107 additions and 2 deletions
|
|
@ -1,3 +1,5 @@
|
|||
import { ui } from "../environment/userInteraction.js";
|
||||
|
||||
/**
|
||||
* @type {{loggingLevel: string | undefined, skipMinimumPackageAge: boolean | undefined, minimumPackageAgeHours: string | undefined}}
|
||||
*/
|
||||
|
|
@ -33,7 +35,7 @@ export function initializeCliArguments(args) {
|
|||
setLoggingLevel(safeChainArgs);
|
||||
setSkipMinimumPackageAge(safeChainArgs);
|
||||
setMinimumPackageAgeHours(safeChainArgs);
|
||||
|
||||
checkDeprecatedPythonFlag(args);
|
||||
return remainingArgs;
|
||||
}
|
||||
|
||||
|
|
@ -120,3 +122,17 @@ function hasFlagArg(args, flagName) {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Emits a deprecation warning for legacy --include-python flag
|
||||
*
|
||||
* @param {string[]} args
|
||||
* @returns {void}
|
||||
*/
|
||||
export function checkDeprecatedPythonFlag(args) {
|
||||
if (hasFlagArg(args, "--include-python")) {
|
||||
ui.writeWarning(
|
||||
"--include-python is deprecated and ignored. Python tooling is included by default."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import {
|
|||
getSkipMinimumPackageAge,
|
||||
getMinimumPackageAgeHours,
|
||||
} from "./cliArguments.js";
|
||||
import { ui } from "../environment/userInteraction.js";
|
||||
|
||||
describe("initializeCliArguments", () => {
|
||||
it("should return all args when no safe-chain args are present", () => {
|
||||
|
|
@ -271,4 +272,40 @@ describe("initializeCliArguments", () => {
|
|||
|
||||
assert.strictEqual(getMinimumPackageAgeHours(), "-24");
|
||||
});
|
||||
|
||||
it("should warn on deprecated --include-python for setup", () => {
|
||||
const warnings = [];
|
||||
const originalWriteWarning = ui.writeWarning;
|
||||
ui.writeWarning = (msg, ..._rest) => {
|
||||
warnings.push(String(msg));
|
||||
};
|
||||
try {
|
||||
const argv = ["node", "safe-chain", "setup", "--include-python"];
|
||||
initializeCliArguments(argv);
|
||||
assert.ok(
|
||||
warnings.some((m) => m.includes("--include-python is deprecated")),
|
||||
"Expected a deprecation warning for --include-python in setup"
|
||||
);
|
||||
} finally {
|
||||
ui.writeWarning = originalWriteWarning;
|
||||
}
|
||||
});
|
||||
|
||||
it("should warn on deprecated --include-python for setup-ci", () => {
|
||||
const warnings = [];
|
||||
const originalWriteWarning = ui.writeWarning;
|
||||
ui.writeWarning = (msg, ..._rest) => {
|
||||
warnings.push(String(msg));
|
||||
};
|
||||
try {
|
||||
const argv = ["node", "safe-chain", "setup-ci", "--include-python"];
|
||||
initializeCliArguments(argv);
|
||||
assert.ok(
|
||||
warnings.some((m) => m.includes("--include-python is deprecated")),
|
||||
"Expected a deprecation warning for --include-python in setup-ci"
|
||||
);
|
||||
} finally {
|
||||
ui.writeWarning = originalWriteWarning;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue