socket 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +182 -179
- package/dist/cli.js.map +1 -1
- package/dist/constants.js +3 -3
- package/dist/constants.js.map +1 -1
- package/dist/shadow-npm-bin.js +3 -4
- package/dist/shadow-npm-bin.js.map +1 -1
- package/dist/types/commands/fix/git.d.mts.map +1 -1
- package/dist/types/commands/fix/open-pr.d.mts.map +1 -1
- package/dist/types/commands/json/output-cmd-json.d.mts.map +1 -1
- package/dist/types/commands/manifest/cmd-manifest-gradle.d.mts.map +1 -1
- package/dist/types/commands/manifest/cmd-manifest-kotlin.d.mts.map +1 -1
- package/dist/types/commands/manifest/cmd-manifest-scala.d.mts.map +1 -1
- package/dist/types/commands/manifest/detect-manifest-actions.d.mts +1 -1
- package/dist/types/commands/manifest/detect-manifest-actions.d.mts.map +1 -1
- package/dist/types/commands/manifest/generate_auto_manifest.d.mts.map +1 -1
- package/dist/types/commands/optimize/ls-by-agent.d.mts.map +1 -1
- package/dist/types/commands/scan/suggest_branch_slug.d.mts.map +1 -1
- package/dist/types/commands/wrapper/remove-socket-wrapper.d.mts +1 -1
- package/dist/types/commands/wrapper/remove-socket-wrapper.d.mts.map +1 -1
- package/dist/types/shadow/npm/bin.d.mts.map +1 -1
- package/dist/types/utils/coana.d.mts.map +1 -1
- package/dist/types/utils/fs.d.mts +11 -1
- package/dist/types/utils/fs.d.mts.map +1 -1
- package/dist/types/utils/glob.d.mts.map +1 -1
- package/dist/types/utils/package-environment.d.mts.map +1 -1
- package/dist/types/utils/path-resolve.d.mts.map +1 -1
- package/dist/types/utils/socketjson.d.mts +1 -1
- package/dist/types/utils/socketjson.d.mts.map +1 -1
- package/dist/utils.js +34 -30
- package/dist/utils.js.map +1 -1
- package/dist/vendor.js +9 -9
- package/external/@coana-tech/cli/cli.mjs +16 -5
- package/external/@socketsecurity/registry/lib/spawn.js +47 -24
- package/package.json +6 -6
package/dist/cli.js
CHANGED
|
@@ -959,8 +959,8 @@ async function fetchReportData(orgSlug, scanId, includeLicensePolicy) {
|
|
|
959
959
|
return sockSdkResult;
|
|
960
960
|
}
|
|
961
961
|
const sockSdk = sockSdkResult.data;
|
|
962
|
-
let
|
|
963
|
-
let
|
|
962
|
+
let policyStatus = 'requested...';
|
|
963
|
+
let scanStatus = 'requested...';
|
|
964
964
|
let finishedFetching = false;
|
|
965
965
|
|
|
966
966
|
// Lazily access constants.spinner.
|
|
@@ -989,10 +989,10 @@ async function fetchReportData(orgSlug, scanId, includeLicensePolicy) {
|
|
|
989
989
|
if (!result.ok) {
|
|
990
990
|
return result;
|
|
991
991
|
}
|
|
992
|
-
const
|
|
992
|
+
const ndJsonString = result.data;
|
|
993
993
|
|
|
994
994
|
// This is nd-json; each line is a json object.
|
|
995
|
-
const lines =
|
|
995
|
+
const lines = ndJsonString.split('\n').filter(Boolean);
|
|
996
996
|
let ok = true;
|
|
997
997
|
const data = lines.map(line => {
|
|
998
998
|
try {
|
|
@@ -1004,13 +1004,13 @@ async function fetchReportData(orgSlug, scanId, includeLicensePolicy) {
|
|
|
1004
1004
|
}
|
|
1005
1005
|
});
|
|
1006
1006
|
if (ok) {
|
|
1007
|
-
updateScan(
|
|
1007
|
+
updateScan('success');
|
|
1008
1008
|
return {
|
|
1009
1009
|
ok: true,
|
|
1010
1010
|
data
|
|
1011
1011
|
};
|
|
1012
1012
|
}
|
|
1013
|
-
updateScan(
|
|
1013
|
+
updateScan('received invalid JSON response');
|
|
1014
1014
|
return {
|
|
1015
1015
|
ok: false,
|
|
1016
1016
|
message: 'Invalid API response',
|
|
@@ -1024,14 +1024,14 @@ async function fetchReportData(orgSlug, scanId, includeLicensePolicy) {
|
|
|
1024
1024
|
}
|
|
1025
1025
|
updateProgress();
|
|
1026
1026
|
const [scan, securityPolicy] = await Promise.all([fetchScanResult().catch(e => {
|
|
1027
|
-
updateScan(
|
|
1027
|
+
updateScan('failure; unknown blocking problem occurred');
|
|
1028
1028
|
return {
|
|
1029
1029
|
ok: false,
|
|
1030
1030
|
message: 'Unexpected API problem',
|
|
1031
1031
|
cause: `We encountered an unexpected problem while requesting the Scan from the API: ${e?.message || '(no error message found)'}${e?.cause ? ` (cause: ${e.cause})` : ''}`
|
|
1032
1032
|
};
|
|
1033
1033
|
}), fetchSecurityPolicy().catch(e => {
|
|
1034
|
-
updatePolicy(
|
|
1034
|
+
updatePolicy('failure; unknown blocking problem occurred');
|
|
1035
1035
|
return {
|
|
1036
1036
|
ok: false,
|
|
1037
1037
|
message: 'Unexpected API problem',
|
|
@@ -1487,7 +1487,7 @@ async function outputCreateNewScan(result, outputKind, interactive) {
|
|
|
1487
1487
|
async function detectManifestActions(
|
|
1488
1488
|
// Passing in null means we attempt detection for every supported language
|
|
1489
1489
|
// regardless of local socket.json status. Sometimes we want that.
|
|
1490
|
-
|
|
1490
|
+
sockJson, cwd = process.cwd()) {
|
|
1491
1491
|
const output = {
|
|
1492
1492
|
cdxgen: false,
|
|
1493
1493
|
// TODO
|
|
@@ -1496,21 +1496,21 @@ socketJson, cwd = process.cwd()) {
|
|
|
1496
1496
|
gradle: false,
|
|
1497
1497
|
sbt: false
|
|
1498
1498
|
};
|
|
1499
|
-
if (
|
|
1499
|
+
if (sockJson?.defaults?.manifest?.sbt?.disabled) {
|
|
1500
1500
|
debug.debugLog('[DEBUG] - sbt auto-detection is disabled in socket.json');
|
|
1501
1501
|
} else if (fs$1.existsSync(path.join(cwd, 'build.sbt'))) {
|
|
1502
1502
|
debug.debugLog('[DEBUG] - Detected a Scala sbt build file');
|
|
1503
1503
|
output.sbt = true;
|
|
1504
1504
|
output.count += 1;
|
|
1505
1505
|
}
|
|
1506
|
-
if (
|
|
1506
|
+
if (sockJson?.defaults?.manifest?.gradle?.disabled) {
|
|
1507
1507
|
debug.debugLog('[DEBUG] - gradle auto-detection is disabled in socket.json');
|
|
1508
1508
|
} else if (fs$1.existsSync(path.join(cwd, 'gradlew'))) {
|
|
1509
1509
|
debug.debugLog('[DEBUG] - Detected a gradle build file');
|
|
1510
1510
|
output.gradle = true;
|
|
1511
1511
|
output.count += 1;
|
|
1512
1512
|
}
|
|
1513
|
-
if (
|
|
1513
|
+
if (sockJson?.defaults?.manifest?.conda?.disabled) {
|
|
1514
1514
|
debug.debugLog('[DEBUG] - conda auto-detection is disabled in socket.json');
|
|
1515
1515
|
} else {
|
|
1516
1516
|
const envyml = path.join(cwd, 'environment.yml');
|
|
@@ -1922,41 +1922,41 @@ async function generateAutoManifest({
|
|
|
1922
1922
|
outputKind,
|
|
1923
1923
|
verbose
|
|
1924
1924
|
}) {
|
|
1925
|
-
const
|
|
1925
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
1926
1926
|
if (verbose) {
|
|
1927
|
-
logger.logger.info('Using this socket.json for defaults:',
|
|
1927
|
+
logger.logger.info('Using this socket.json for defaults:', sockJson);
|
|
1928
1928
|
}
|
|
1929
|
-
if (!
|
|
1929
|
+
if (!sockJson?.defaults?.manifest?.sbt?.disabled && detected.sbt) {
|
|
1930
1930
|
logger.logger.log('Detected a Scala sbt build, generating pom files with sbt...');
|
|
1931
1931
|
await convertSbtToMaven({
|
|
1932
1932
|
// Note: `sbt` is more likely to be resolved against PATH env
|
|
1933
|
-
bin:
|
|
1933
|
+
bin: sockJson.defaults?.manifest?.sbt?.bin ?? 'sbt',
|
|
1934
1934
|
cwd,
|
|
1935
|
-
out:
|
|
1936
|
-
sbtOpts:
|
|
1937
|
-
verbose: Boolean(
|
|
1935
|
+
out: sockJson.defaults?.manifest?.sbt?.outfile ?? './socket.sbt.pom.xml',
|
|
1936
|
+
sbtOpts: sockJson.defaults?.manifest?.sbt?.sbtOpts?.split(' ').map(s => s.trim()).filter(Boolean) ?? [],
|
|
1937
|
+
verbose: Boolean(sockJson.defaults?.manifest?.sbt?.verbose)
|
|
1938
1938
|
});
|
|
1939
1939
|
}
|
|
1940
|
-
if (!
|
|
1940
|
+
if (!sockJson?.defaults?.manifest?.gradle?.disabled && detected.gradle) {
|
|
1941
1941
|
logger.logger.log('Detected a gradle build (Gradle, Kotlin, Scala), running default gradle generator...');
|
|
1942
1942
|
await convertGradleToMaven({
|
|
1943
1943
|
// Note: `gradlew` is more likely to be resolved against cwd
|
|
1944
1944
|
// Note: .resolve() wont butcher an absolute path
|
|
1945
1945
|
// TODO: `gradlew` (or anything else given) may want to resolve against PATH
|
|
1946
|
-
bin:
|
|
1946
|
+
bin: sockJson.defaults?.manifest?.gradle?.bin ? path.resolve(cwd, sockJson.defaults.manifest.gradle.bin) : path.join(cwd, 'gradlew'),
|
|
1947
1947
|
cwd,
|
|
1948
|
-
verbose: Boolean(
|
|
1949
|
-
gradleOpts:
|
|
1948
|
+
verbose: Boolean(sockJson.defaults?.manifest?.gradle?.verbose),
|
|
1949
|
+
gradleOpts: sockJson.defaults?.manifest?.gradle?.gradleOpts?.split(' ').map(s => s.trim()).filter(Boolean) ?? []
|
|
1950
1950
|
});
|
|
1951
1951
|
}
|
|
1952
|
-
if (!
|
|
1952
|
+
if (!sockJson?.defaults?.manifest?.conda?.disabled && detected.conda) {
|
|
1953
1953
|
logger.logger.log('Detected an environment.yml file, running default Conda generator...');
|
|
1954
1954
|
await handleManifestConda({
|
|
1955
1955
|
cwd,
|
|
1956
|
-
filename:
|
|
1956
|
+
filename: sockJson.defaults?.manifest?.conda?.infile ?? 'environment.yml',
|
|
1957
1957
|
outputKind,
|
|
1958
|
-
out:
|
|
1959
|
-
verbose: Boolean(
|
|
1958
|
+
out: sockJson.defaults?.manifest?.conda?.outfile ?? 'requirements.txt',
|
|
1959
|
+
verbose: Boolean(sockJson.defaults?.manifest?.conda?.verbose)
|
|
1960
1960
|
});
|
|
1961
1961
|
}
|
|
1962
1962
|
}
|
|
@@ -1982,8 +1982,8 @@ async function handleCreateNewScan({
|
|
|
1982
1982
|
}) {
|
|
1983
1983
|
if (autoManifest) {
|
|
1984
1984
|
logger.logger.info('Auto generating manifest files ...');
|
|
1985
|
-
const
|
|
1986
|
-
const detected = await detectManifestActions(
|
|
1985
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
1986
|
+
const detected = await detectManifestActions(sockJson, cwd);
|
|
1987
1987
|
await generateAutoManifest({
|
|
1988
1988
|
detected,
|
|
1989
1989
|
cwd,
|
|
@@ -3010,10 +3010,10 @@ async function getBaseGitBranch(cwd = process.cwd()) {
|
|
|
3010
3010
|
// 3. Try to resolve the default remote branch using 'git remote show origin'.
|
|
3011
3011
|
// This handles detached HEADs or workflows triggered by tags/releases.
|
|
3012
3012
|
try {
|
|
3013
|
-
const
|
|
3013
|
+
const originDetails = (await spawn.spawn('git', ['remote', 'show', 'origin'], {
|
|
3014
3014
|
cwd
|
|
3015
|
-
})).stdout
|
|
3016
|
-
const match = /(?<=HEAD branch: ).+/.exec(
|
|
3015
|
+
})).stdout;
|
|
3016
|
+
const match = /(?<=HEAD branch: ).+/.exec(originDetails);
|
|
3017
3017
|
if (match?.[0]) {
|
|
3018
3018
|
return match[0].trim();
|
|
3019
3019
|
}
|
|
@@ -3122,9 +3122,9 @@ async function gitCreateAndPushBranch(branch, commitMsg, filepaths, options) {
|
|
|
3122
3122
|
}
|
|
3123
3123
|
async function gitRepoInfo(cwd = process.cwd()) {
|
|
3124
3124
|
try {
|
|
3125
|
-
const remoteUrl =
|
|
3125
|
+
const remoteUrl = (await spawn.spawn('git', ['remote', 'get-url', 'origin'], {
|
|
3126
3126
|
cwd
|
|
3127
|
-
})).stdout
|
|
3127
|
+
})).stdout;
|
|
3128
3128
|
// 1. Handle SSH-style, e.g. git@github.com:owner/repo.git
|
|
3129
3129
|
const sshMatch = /^git@[^:]+:([^/]+)\/(.+?)(?:\.git)?$/.exec(remoteUrl);
|
|
3130
3130
|
if (sshMatch) {
|
|
@@ -3168,7 +3168,7 @@ async function gitEnsureIdentity(name, email, cwd = process.cwd()) {
|
|
|
3168
3168
|
let configValue;
|
|
3169
3169
|
try {
|
|
3170
3170
|
// Will throw with exit code 1 if the config property is not set.
|
|
3171
|
-
configValue =
|
|
3171
|
+
configValue = (await spawn.spawn('git', ['config', '--get', prop], stdioPipeOptions)).stdout;
|
|
3172
3172
|
} catch {}
|
|
3173
3173
|
if (configValue !== value) {
|
|
3174
3174
|
try {
|
|
@@ -3184,10 +3184,9 @@ async function gitRemoteBranchExists(branch, cwd = process.cwd()) {
|
|
|
3184
3184
|
cwd
|
|
3185
3185
|
};
|
|
3186
3186
|
try {
|
|
3187
|
-
return
|
|
3188
|
-
} catch {
|
|
3189
|
-
|
|
3190
|
-
}
|
|
3187
|
+
return (await spawn.spawn('git', ['ls-remote', '--heads', 'origin', branch], stdioPipeOptions)).stdout.length > 0;
|
|
3188
|
+
} catch {}
|
|
3189
|
+
return false;
|
|
3191
3190
|
}
|
|
3192
3191
|
async function gitResetAndClean(branch = 'HEAD', cwd = process.cwd()) {
|
|
3193
3192
|
// Discards tracked changes.
|
|
@@ -3207,11 +3206,11 @@ async function gitUnstagedModifiedFiles(cwd = process.cwd()) {
|
|
|
3207
3206
|
const stdioPipeOptions = {
|
|
3208
3207
|
cwd
|
|
3209
3208
|
};
|
|
3210
|
-
const
|
|
3211
|
-
const
|
|
3209
|
+
const changedFilesDetails = (await spawn.spawn('git', ['diff', '--name-only'], stdioPipeOptions)).stdout;
|
|
3210
|
+
const rawRelPaths = changedFilesDetails.split('\n') ?? [];
|
|
3212
3211
|
return {
|
|
3213
3212
|
ok: true,
|
|
3214
|
-
data:
|
|
3213
|
+
data: rawRelPaths.map(relPath => path$1.normalizePath(relPath))
|
|
3215
3214
|
};
|
|
3216
3215
|
} catch (e) {
|
|
3217
3216
|
debug.debugFn('catch: git diff --name-only failed\n', e);
|
|
@@ -3312,13 +3311,13 @@ async function readCache(key,
|
|
|
3312
3311
|
ttlMs = 5 * 60 * 1000) {
|
|
3313
3312
|
// Lazily access constants.githubCachePath.
|
|
3314
3313
|
const cacheJsonPath = path.join(constants.githubCachePath, `${key}.json`);
|
|
3315
|
-
|
|
3316
|
-
|
|
3314
|
+
const stat = utils.safeStatsSync(cacheJsonPath);
|
|
3315
|
+
if (stat) {
|
|
3317
3316
|
const isExpired = Date.now() - stat.mtimeMs > ttlMs;
|
|
3318
3317
|
if (!isExpired) {
|
|
3319
3318
|
return await fs$2.readJson(cacheJsonPath);
|
|
3320
3319
|
}
|
|
3321
|
-
}
|
|
3320
|
+
}
|
|
3322
3321
|
return null;
|
|
3323
3322
|
}
|
|
3324
3323
|
async function writeCache(key, data) {
|
|
@@ -4944,21 +4943,21 @@ const cmdInstall = {
|
|
|
4944
4943
|
|
|
4945
4944
|
async function outputCmdJson(cwd) {
|
|
4946
4945
|
logger.logger.info('Target cwd:', constants.ENV.VITEST ? '<redacted>' : utils.tildify(cwd));
|
|
4947
|
-
const
|
|
4948
|
-
const
|
|
4949
|
-
if (!fs$1.existsSync(
|
|
4950
|
-
logger.logger.fail(`Not found: ${
|
|
4946
|
+
const sockJsonPath = path.join(cwd, 'socket.json');
|
|
4947
|
+
const tildeSockJsonPath = constants.ENV.VITEST ? '<redacted>' : utils.tildify(sockJsonPath);
|
|
4948
|
+
if (!fs$1.existsSync(sockJsonPath)) {
|
|
4949
|
+
logger.logger.fail(`Not found: ${tildeSockJsonPath}`);
|
|
4951
4950
|
process.exitCode = 1;
|
|
4952
4951
|
return;
|
|
4953
4952
|
}
|
|
4954
|
-
if (!
|
|
4955
|
-
logger.logger.fail(`This is not a regular file (maybe a directory?): ${
|
|
4953
|
+
if (!utils.safeStatsSync(sockJsonPath)?.isFile()) {
|
|
4954
|
+
logger.logger.fail(`This is not a regular file (maybe a directory?): ${tildeSockJsonPath}`);
|
|
4956
4955
|
process.exitCode = 1;
|
|
4957
4956
|
return;
|
|
4958
4957
|
}
|
|
4959
|
-
|
|
4960
|
-
logger.logger.success(`This is the contents of ${tildeSjpath}:`);
|
|
4958
|
+
logger.logger.success(`This is the contents of ${tildeSockJsonPath}:`);
|
|
4961
4959
|
logger.logger.error('');
|
|
4960
|
+
const data = utils.safeReadFileSync(sockJsonPath);
|
|
4962
4961
|
logger.logger.log(data);
|
|
4963
4962
|
}
|
|
4964
4963
|
|
|
@@ -5667,8 +5666,8 @@ async function run$B(argv, importMeta, {
|
|
|
5667
5666
|
logger.logger.log('- cwd:', cwd);
|
|
5668
5667
|
logger.logger.groupEnd();
|
|
5669
5668
|
}
|
|
5670
|
-
const
|
|
5671
|
-
const detected = await detectManifestActions(
|
|
5669
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
5670
|
+
const detected = await detectManifestActions(sockJson, cwd);
|
|
5672
5671
|
debug.debugLog('[DEBUG]', detected);
|
|
5673
5672
|
if (cli.flags['dryRun']) {
|
|
5674
5673
|
logger.logger.log(DRY_RUN_BAILING_NOW$A);
|
|
@@ -5775,39 +5774,39 @@ async function run$A(argv, importMeta, {
|
|
|
5775
5774
|
// Note: path.resolve vs .join:
|
|
5776
5775
|
// If given path is absolute then cwd should not affect it.
|
|
5777
5776
|
cwd = path.resolve(process.cwd(), cwd);
|
|
5778
|
-
const
|
|
5777
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
5779
5778
|
|
|
5780
5779
|
// Set defaults for any flag/arg that is not given. Check socket.json first.
|
|
5781
|
-
if (stdin === undefined &&
|
|
5782
|
-
stdin =
|
|
5780
|
+
if (stdin === undefined && sockJson.defaults?.manifest?.conda?.stdin !== undefined) {
|
|
5781
|
+
stdin = sockJson.defaults?.manifest?.conda?.stdin;
|
|
5783
5782
|
logger.logger.info('Using default --stdin from socket.json:', stdin);
|
|
5784
5783
|
}
|
|
5785
5784
|
if (stdin) {
|
|
5786
5785
|
filename = '-';
|
|
5787
5786
|
} else if (!filename) {
|
|
5788
|
-
if (
|
|
5789
|
-
filename =
|
|
5787
|
+
if (sockJson.defaults?.manifest?.conda?.infile) {
|
|
5788
|
+
filename = sockJson.defaults?.manifest?.conda?.infile;
|
|
5790
5789
|
logger.logger.info('Using default --file from socket.json:', filename);
|
|
5791
5790
|
} else {
|
|
5792
5791
|
filename = 'environment.yml';
|
|
5793
5792
|
}
|
|
5794
5793
|
}
|
|
5795
|
-
if (stdout === undefined &&
|
|
5796
|
-
stdout =
|
|
5794
|
+
if (stdout === undefined && sockJson.defaults?.manifest?.conda?.stdout !== undefined) {
|
|
5795
|
+
stdout = sockJson.defaults?.manifest?.conda?.stdout;
|
|
5797
5796
|
logger.logger.info('Using default --stdout from socket.json:', stdout);
|
|
5798
5797
|
}
|
|
5799
5798
|
if (stdout) {
|
|
5800
5799
|
out = '-';
|
|
5801
5800
|
} else if (!out) {
|
|
5802
|
-
if (
|
|
5803
|
-
out =
|
|
5801
|
+
if (sockJson.defaults?.manifest?.conda?.outfile) {
|
|
5802
|
+
out = sockJson.defaults?.manifest?.conda?.outfile;
|
|
5804
5803
|
logger.logger.info('Using default --out from socket.json:', out);
|
|
5805
5804
|
} else {
|
|
5806
5805
|
out = 'requirements.txt';
|
|
5807
5806
|
}
|
|
5808
5807
|
}
|
|
5809
|
-
if (verbose === undefined &&
|
|
5810
|
-
verbose =
|
|
5808
|
+
if (verbose === undefined && sockJson.defaults?.manifest?.conda?.verbose !== undefined) {
|
|
5809
|
+
verbose = sockJson.defaults?.manifest?.conda?.verbose;
|
|
5811
5810
|
logger.logger.info('Using default --verbose from socket.json:', verbose);
|
|
5812
5811
|
} else if (verbose === undefined) {
|
|
5813
5812
|
verbose = false;
|
|
@@ -5933,29 +5932,29 @@ async function run$z(argv, importMeta, {
|
|
|
5933
5932
|
// Note: path.resolve vs .join:
|
|
5934
5933
|
// If given path is absolute then cwd should not affect it.
|
|
5935
5934
|
cwd = path.resolve(process.cwd(), cwd);
|
|
5936
|
-
const
|
|
5937
|
-
debug.
|
|
5935
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
5936
|
+
debug.debugFn('override: socket.json gradle', sockJson?.defaults?.manifest?.gradle);
|
|
5938
5937
|
|
|
5939
5938
|
// Set defaults for any flag/arg that is not given. Check socket.json first.
|
|
5940
5939
|
if (!bin) {
|
|
5941
|
-
if (
|
|
5942
|
-
bin =
|
|
5940
|
+
if (sockJson.defaults?.manifest?.gradle?.bin) {
|
|
5941
|
+
bin = sockJson.defaults?.manifest?.gradle?.bin;
|
|
5943
5942
|
logger.logger.info('Using default --bin from socket.json:', bin);
|
|
5944
5943
|
} else {
|
|
5945
5944
|
bin = path.join(cwd, 'gradlew');
|
|
5946
5945
|
}
|
|
5947
5946
|
}
|
|
5948
5947
|
if (!gradleOpts) {
|
|
5949
|
-
if (
|
|
5950
|
-
gradleOpts =
|
|
5948
|
+
if (sockJson.defaults?.manifest?.gradle?.gradleOpts) {
|
|
5949
|
+
gradleOpts = sockJson.defaults?.manifest?.gradle?.gradleOpts;
|
|
5951
5950
|
logger.logger.info('Using default --gradleOpts from socket.json:', gradleOpts);
|
|
5952
5951
|
} else {
|
|
5953
5952
|
gradleOpts = '';
|
|
5954
5953
|
}
|
|
5955
5954
|
}
|
|
5956
5955
|
if (verbose === undefined) {
|
|
5957
|
-
if (
|
|
5958
|
-
verbose =
|
|
5956
|
+
if (sockJson.defaults?.manifest?.gradle?.verbose !== undefined) {
|
|
5957
|
+
verbose = sockJson.defaults?.manifest?.gradle?.verbose;
|
|
5959
5958
|
logger.logger.info('Using default --verbose from socket.json:', verbose);
|
|
5960
5959
|
} else {
|
|
5961
5960
|
verbose = false;
|
|
@@ -6090,29 +6089,29 @@ async function run$y(argv, importMeta, {
|
|
|
6090
6089
|
// Note: path.resolve vs .join:
|
|
6091
6090
|
// If given path is absolute then cwd should not affect it.
|
|
6092
6091
|
cwd = path.resolve(process.cwd(), cwd);
|
|
6093
|
-
const
|
|
6094
|
-
debug.
|
|
6092
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
6093
|
+
debug.debugFn('override: socket.json gradle', sockJson?.defaults?.manifest?.gradle);
|
|
6095
6094
|
|
|
6096
6095
|
// Set defaults for any flag/arg that is not given. Check socket.json first.
|
|
6097
6096
|
if (!bin) {
|
|
6098
|
-
if (
|
|
6099
|
-
bin =
|
|
6097
|
+
if (sockJson.defaults?.manifest?.gradle?.bin) {
|
|
6098
|
+
bin = sockJson.defaults?.manifest?.gradle?.bin;
|
|
6100
6099
|
logger.logger.info('Using default --bin from socket.json:', bin);
|
|
6101
6100
|
} else {
|
|
6102
6101
|
bin = path.join(cwd, 'gradlew');
|
|
6103
6102
|
}
|
|
6104
6103
|
}
|
|
6105
6104
|
if (!gradleOpts) {
|
|
6106
|
-
if (
|
|
6107
|
-
gradleOpts =
|
|
6105
|
+
if (sockJson.defaults?.manifest?.gradle?.gradleOpts) {
|
|
6106
|
+
gradleOpts = sockJson.defaults?.manifest?.gradle?.gradleOpts;
|
|
6108
6107
|
logger.logger.info('Using default --gradleOpts from socket.json:', gradleOpts);
|
|
6109
6108
|
} else {
|
|
6110
6109
|
gradleOpts = '';
|
|
6111
6110
|
}
|
|
6112
6111
|
}
|
|
6113
6112
|
if (verbose === undefined) {
|
|
6114
|
-
if (
|
|
6115
|
-
verbose =
|
|
6113
|
+
if (sockJson.defaults?.manifest?.gradle?.verbose !== undefined) {
|
|
6114
|
+
verbose = sockJson.defaults?.manifest?.gradle?.verbose;
|
|
6116
6115
|
logger.logger.info('Using default --verbose from socket.json:', verbose);
|
|
6117
6116
|
} else {
|
|
6118
6117
|
verbose = false;
|
|
@@ -6256,42 +6255,42 @@ async function run$x(argv, importMeta, {
|
|
|
6256
6255
|
// Note: path.resolve vs .join:
|
|
6257
6256
|
// If given path is absolute then cwd should not affect it.
|
|
6258
6257
|
cwd = path.resolve(process.cwd(), cwd);
|
|
6259
|
-
const
|
|
6260
|
-
debug.
|
|
6258
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
6259
|
+
debug.debugFn('override: socket.json sbt', sockJson?.defaults?.manifest?.sbt);
|
|
6261
6260
|
|
|
6262
6261
|
// Set defaults for any flag/arg that is not given. Check socket.json first.
|
|
6263
6262
|
if (!bin) {
|
|
6264
|
-
if (
|
|
6265
|
-
bin =
|
|
6263
|
+
if (sockJson.defaults?.manifest?.sbt?.bin) {
|
|
6264
|
+
bin = sockJson.defaults?.manifest?.sbt?.bin;
|
|
6266
6265
|
logger.logger.info('Using default --bin from socket.json:', bin);
|
|
6267
6266
|
} else {
|
|
6268
6267
|
bin = 'sbt';
|
|
6269
6268
|
}
|
|
6270
6269
|
}
|
|
6271
|
-
if (stdout === undefined &&
|
|
6272
|
-
stdout =
|
|
6270
|
+
if (stdout === undefined && sockJson.defaults?.manifest?.sbt?.stdout !== undefined) {
|
|
6271
|
+
stdout = sockJson.defaults?.manifest?.sbt?.stdout;
|
|
6273
6272
|
logger.logger.info('Using default --stdout from socket.json:', stdout);
|
|
6274
6273
|
}
|
|
6275
6274
|
if (stdout) {
|
|
6276
6275
|
out = '-';
|
|
6277
6276
|
} else if (!out) {
|
|
6278
|
-
if (
|
|
6279
|
-
out =
|
|
6277
|
+
if (sockJson.defaults?.manifest?.sbt?.outfile) {
|
|
6278
|
+
out = sockJson.defaults?.manifest?.sbt?.outfile;
|
|
6280
6279
|
logger.logger.info('Using default --out from socket.json:', out);
|
|
6281
6280
|
} else {
|
|
6282
6281
|
out = './socket.pom.xml';
|
|
6283
6282
|
}
|
|
6284
6283
|
}
|
|
6285
6284
|
if (!sbtOpts) {
|
|
6286
|
-
if (
|
|
6287
|
-
sbtOpts =
|
|
6285
|
+
if (sockJson.defaults?.manifest?.sbt?.sbtOpts) {
|
|
6286
|
+
sbtOpts = sockJson.defaults?.manifest?.sbt?.sbtOpts;
|
|
6288
6287
|
logger.logger.info('Using default --sbtOpts from socket.json:', sbtOpts);
|
|
6289
6288
|
} else {
|
|
6290
6289
|
sbtOpts = '';
|
|
6291
6290
|
}
|
|
6292
6291
|
}
|
|
6293
|
-
if (verbose === undefined &&
|
|
6294
|
-
verbose =
|
|
6292
|
+
if (verbose === undefined && sockJson.defaults?.manifest?.sbt?.verbose !== undefined) {
|
|
6293
|
+
verbose = sockJson.defaults?.manifest?.sbt?.verbose;
|
|
6295
6294
|
logger.logger.info('Using default --verbose from socket.json:', verbose);
|
|
6296
6295
|
} else if (verbose === undefined) {
|
|
6297
6296
|
verbose = false;
|
|
@@ -6425,41 +6424,41 @@ async function setupManifestConfig(cwd, defaultOnReadError = false) {
|
|
|
6425
6424
|
message: 'Select eco system manifest generator to configure',
|
|
6426
6425
|
choices
|
|
6427
6426
|
});
|
|
6428
|
-
const
|
|
6429
|
-
if (!
|
|
6430
|
-
return
|
|
6427
|
+
const sockJsonCResult = await utils.readSocketJson(cwd, defaultOnReadError);
|
|
6428
|
+
if (!sockJsonCResult.ok) {
|
|
6429
|
+
return sockJsonCResult;
|
|
6431
6430
|
}
|
|
6432
|
-
const
|
|
6433
|
-
if (!
|
|
6434
|
-
|
|
6431
|
+
const sockJson = sockJsonCResult.data;
|
|
6432
|
+
if (!sockJson.defaults) {
|
|
6433
|
+
sockJson.defaults = {};
|
|
6435
6434
|
}
|
|
6436
|
-
if (!
|
|
6437
|
-
|
|
6435
|
+
if (!sockJson.defaults.manifest) {
|
|
6436
|
+
sockJson.defaults.manifest = {};
|
|
6438
6437
|
}
|
|
6439
6438
|
let result;
|
|
6440
6439
|
switch (targetEco) {
|
|
6441
6440
|
case 'conda':
|
|
6442
6441
|
{
|
|
6443
|
-
if (!
|
|
6444
|
-
|
|
6442
|
+
if (!sockJson.defaults.manifest.conda) {
|
|
6443
|
+
sockJson.defaults.manifest.conda = {};
|
|
6445
6444
|
}
|
|
6446
|
-
result = await setupConda(
|
|
6445
|
+
result = await setupConda(sockJson.defaults.manifest.conda);
|
|
6447
6446
|
break;
|
|
6448
6447
|
}
|
|
6449
6448
|
case 'gradle':
|
|
6450
6449
|
{
|
|
6451
|
-
if (!
|
|
6452
|
-
|
|
6450
|
+
if (!sockJson.defaults.manifest.gradle) {
|
|
6451
|
+
sockJson.defaults.manifest.gradle = {};
|
|
6453
6452
|
}
|
|
6454
|
-
result = await setupGradle(
|
|
6453
|
+
result = await setupGradle(sockJson.defaults.manifest.gradle);
|
|
6455
6454
|
break;
|
|
6456
6455
|
}
|
|
6457
6456
|
case 'sbt':
|
|
6458
6457
|
{
|
|
6459
|
-
if (!
|
|
6460
|
-
|
|
6458
|
+
if (!sockJson.defaults.manifest.sbt) {
|
|
6459
|
+
sockJson.defaults.manifest.sbt = {};
|
|
6461
6460
|
}
|
|
6462
|
-
result = await setupSbt(
|
|
6461
|
+
result = await setupSbt(sockJson.defaults.manifest.sbt);
|
|
6463
6462
|
break;
|
|
6464
6463
|
}
|
|
6465
6464
|
default:
|
|
@@ -6485,7 +6484,7 @@ async function setupManifestConfig(cwd, defaultOnReadError = false) {
|
|
|
6485
6484
|
description: 'Do not update the config'
|
|
6486
6485
|
}]
|
|
6487
6486
|
})) {
|
|
6488
|
-
return await utils.writeSocketJson(cwd,
|
|
6487
|
+
return await utils.writeSocketJson(cwd, sockJson);
|
|
6489
6488
|
}
|
|
6490
6489
|
return canceledByUser$1();
|
|
6491
6490
|
}
|
|
@@ -7163,11 +7162,11 @@ function parsableToQueryStdout(stdout) {
|
|
|
7163
7162
|
async function npmQuery(npmExecPath, cwd) {
|
|
7164
7163
|
let stdout = '';
|
|
7165
7164
|
try {
|
|
7166
|
-
stdout =
|
|
7165
|
+
stdout = (await spawn.spawn(npmExecPath, ['query', ':not(.dev)'], {
|
|
7167
7166
|
cwd,
|
|
7168
7167
|
// Lazily access constants.WIN32.
|
|
7169
7168
|
shell: constants.WIN32
|
|
7170
|
-
})).stdout
|
|
7169
|
+
})).stdout;
|
|
7171
7170
|
} catch {}
|
|
7172
7171
|
return cleanupQueryStdout(stdout);
|
|
7173
7172
|
}
|
|
@@ -7175,11 +7174,11 @@ async function lsBun(pkgEnvDetails, cwd) {
|
|
|
7175
7174
|
try {
|
|
7176
7175
|
// Bun does not support filtering by production packages yet.
|
|
7177
7176
|
// https://github.com/oven-sh/bun/issues/8283
|
|
7178
|
-
return
|
|
7177
|
+
return (await spawn.spawn(pkgEnvDetails.agentExecPath, ['pm', 'ls', '--all'], {
|
|
7179
7178
|
cwd,
|
|
7180
7179
|
// Lazily access constants.WIN32.
|
|
7181
7180
|
shell: constants.WIN32
|
|
7182
|
-
})).stdout
|
|
7181
|
+
})).stdout;
|
|
7183
7182
|
} catch {}
|
|
7184
7183
|
return '';
|
|
7185
7184
|
}
|
|
@@ -7196,14 +7195,14 @@ async function lsPnpm(pkgEnvDetails, cwd, options) {
|
|
|
7196
7195
|
}
|
|
7197
7196
|
let stdout = '';
|
|
7198
7197
|
try {
|
|
7199
|
-
stdout =
|
|
7198
|
+
stdout = (await spawn.spawn(pkgEnvDetails.agentExecPath,
|
|
7200
7199
|
// Pnpm uses the alternative spelling of parsable.
|
|
7201
7200
|
// https://en.wiktionary.org/wiki/parsable
|
|
7202
7201
|
['ls', '--parseable', '--prod', '--depth', 'Infinity'], {
|
|
7203
7202
|
cwd,
|
|
7204
7203
|
// Lazily access constants.WIN32.
|
|
7205
7204
|
shell: constants.WIN32
|
|
7206
|
-
})).stdout
|
|
7205
|
+
})).stdout;
|
|
7207
7206
|
} catch {}
|
|
7208
7207
|
return parsableToQueryStdout(stdout);
|
|
7209
7208
|
}
|
|
@@ -7211,24 +7210,23 @@ async function lsVlt(pkgEnvDetails, cwd) {
|
|
|
7211
7210
|
let stdout = '';
|
|
7212
7211
|
try {
|
|
7213
7212
|
// See https://docs.vlt.sh/cli/commands/list#options.
|
|
7214
|
-
stdout =
|
|
7213
|
+
stdout = (await spawn.spawn(pkgEnvDetails.agentExecPath, ['ls', '--view', 'human', ':not(.dev)'], {
|
|
7215
7214
|
cwd,
|
|
7216
7215
|
// Lazily access constants.WIN32.
|
|
7217
7216
|
shell: constants.WIN32
|
|
7218
|
-
})).stdout
|
|
7217
|
+
})).stdout;
|
|
7219
7218
|
} catch {}
|
|
7220
7219
|
return cleanupQueryStdout(stdout);
|
|
7221
7220
|
}
|
|
7222
7221
|
async function lsYarnBerry(pkgEnvDetails, cwd) {
|
|
7223
7222
|
try {
|
|
7224
|
-
return strings.stripAnsi(
|
|
7225
7223
|
// Yarn Berry does not support filtering by production packages yet.
|
|
7226
7224
|
// https://github.com/yarnpkg/berry/issues/5117
|
|
7227
|
-
(await spawn.spawn(pkgEnvDetails.agentExecPath, ['info', '--recursive', '--name-only'], {
|
|
7225
|
+
return (await spawn.spawn(pkgEnvDetails.agentExecPath, ['info', '--recursive', '--name-only'], {
|
|
7228
7226
|
cwd,
|
|
7229
7227
|
// Lazily access constants.WIN32.
|
|
7230
7228
|
shell: constants.WIN32
|
|
7231
|
-
})).stdout
|
|
7229
|
+
})).stdout;
|
|
7232
7230
|
} catch {}
|
|
7233
7231
|
return '';
|
|
7234
7232
|
}
|
|
@@ -7238,11 +7236,11 @@ async function lsYarnClassic(pkgEnvDetails, cwd) {
|
|
|
7238
7236
|
// https://github.com/yarnpkg/yarn/releases/tag/v1.0.0
|
|
7239
7237
|
// > Fix: Excludes dev dependencies from the yarn list output when the
|
|
7240
7238
|
// environment is production
|
|
7241
|
-
return
|
|
7239
|
+
return (await spawn.spawn(pkgEnvDetails.agentExecPath, ['list', '--prod'], {
|
|
7242
7240
|
cwd,
|
|
7243
7241
|
// Lazily access constants.WIN32.
|
|
7244
7242
|
shell: constants.WIN32
|
|
7245
|
-
})).stdout
|
|
7243
|
+
})).stdout;
|
|
7246
7244
|
} catch {}
|
|
7247
7245
|
return '';
|
|
7248
7246
|
}
|
|
@@ -8877,7 +8875,7 @@ function formatReportCard(artifact, color) {
|
|
|
8877
8875
|
};
|
|
8878
8876
|
const alertString = getAlertString(artifact.alerts, !color);
|
|
8879
8877
|
if (!artifact.ecosystem) {
|
|
8880
|
-
debug.debugFn('miss:
|
|
8878
|
+
debug.debugFn('miss: artifact ecosystem', artifact);
|
|
8881
8879
|
}
|
|
8882
8880
|
const purl = `pkg:${artifact.ecosystem}/${artifact.name}${artifact.version ? '@' + artifact.version : ''}`;
|
|
8883
8881
|
return ['Package: ' + (color ? vendor.yoctocolorsCjsExports.bold(purl) : purl), '', ...Object.entries(scoreResult).map(score => `- ${score[0]}:`.padEnd(20, ' ') + ` ${formatScore(score[1], !color, true)}`), alertString].join('\n');
|
|
@@ -10478,36 +10476,36 @@ async function run$c(argv, importMeta, {
|
|
|
10478
10476
|
// Accept zero or more paths. Default to cwd() if none given.
|
|
10479
10477
|
let targets = cli.input || [process.cwd()];
|
|
10480
10478
|
const cwd = cwdOverride && cwdOverride !== 'process.cwd()' ? path.resolve(process.cwd(), String(cwdOverride)) : process.cwd();
|
|
10481
|
-
const
|
|
10479
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
10482
10480
|
|
|
10483
10481
|
// Note: This needs meow booleanDefault=undefined
|
|
10484
10482
|
if (typeof autoManifest !== 'boolean') {
|
|
10485
|
-
if (
|
|
10486
|
-
autoManifest =
|
|
10483
|
+
if (sockJson.defaults?.scan?.create?.autoManifest !== undefined) {
|
|
10484
|
+
autoManifest = sockJson.defaults.scan.create.autoManifest;
|
|
10487
10485
|
logger.logger.info('Using default --autoManifest from socket.json:', autoManifest);
|
|
10488
10486
|
} else {
|
|
10489
10487
|
autoManifest = false;
|
|
10490
10488
|
}
|
|
10491
10489
|
}
|
|
10492
10490
|
if (!branchName) {
|
|
10493
|
-
if (
|
|
10494
|
-
branchName =
|
|
10491
|
+
if (sockJson.defaults?.scan?.create?.branch) {
|
|
10492
|
+
branchName = sockJson.defaults.scan.create.branch;
|
|
10495
10493
|
logger.logger.info('Using default --branch from socket.json:', branchName);
|
|
10496
10494
|
} else {
|
|
10497
10495
|
branchName = 'socket-default-branch';
|
|
10498
10496
|
}
|
|
10499
10497
|
}
|
|
10500
10498
|
if (!repoName) {
|
|
10501
|
-
if (
|
|
10502
|
-
repoName =
|
|
10499
|
+
if (sockJson.defaults?.scan?.create?.repo) {
|
|
10500
|
+
repoName = sockJson.defaults.scan.create.repo;
|
|
10503
10501
|
logger.logger.info('Using default --repo from socket.json:', repoName);
|
|
10504
10502
|
} else {
|
|
10505
10503
|
repoName = 'socket-default-repository';
|
|
10506
10504
|
}
|
|
10507
10505
|
}
|
|
10508
10506
|
if (typeof report !== 'boolean') {
|
|
10509
|
-
if (
|
|
10510
|
-
report =
|
|
10507
|
+
if (sockJson.defaults?.scan?.create?.report !== undefined) {
|
|
10508
|
+
report = sockJson.defaults.scan.create.report;
|
|
10511
10509
|
logger.logger.info('Using default --report from socket.json:', report);
|
|
10512
10510
|
} else {
|
|
10513
10511
|
report = false;
|
|
@@ -10550,7 +10548,7 @@ async function run$c(argv, importMeta, {
|
|
|
10550
10548
|
updatedInput = true;
|
|
10551
10549
|
}
|
|
10552
10550
|
}
|
|
10553
|
-
const detected = await detectManifestActions(
|
|
10551
|
+
const detected = await detectManifestActions(sockJson, cwd);
|
|
10554
10552
|
if (detected.count > 0 && !autoManifest) {
|
|
10555
10553
|
logger.logger.info(`Detected ${detected.count} manifest targets we could try to generate. Please set the --autoManifest flag if you want to include languages covered by \`socket manifest auto\` in the Scan.`);
|
|
10556
10554
|
}
|
|
@@ -11815,32 +11813,32 @@ async function run$9(argv, importMeta, {
|
|
|
11815
11813
|
// Tmp. just for TS. will drop this later.
|
|
11816
11814
|
defaultOrgSlug = '';
|
|
11817
11815
|
}
|
|
11818
|
-
const
|
|
11816
|
+
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
11819
11817
|
if (all === undefined) {
|
|
11820
|
-
if (
|
|
11821
|
-
all =
|
|
11818
|
+
if (sockJson.defaults?.scan?.github?.all !== undefined) {
|
|
11819
|
+
all = sockJson.defaults?.scan?.github?.all;
|
|
11822
11820
|
} else {
|
|
11823
11821
|
all = false;
|
|
11824
11822
|
}
|
|
11825
11823
|
}
|
|
11826
11824
|
if (!githubApiUrl) {
|
|
11827
|
-
if (
|
|
11828
|
-
githubApiUrl =
|
|
11825
|
+
if (sockJson.defaults?.scan?.github?.githubApiUrl !== undefined) {
|
|
11826
|
+
githubApiUrl = sockJson.defaults.scan.github.githubApiUrl;
|
|
11829
11827
|
} else {
|
|
11830
11828
|
githubApiUrl = 'https://api.github.com';
|
|
11831
11829
|
}
|
|
11832
11830
|
}
|
|
11833
11831
|
if (!orgGithub) {
|
|
11834
|
-
if (
|
|
11835
|
-
orgGithub =
|
|
11832
|
+
if (sockJson.defaults?.scan?.github?.orgGithub !== undefined) {
|
|
11833
|
+
orgGithub = sockJson.defaults.scan.github.orgGithub;
|
|
11836
11834
|
} else {
|
|
11837
11835
|
// Default to Socket org slug. Often that's fine. Vanity and all that.
|
|
11838
11836
|
orgGithub = orgSlug;
|
|
11839
11837
|
}
|
|
11840
11838
|
}
|
|
11841
11839
|
if (!all && !repos) {
|
|
11842
|
-
if (
|
|
11843
|
-
repos =
|
|
11840
|
+
if (sockJson.defaults?.scan?.github?.repos !== undefined) {
|
|
11841
|
+
repos = sockJson.defaults.scan.github.repos;
|
|
11844
11842
|
} else {
|
|
11845
11843
|
repos = '';
|
|
11846
11844
|
}
|
|
@@ -12595,16 +12593,16 @@ async function setupScanConfig(cwd, defaultOnReadError = false) {
|
|
|
12595
12593
|
logger.logger.log('');
|
|
12596
12594
|
logger.logger.log('Note: For details on a flag you can run `socket <cmd> --help`');
|
|
12597
12595
|
logger.logger.log('');
|
|
12598
|
-
const
|
|
12599
|
-
if (!
|
|
12600
|
-
return
|
|
12596
|
+
const sockJsonCResult = await utils.readSocketJson(cwd, defaultOnReadError);
|
|
12597
|
+
if (!sockJsonCResult.ok) {
|
|
12598
|
+
return sockJsonCResult;
|
|
12601
12599
|
}
|
|
12602
|
-
const
|
|
12603
|
-
if (!
|
|
12604
|
-
|
|
12600
|
+
const sockJson = sockJsonCResult.data;
|
|
12601
|
+
if (!sockJson.defaults) {
|
|
12602
|
+
sockJson.defaults = {};
|
|
12605
12603
|
}
|
|
12606
|
-
if (!
|
|
12607
|
-
|
|
12604
|
+
if (!sockJson.defaults.scan) {
|
|
12605
|
+
sockJson.defaults.scan = {};
|
|
12608
12606
|
}
|
|
12609
12607
|
const targetCommand = await prompts.select({
|
|
12610
12608
|
message: 'Which scan command do you want to configure?',
|
|
@@ -12623,10 +12621,10 @@ async function setupScanConfig(cwd, defaultOnReadError = false) {
|
|
|
12623
12621
|
switch (targetCommand) {
|
|
12624
12622
|
case 'create':
|
|
12625
12623
|
{
|
|
12626
|
-
if (!
|
|
12627
|
-
|
|
12624
|
+
if (!sockJson.defaults.scan.create) {
|
|
12625
|
+
sockJson.defaults.scan.create = {};
|
|
12628
12626
|
}
|
|
12629
|
-
const result = await configureScan(
|
|
12627
|
+
const result = await configureScan(sockJson.defaults.scan.create);
|
|
12630
12628
|
if (!result.ok || result.data.canceled) {
|
|
12631
12629
|
return result;
|
|
12632
12630
|
}
|
|
@@ -12634,10 +12632,10 @@ async function setupScanConfig(cwd, defaultOnReadError = false) {
|
|
|
12634
12632
|
}
|
|
12635
12633
|
case 'github':
|
|
12636
12634
|
{
|
|
12637
|
-
if (!
|
|
12638
|
-
|
|
12635
|
+
if (!sockJson.defaults.scan.github) {
|
|
12636
|
+
sockJson.defaults.scan.github = {};
|
|
12639
12637
|
}
|
|
12640
|
-
const result = await configureGithub(
|
|
12638
|
+
const result = await configureGithub(sockJson.defaults.scan.github);
|
|
12641
12639
|
if (!result.ok || result.data.canceled) {
|
|
12642
12640
|
return result;
|
|
12643
12641
|
}
|
|
@@ -12663,7 +12661,7 @@ async function setupScanConfig(cwd, defaultOnReadError = false) {
|
|
|
12663
12661
|
description: 'Do not update the config'
|
|
12664
12662
|
}]
|
|
12665
12663
|
})) {
|
|
12666
|
-
return await utils.writeSocketJson(cwd,
|
|
12664
|
+
return await utils.writeSocketJson(cwd, sockJson);
|
|
12667
12665
|
}
|
|
12668
12666
|
return canceledByUser();
|
|
12669
12667
|
}
|
|
@@ -13857,25 +13855,30 @@ async function installSafeNpm(query) {
|
|
|
13857
13855
|
}
|
|
13858
13856
|
}
|
|
13859
13857
|
|
|
13860
|
-
function removeSocketWrapper(
|
|
13861
|
-
|
|
13862
|
-
|
|
13863
|
-
|
|
13864
|
-
|
|
13865
|
-
|
|
13858
|
+
function removeSocketWrapper(filepath) {
|
|
13859
|
+
let content;
|
|
13860
|
+
try {
|
|
13861
|
+
content = fs$1.readFileSync(filepath, 'utf8');
|
|
13862
|
+
} catch (e) {
|
|
13863
|
+
logger.logger.fail(`There was an error removing the alias${e ? ':' : '.'}`);
|
|
13864
|
+
if (e) {
|
|
13865
|
+
logger.logger.error(e);
|
|
13866
13866
|
}
|
|
13867
|
-
|
|
13868
|
-
|
|
13869
|
-
|
|
13870
|
-
|
|
13871
|
-
|
|
13872
|
-
|
|
13873
|
-
|
|
13874
|
-
|
|
13875
|
-
logger.logger.
|
|
13876
|
-
|
|
13877
|
-
|
|
13878
|
-
}
|
|
13867
|
+
return;
|
|
13868
|
+
}
|
|
13869
|
+
const linesWithoutSocketAlias = content.split('\n').filter(l => l !== 'alias npm="socket npm"' && l !== 'alias npx="socket npx"');
|
|
13870
|
+
const updatedContent = linesWithoutSocketAlias.join('\n');
|
|
13871
|
+
try {
|
|
13872
|
+
fs$1.writeFileSync(filepath, updatedContent, 'utf8');
|
|
13873
|
+
} catch (e) {
|
|
13874
|
+
if (e) {
|
|
13875
|
+
logger.logger.error(e);
|
|
13876
|
+
}
|
|
13877
|
+
return;
|
|
13878
|
+
}
|
|
13879
|
+
logger.logger.success(`The alias was removed from ${filepath}. Running 'npm install' will now run the standard npm command in new terminals going forward.`);
|
|
13880
|
+
logger.logger.log('');
|
|
13881
|
+
logger.logger.info(`Note: We cannot deactivate the alias from current terminal sessions. You have to restart existing terminal sessions to finalize this step.`);
|
|
13879
13882
|
}
|
|
13880
13883
|
|
|
13881
13884
|
const {
|
|
@@ -14177,5 +14180,5 @@ void (async () => {
|
|
|
14177
14180
|
await utils.captureException(e);
|
|
14178
14181
|
}
|
|
14179
14182
|
})();
|
|
14180
|
-
//# debugId=
|
|
14183
|
+
//# debugId=6563e8a4-fb02-463b-9448-1c01e45e1721
|
|
14181
14184
|
//# sourceMappingURL=cli.js.map
|