@socketsecurity/cli-with-sentry 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.
Files changed (34) hide show
  1. package/dist/cli.js +182 -179
  2. package/dist/cli.js.map +1 -1
  3. package/dist/constants.js +3 -3
  4. package/dist/constants.js.map +1 -1
  5. package/dist/shadow-npm-bin.js +3 -4
  6. package/dist/shadow-npm-bin.js.map +1 -1
  7. package/dist/types/commands/fix/git.d.mts.map +1 -1
  8. package/dist/types/commands/fix/open-pr.d.mts.map +1 -1
  9. package/dist/types/commands/json/output-cmd-json.d.mts.map +1 -1
  10. package/dist/types/commands/manifest/cmd-manifest-gradle.d.mts.map +1 -1
  11. package/dist/types/commands/manifest/cmd-manifest-kotlin.d.mts.map +1 -1
  12. package/dist/types/commands/manifest/cmd-manifest-scala.d.mts.map +1 -1
  13. package/dist/types/commands/manifest/detect-manifest-actions.d.mts +1 -1
  14. package/dist/types/commands/manifest/detect-manifest-actions.d.mts.map +1 -1
  15. package/dist/types/commands/manifest/generate_auto_manifest.d.mts.map +1 -1
  16. package/dist/types/commands/optimize/ls-by-agent.d.mts.map +1 -1
  17. package/dist/types/commands/scan/suggest_branch_slug.d.mts.map +1 -1
  18. package/dist/types/commands/wrapper/remove-socket-wrapper.d.mts +1 -1
  19. package/dist/types/commands/wrapper/remove-socket-wrapper.d.mts.map +1 -1
  20. package/dist/types/shadow/npm/bin.d.mts.map +1 -1
  21. package/dist/types/utils/coana.d.mts.map +1 -1
  22. package/dist/types/utils/fs.d.mts +11 -1
  23. package/dist/types/utils/fs.d.mts.map +1 -1
  24. package/dist/types/utils/glob.d.mts.map +1 -1
  25. package/dist/types/utils/package-environment.d.mts.map +1 -1
  26. package/dist/types/utils/path-resolve.d.mts.map +1 -1
  27. package/dist/types/utils/socketjson.d.mts +1 -1
  28. package/dist/types/utils/socketjson.d.mts.map +1 -1
  29. package/dist/utils.js +34 -30
  30. package/dist/utils.js.map +1 -1
  31. package/dist/vendor.js +9 -9
  32. package/external/@coana-tech/cli/cli.mjs +16 -5
  33. package/external/@socketsecurity/registry/lib/spawn.js +47 -24
  34. 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 scanStatus = 'requested..';
963
- let policyStatus = 'requested..';
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 jsonsString = result.data;
992
+ const ndJsonString = result.data;
993
993
 
994
994
  // This is nd-json; each line is a json object.
995
- const lines = jsonsString.split('\n').filter(Boolean);
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(`success`);
1007
+ updateScan('success');
1008
1008
  return {
1009
1009
  ok: true,
1010
1010
  data
1011
1011
  };
1012
1012
  }
1013
- updateScan(`received invalid JSON response`);
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(`failure; unknown blocking problem occurred`);
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(`failure; unknown blocking problem occurred`);
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
- socketJson, cwd = process.cwd()) {
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 (socketJson?.defaults?.manifest?.sbt?.disabled) {
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 (socketJson?.defaults?.manifest?.gradle?.disabled) {
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 (socketJson?.defaults?.manifest?.conda?.disabled) {
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 socketJson = await utils.readOrDefaultSocketJson(cwd);
1925
+ const sockJson = await utils.readOrDefaultSocketJson(cwd);
1926
1926
  if (verbose) {
1927
- logger.logger.info('Using this socket.json for defaults:', socketJson);
1927
+ logger.logger.info('Using this socket.json for defaults:', sockJson);
1928
1928
  }
1929
- if (!socketJson?.defaults?.manifest?.sbt?.disabled && detected.sbt) {
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: socketJson.defaults?.manifest?.sbt?.bin ?? 'sbt',
1933
+ bin: sockJson.defaults?.manifest?.sbt?.bin ?? 'sbt',
1934
1934
  cwd,
1935
- out: socketJson.defaults?.manifest?.sbt?.outfile ?? './socket.sbt.pom.xml',
1936
- sbtOpts: socketJson.defaults?.manifest?.sbt?.sbtOpts?.split(' ').map(s => s.trim()).filter(Boolean) ?? [],
1937
- verbose: Boolean(socketJson.defaults?.manifest?.sbt?.verbose)
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 (!socketJson?.defaults?.manifest?.gradle?.disabled && detected.gradle) {
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: socketJson.defaults?.manifest?.gradle?.bin ? path.resolve(cwd, socketJson.defaults.manifest.gradle.bin) : path.join(cwd, 'gradlew'),
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(socketJson.defaults?.manifest?.gradle?.verbose),
1949
- gradleOpts: socketJson.defaults?.manifest?.gradle?.gradleOpts?.split(' ').map(s => s.trim()).filter(Boolean) ?? []
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 (!socketJson?.defaults?.manifest?.conda?.disabled && detected.conda) {
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: socketJson.defaults?.manifest?.conda?.infile ?? 'environment.yml',
1956
+ filename: sockJson.defaults?.manifest?.conda?.infile ?? 'environment.yml',
1957
1957
  outputKind,
1958
- out: socketJson.defaults?.manifest?.conda?.outfile ?? 'requirements.txt',
1959
- verbose: Boolean(socketJson.defaults?.manifest?.conda?.verbose)
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 socketJson = await utils.readOrDefaultSocketJson(cwd);
1986
- const detected = await detectManifestActions(socketJson, cwd);
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 stdout = strings.stripAnsi((await spawn.spawn('git', ['remote', 'show', 'origin'], {
3013
+ const originDetails = (await spawn.spawn('git', ['remote', 'show', 'origin'], {
3014
3014
  cwd
3015
- })).stdout.trim());
3016
- const match = /(?<=HEAD branch: ).+/.exec(stdout);
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 = strings.stripAnsi((await spawn.spawn('git', ['remote', 'get-url', 'origin'], {
3125
+ const remoteUrl = (await spawn.spawn('git', ['remote', 'get-url', 'origin'], {
3126
3126
  cwd
3127
- })).stdout.trim());
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 = strings.stripAnsi((await spawn.spawn('git', ['config', '--get', prop], stdioPipeOptions)).stdout.trim());
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 strings.stripAnsi((await spawn.spawn('git', ['ls-remote', '--heads', 'origin', branch], stdioPipeOptions)).stdout.trim()).length > 0;
3188
- } catch {
3189
- return false;
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 stdout = strings.stripAnsi((await spawn.spawn('git', ['diff', '--name-only'], stdioPipeOptions)).stdout.trim());
3211
- const rawFiles = stdout.split('\n') ?? [];
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: rawFiles.map(relPath => path$1.normalizePath(relPath))
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
- try {
3316
- const stat = fs$1.statSync(cacheJsonPath);
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
- } catch {}
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 sjpath = path.join(cwd, 'socket.json');
4948
- const tildeSjpath = constants.ENV.VITEST ? '<redacted>' : utils.tildify(sjpath);
4949
- if (!fs$1.existsSync(sjpath)) {
4950
- logger.logger.fail(`Not found: ${tildeSjpath}`);
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 (!fs$1.lstatSync(sjpath).isFile()) {
4955
- logger.logger.fail(`This is not a regular file (maybe a directory?): ${tildeSjpath}`);
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
- const data = fs$1.readFileSync(sjpath, 'utf8');
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 socketJson = await utils.readOrDefaultSocketJson(cwd);
5671
- const detected = await detectManifestActions(socketJson, cwd);
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 socketJson = await utils.readOrDefaultSocketJson(cwd);
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 && socketJson.defaults?.manifest?.conda?.stdin !== undefined) {
5782
- stdin = socketJson.defaults?.manifest?.conda?.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 (socketJson.defaults?.manifest?.conda?.infile) {
5789
- filename = socketJson.defaults?.manifest?.conda?.infile;
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 && socketJson.defaults?.manifest?.conda?.stdout !== undefined) {
5796
- stdout = socketJson.defaults?.manifest?.conda?.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 (socketJson.defaults?.manifest?.conda?.outfile) {
5803
- out = socketJson.defaults?.manifest?.conda?.outfile;
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 && socketJson.defaults?.manifest?.conda?.verbose !== undefined) {
5810
- verbose = socketJson.defaults?.manifest?.conda?.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 socketJson = await utils.readOrDefaultSocketJson(cwd);
5937
- debug.debugLog('[DEBUG] socket.json gradle override:', socketJson?.defaults?.manifest?.gradle);
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 (socketJson.defaults?.manifest?.gradle?.bin) {
5942
- bin = socketJson.defaults?.manifest?.gradle?.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 (socketJson.defaults?.manifest?.gradle?.gradleOpts) {
5950
- gradleOpts = socketJson.defaults?.manifest?.gradle?.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 (socketJson.defaults?.manifest?.gradle?.verbose !== undefined) {
5958
- verbose = socketJson.defaults?.manifest?.gradle?.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 socketJson = await utils.readOrDefaultSocketJson(cwd);
6094
- debug.debugLog('[DEBUG] socket.json gradle override:', socketJson?.defaults?.manifest?.gradle);
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 (socketJson.defaults?.manifest?.gradle?.bin) {
6099
- bin = socketJson.defaults?.manifest?.gradle?.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 (socketJson.defaults?.manifest?.gradle?.gradleOpts) {
6107
- gradleOpts = socketJson.defaults?.manifest?.gradle?.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 (socketJson.defaults?.manifest?.gradle?.verbose !== undefined) {
6115
- verbose = socketJson.defaults?.manifest?.gradle?.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 socketJson = await utils.readOrDefaultSocketJson(cwd);
6260
- debug.debugLog('[DEBUG] socket.json sbt override:', socketJson?.defaults?.manifest?.sbt);
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 (socketJson.defaults?.manifest?.sbt?.bin) {
6265
- bin = socketJson.defaults?.manifest?.sbt?.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 && socketJson.defaults?.manifest?.sbt?.stdout !== undefined) {
6272
- stdout = socketJson.defaults?.manifest?.sbt?.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 (socketJson.defaults?.manifest?.sbt?.outfile) {
6279
- out = socketJson.defaults?.manifest?.sbt?.outfile;
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 (socketJson.defaults?.manifest?.sbt?.sbtOpts) {
6287
- sbtOpts = socketJson.defaults?.manifest?.sbt?.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 && socketJson.defaults?.manifest?.sbt?.verbose !== undefined) {
6294
- verbose = socketJson.defaults?.manifest?.sbt?.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 socketJsonResult = await utils.readSocketJson(cwd, defaultOnReadError);
6429
- if (!socketJsonResult.ok) {
6430
- return socketJsonResult;
6427
+ const sockJsonCResult = await utils.readSocketJson(cwd, defaultOnReadError);
6428
+ if (!sockJsonCResult.ok) {
6429
+ return sockJsonCResult;
6431
6430
  }
6432
- const socketJson = socketJsonResult.data;
6433
- if (!socketJson.defaults) {
6434
- socketJson.defaults = {};
6431
+ const sockJson = sockJsonCResult.data;
6432
+ if (!sockJson.defaults) {
6433
+ sockJson.defaults = {};
6435
6434
  }
6436
- if (!socketJson.defaults.manifest) {
6437
- socketJson.defaults.manifest = {};
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 (!socketJson.defaults.manifest.conda) {
6444
- socketJson.defaults.manifest.conda = {};
6442
+ if (!sockJson.defaults.manifest.conda) {
6443
+ sockJson.defaults.manifest.conda = {};
6445
6444
  }
6446
- result = await setupConda(socketJson.defaults.manifest.conda);
6445
+ result = await setupConda(sockJson.defaults.manifest.conda);
6447
6446
  break;
6448
6447
  }
6449
6448
  case 'gradle':
6450
6449
  {
6451
- if (!socketJson.defaults.manifest.gradle) {
6452
- socketJson.defaults.manifest.gradle = {};
6450
+ if (!sockJson.defaults.manifest.gradle) {
6451
+ sockJson.defaults.manifest.gradle = {};
6453
6452
  }
6454
- result = await setupGradle(socketJson.defaults.manifest.gradle);
6453
+ result = await setupGradle(sockJson.defaults.manifest.gradle);
6455
6454
  break;
6456
6455
  }
6457
6456
  case 'sbt':
6458
6457
  {
6459
- if (!socketJson.defaults.manifest.sbt) {
6460
- socketJson.defaults.manifest.sbt = {};
6458
+ if (!sockJson.defaults.manifest.sbt) {
6459
+ sockJson.defaults.manifest.sbt = {};
6461
6460
  }
6462
- result = await setupSbt(socketJson.defaults.manifest.sbt);
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, socketJson);
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 = strings.stripAnsi((await spawn.spawn(npmExecPath, ['query', ':not(.dev)'], {
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.trim());
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 strings.stripAnsi((await spawn.spawn(pkgEnvDetails.agentExecPath, ['pm', 'ls', '--all'], {
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.trim());
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 = strings.stripAnsi((await spawn.spawn(pkgEnvDetails.agentExecPath,
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.trim());
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 = strings.stripAnsi((await spawn.spawn(pkgEnvDetails.agentExecPath, ['ls', '--view', 'human', ':not(.dev)'], {
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.trim());
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.trim());
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 strings.stripAnsi((await spawn.spawn(pkgEnvDetails.agentExecPath, ['list', '--prod'], {
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.trim());
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: Artifact ecosystem', artifact);
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 socketJson = await utils.readOrDefaultSocketJson(cwd);
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 (socketJson.defaults?.scan?.create?.autoManifest !== undefined) {
10486
- autoManifest = socketJson.defaults.scan.create.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 (socketJson.defaults?.scan?.create?.branch) {
10494
- branchName = socketJson.defaults.scan.create.branch;
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 (socketJson.defaults?.scan?.create?.repo) {
10502
- repoName = socketJson.defaults.scan.create.repo;
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 (socketJson.defaults?.scan?.create?.report !== undefined) {
10510
- report = socketJson.defaults.scan.create.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(socketJson, cwd);
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 socketJson = await utils.readOrDefaultSocketJson(cwd);
11816
+ const sockJson = await utils.readOrDefaultSocketJson(cwd);
11819
11817
  if (all === undefined) {
11820
- if (socketJson.defaults?.scan?.github?.all !== undefined) {
11821
- all = socketJson.defaults?.scan?.github?.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 (socketJson.defaults?.scan?.github?.githubApiUrl !== undefined) {
11828
- githubApiUrl = socketJson.defaults.scan.github.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 (socketJson.defaults?.scan?.github?.orgGithub !== undefined) {
11835
- orgGithub = socketJson.defaults.scan.github.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 (socketJson.defaults?.scan?.github?.repos !== undefined) {
11843
- repos = socketJson.defaults.scan.github.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 socketJsonResult = await utils.readSocketJson(cwd, defaultOnReadError);
12599
- if (!socketJsonResult.ok) {
12600
- return socketJsonResult;
12596
+ const sockJsonCResult = await utils.readSocketJson(cwd, defaultOnReadError);
12597
+ if (!sockJsonCResult.ok) {
12598
+ return sockJsonCResult;
12601
12599
  }
12602
- const socketJson = socketJsonResult.data;
12603
- if (!socketJson.defaults) {
12604
- socketJson.defaults = {};
12600
+ const sockJson = sockJsonCResult.data;
12601
+ if (!sockJson.defaults) {
12602
+ sockJson.defaults = {};
12605
12603
  }
12606
- if (!socketJson.defaults.scan) {
12607
- socketJson.defaults.scan = {};
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 (!socketJson.defaults.scan.create) {
12627
- socketJson.defaults.scan.create = {};
12624
+ if (!sockJson.defaults.scan.create) {
12625
+ sockJson.defaults.scan.create = {};
12628
12626
  }
12629
- const result = await configureScan(socketJson.defaults.scan.create);
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 (!socketJson.defaults.scan.github) {
12638
- socketJson.defaults.scan.github = {};
12635
+ if (!sockJson.defaults.scan.github) {
12636
+ sockJson.defaults.scan.github = {};
12639
12637
  }
12640
- const result = await configureGithub(socketJson.defaults.scan.github);
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, socketJson);
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(file) {
13861
- return fs$1.readFile(file, 'utf8', function (err, data) {
13862
- if (err) {
13863
- logger.logger.fail('There was an error removing the alias:');
13864
- logger.logger.error(err);
13865
- return;
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
- const linesWithoutSocketAlias = data.split('\n').filter(l => l !== 'alias npm="socket npm"' && l !== 'alias npx="socket npx"');
13868
- const updatedFileContent = linesWithoutSocketAlias.join('\n');
13869
- fs$1.writeFile(file, updatedFileContent, function (err) {
13870
- if (err) {
13871
- logger.logger.error(err);
13872
- return;
13873
- }
13874
- logger.logger.success(`The alias was removed from ${file}. Running 'npm install' will now run the standard npm command in new terminals going forward.`);
13875
- logger.logger.log('');
13876
- logger.logger.info(`Note: We cannot deactivate the alias from current terminal sessions. You have to restart existing terminal sessions to finalize this step.`);
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=4d7d8bf0-8e58-40ba-ab95-da5d3fbe5cdd
14183
+ //# debugId=6563e8a4-fb02-463b-9448-1c01e45e1721
14181
14184
  //# sourceMappingURL=cli.js.map