@socketsecurity/cli-with-sentry 0.14.67 → 0.14.69

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 (96) hide show
  1. package/dist/blessed/lib/alias.js +521 -0
  2. package/dist/blessed/lib/blessed.js +34 -0
  3. package/dist/blessed/lib/colors.js +492 -0
  4. package/dist/blessed/lib/events.js +197 -0
  5. package/dist/blessed/lib/gpmclient.js +247 -0
  6. package/dist/blessed/lib/helpers.js +172 -0
  7. package/dist/blessed/lib/keys.js +514 -0
  8. package/dist/blessed/lib/program.js +4532 -0
  9. package/dist/blessed/lib/tput.js +3113 -0
  10. package/dist/blessed/lib/unicode.js +914 -0
  11. package/dist/blessed/lib/widget.js +62 -0
  12. package/dist/blessed/lib/widgets/ansiimage.js +175 -0
  13. package/dist/blessed/lib/widgets/bigtext.js +172 -0
  14. package/dist/blessed/lib/widgets/box.js +36 -0
  15. package/dist/blessed/lib/widgets/button.js +64 -0
  16. package/dist/blessed/lib/widgets/checkbox.js +97 -0
  17. package/dist/blessed/lib/widgets/element.js +2873 -0
  18. package/dist/blessed/lib/widgets/filemanager.js +225 -0
  19. package/dist/blessed/lib/widgets/form.js +303 -0
  20. package/dist/blessed/lib/widgets/image.js +73 -0
  21. package/dist/blessed/lib/widgets/input.js +36 -0
  22. package/dist/blessed/lib/widgets/layout.js +251 -0
  23. package/dist/blessed/lib/widgets/line.js +61 -0
  24. package/dist/blessed/lib/widgets/list.js +654 -0
  25. package/dist/blessed/lib/widgets/listbar.js +454 -0
  26. package/dist/blessed/lib/widgets/listtable.js +267 -0
  27. package/dist/blessed/lib/widgets/loading.js +90 -0
  28. package/dist/blessed/lib/widgets/log.js +84 -0
  29. package/dist/blessed/lib/widgets/message.js +147 -0
  30. package/dist/blessed/lib/widgets/node.js +316 -0
  31. package/dist/blessed/lib/widgets/overlayimage.js +796 -0
  32. package/dist/blessed/lib/widgets/progressbar.js +168 -0
  33. package/dist/blessed/lib/widgets/prompt.js +129 -0
  34. package/dist/blessed/lib/widgets/question.js +131 -0
  35. package/dist/blessed/lib/widgets/radiobutton.js +64 -0
  36. package/dist/blessed/lib/widgets/radioset.js +38 -0
  37. package/dist/blessed/lib/widgets/screen.js +2489 -0
  38. package/dist/blessed/lib/widgets/scrollablebox.js +417 -0
  39. package/dist/blessed/lib/widgets/scrollabletext.js +37 -0
  40. package/dist/blessed/lib/widgets/table.js +385 -0
  41. package/dist/blessed/lib/widgets/terminal.js +454 -0
  42. package/dist/blessed/lib/widgets/text.js +37 -0
  43. package/dist/blessed/lib/widgets/textarea.js +378 -0
  44. package/dist/blessed/lib/widgets/textbox.js +81 -0
  45. package/dist/blessed/lib/widgets/video.js +132 -0
  46. package/dist/blessed/usr/fonts/AUTHORS +1 -0
  47. package/dist/blessed/usr/fonts/LICENSE +94 -0
  48. package/dist/blessed/usr/fonts/README +340 -0
  49. package/dist/blessed/usr/fonts/ter-u14b.json +17826 -0
  50. package/dist/blessed/usr/fonts/ter-u14n.json +17826 -0
  51. package/dist/blessed/usr/linux +0 -0
  52. package/dist/blessed/usr/windows-ansi +0 -0
  53. package/dist/blessed/usr/xterm +0 -0
  54. package/dist/blessed/usr/xterm-256color +0 -0
  55. package/dist/blessed/usr/xterm.termcap +243 -0
  56. package/dist/blessed/usr/xterm.terminfo +1977 -0
  57. package/dist/blessed/vendor/tng.js +1878 -0
  58. package/dist/constants.d.ts +271 -207
  59. package/dist/constants.js +271 -227
  60. package/dist/constants.js.map +1 -1
  61. package/dist/instrument-with-sentry.d.ts +1 -1
  62. package/dist/instrument-with-sentry.js +27 -24
  63. package/dist/instrument-with-sentry.js.map +1 -1
  64. package/dist/module-sync/artifact.d.ts +60 -26
  65. package/dist/module-sync/cli.d.ts +1 -1
  66. package/dist/module-sync/cli.js +6803 -4726
  67. package/dist/module-sync/cli.js.map +1 -1
  68. package/dist/module-sync/cmd.d.ts +4 -4
  69. package/dist/module-sync/config.d.ts +42 -17
  70. package/dist/module-sync/edge.d.ts +73 -60
  71. package/dist/module-sync/errors.d.ts +26 -11
  72. package/dist/module-sync/index.d.ts +31 -20
  73. package/dist/module-sync/node.d.ts +118 -83
  74. package/dist/module-sync/override-set.d.ts +39 -33
  75. package/dist/module-sync/package-environment.d.ts +83 -52
  76. package/dist/module-sync/path-resolve.d.ts +14 -9
  77. package/dist/module-sync/sdk.d.ts +9 -5
  78. package/dist/module-sync/shadow-bin.d.ts +5 -2
  79. package/dist/module-sync/shadow-bin.js +82 -66
  80. package/dist/module-sync/shadow-bin.js.map +1 -1
  81. package/dist/module-sync/shadow-npm-inject.d.ts +1 -1
  82. package/dist/module-sync/shadow-npm-inject.js +1231 -986
  83. package/dist/module-sync/shadow-npm-inject.js.map +1 -1
  84. package/dist/module-sync/shadow-npm-paths.d.ts +28 -14
  85. package/dist/module-sync/shadow-npm-paths.js +300 -208
  86. package/dist/module-sync/shadow-npm-paths.js.map +1 -1
  87. package/dist/module-sync/socket-package-alert.d.ts +95 -39
  88. package/dist/module-sync/types.d.ts +75 -47
  89. package/dist/module-sync/vendor.js +15055 -0
  90. package/dist/module-sync/vendor.js.map +1 -0
  91. package/dist/require/cli.d.ts +1 -1
  92. package/dist/require/cli.js +6802 -4724
  93. package/dist/require/cli.js.map +1 -1
  94. package/dist/require/vendor.js +2 -9145
  95. package/package.json +48 -38
  96. package/dist/require/vendor.js.map +0 -1
@@ -1,56 +1,87 @@
1
- import { Logger } from '@socketsecurity/registry/lib/logger';
2
- import { Remap } from '@socketsecurity/registry/lib/objects';
3
- import { EditablePackageJson } from '@socketsecurity/registry/lib/packages';
4
- import { SemVer } from 'semver';
5
- declare const AGENTS: readonly ["bun", "npm", "pnpm", "yarn/berry", "yarn/classic", "vlt"];
6
- type Agent = (typeof AGENTS)[number];
1
+ import { Logger } from '@socketsecurity/registry/lib/logger'
2
+ import { Remap } from '@socketsecurity/registry/lib/objects'
3
+ import { EditablePackageJson } from '@socketsecurity/registry/lib/packages'
4
+ import { SemVer } from 'semver'
5
+ declare const AGENTS: readonly [
6
+ 'bun',
7
+ 'npm',
8
+ 'pnpm',
9
+ 'yarn/berry',
10
+ 'yarn/classic',
11
+ 'vlt'
12
+ ]
13
+ type Agent = (typeof AGENTS)[number]
7
14
  type StringKeyValueObject = {
8
- [key: string]: string;
9
- };
15
+ [key: string]: string
16
+ }
10
17
  type DetectOptions = {
11
- cwd?: string | undefined;
12
- onUnknown?: (pkgManager: string | undefined) => void;
13
- };
18
+ cwd?: string | undefined
19
+ onUnknown?: (pkgManager: string | undefined) => void
20
+ }
14
21
  type EnvBase = {
15
- agent: Agent;
16
- agentExecPath: string;
17
- agentSupported: boolean;
18
- features: {
19
- npmBuggyOverrides: boolean;
20
- };
21
- nodeSupported: boolean;
22
- nodeVersion: SemVer;
23
- npmExecPath: string;
24
- pkgRequirements: {
25
- agent: string;
26
- node: string;
27
- };
28
- pkgSupports: {
29
- agent: boolean;
30
- node: boolean;
31
- };
32
- };
33
- type EnvDetails = Readonly<Remap<EnvBase & {
34
- agentVersion: SemVer;
35
- lockName: string;
36
- lockPath: string;
37
- lockSrc: string;
38
- pkgJson: EditablePackageJson;
39
- pkgPath: string;
40
- }>>;
41
- type PartialEnvDetails = Readonly<Remap<EnvBase & {
42
- agentVersion: SemVer | undefined;
43
- lockName: string | undefined;
44
- lockPath: string | undefined;
45
- lockSrc: string | undefined;
46
- pkgJson: EditablePackageJson | undefined;
47
- pkgPath: string | undefined;
48
- }>>;
49
- declare function detectPackageEnvironment({ cwd, onUnknown }?: DetectOptions): Promise<EnvDetails | PartialEnvDetails>;
22
+ agent: Agent
23
+ agentExecPath: string
24
+ agentSupported: boolean
25
+ features: {
26
+ npmBuggyOverrides: boolean
27
+ }
28
+ nodeSupported: boolean
29
+ nodeVersion: SemVer
30
+ npmExecPath: string
31
+ pkgRequirements: {
32
+ agent: string
33
+ node: string
34
+ }
35
+ pkgSupports: {
36
+ agent: boolean
37
+ node: boolean
38
+ }
39
+ }
40
+ type EnvDetails = Readonly<
41
+ Remap<
42
+ EnvBase & {
43
+ agentVersion: SemVer
44
+ lockName: string
45
+ lockPath: string
46
+ lockSrc: string
47
+ pkgJson: EditablePackageJson
48
+ pkgPath: string
49
+ }
50
+ >
51
+ >
52
+ type PartialEnvDetails = Readonly<
53
+ Remap<
54
+ EnvBase & {
55
+ agentVersion: SemVer | undefined
56
+ lockName: string | undefined
57
+ lockPath: string | undefined
58
+ lockSrc: string | undefined
59
+ pkgJson: EditablePackageJson | undefined
60
+ pkgPath: string | undefined
61
+ }
62
+ >
63
+ >
64
+ declare function detectPackageEnvironment({
65
+ cwd,
66
+ onUnknown
67
+ }?: DetectOptions): Promise<EnvDetails | PartialEnvDetails>
50
68
  type DetectAndValidateOptions = {
51
- cmdName?: string | undefined;
52
- logger?: Logger | undefined;
53
- prod?: boolean | undefined;
54
- };
55
- declare function detectAndValidatePackageEnvironment(cwd: string, options?: DetectAndValidateOptions | undefined): Promise<void | EnvDetails>;
56
- export { AGENTS, Agent, StringKeyValueObject, DetectOptions, EnvDetails, PartialEnvDetails, detectPackageEnvironment, DetectAndValidateOptions, detectAndValidatePackageEnvironment };
69
+ cmdName?: string | undefined
70
+ logger?: Logger | undefined
71
+ prod?: boolean | undefined
72
+ }
73
+ declare function detectAndValidatePackageEnvironment(
74
+ cwd: string,
75
+ options?: DetectAndValidateOptions | undefined
76
+ ): Promise<void | EnvDetails>
77
+ export {
78
+ AGENTS,
79
+ Agent,
80
+ StringKeyValueObject,
81
+ DetectOptions,
82
+ EnvDetails,
83
+ PartialEnvDetails,
84
+ detectPackageEnvironment,
85
+ DetectAndValidateOptions,
86
+ detectAndValidatePackageEnvironment
87
+ }
@@ -1,10 +1,15 @@
1
- import { SocketYml } from '@socketsecurity/config';
2
- import { SocketSdkReturnType } from '@socketsecurity/sdk';
1
+ import { SocketYml } from '@socketsecurity/config'
2
+ import { SocketSdkReturnType } from '@socketsecurity/sdk'
3
3
  declare function findBinPathDetailsSync(binName: string): {
4
- name: string;
5
- path: string | undefined;
6
- shadowed: boolean;
7
- };
8
- declare function findNpmPathSync(npmBinPath: string): string | undefined;
9
- declare function getPackageFilesForScan(cwd: string, inputPaths: string[], supportedFiles: SocketSdkReturnType<'getReportSupportedFiles'>['data'], config?: SocketYml | undefined): Promise<string[]>;
10
- export { findBinPathDetailsSync, findNpmPathSync, getPackageFilesForScan };
4
+ name: string
5
+ path: string | undefined
6
+ shadowed: boolean
7
+ }
8
+ declare function findNpmPathSync(npmBinPath: string): string | undefined
9
+ declare function getPackageFilesForScan(
10
+ cwd: string,
11
+ inputPaths: string[],
12
+ supportedFiles: SocketSdkReturnType<'getReportSupportedFiles'>['data'],
13
+ config?: SocketYml | undefined
14
+ ): Promise<string[]>
15
+ export { findBinPathDetailsSync, findNpmPathSync, getPackageFilesForScan }
@@ -1,5 +1,9 @@
1
- import { SocketSdk } from '@socketsecurity/sdk';
2
- declare function getDefaultToken(): string | undefined;
3
- declare function getPublicToken(): string;
4
- declare function setupSdk(apiToken?: string | undefined, apiBaseUrl?: string | undefined, proxy?: string | undefined): Promise<SocketSdk>;
5
- export { getDefaultToken, getPublicToken, setupSdk };
1
+ import { SocketSdk } from '@socketsecurity/sdk'
2
+ declare function getDefaultToken(): string | undefined
3
+ declare function getPublicToken(): string
4
+ declare function setupSdk(
5
+ apiToken?: string | undefined,
6
+ apiBaseUrl?: string | undefined,
7
+ proxy?: string | undefined
8
+ ): Promise<SocketSdk>
9
+ export { getDefaultToken, getPublicToken, setupSdk }
@@ -1,2 +1,5 @@
1
- declare function shadowBin(binName: 'npm' | 'npx', args?: string[]): Promise<void>;
2
- export { shadowBin as default };
1
+ declare function shadowBin(
2
+ binName: 'npm' | 'npx',
3
+ args?: string[]
4
+ ): Promise<void>
5
+ export { shadowBin as default }
@@ -1,105 +1,121 @@
1
- 'use strict';
1
+ 'use strict'
2
2
 
3
3
  function _socketInterop(e) {
4
4
  let c = 0
5
5
  for (const k in e ?? {}) {
6
6
  c = c === 0 && k === 'default' ? 1 : 0
7
- if (!c && k !== '__esModule') break
7
+ if (!c && k !== '__esModule') {
8
+ break
9
+ }
8
10
  }
9
11
  return c ? e.default : e
10
12
  }
11
13
 
12
- var process = require('node:process');
13
- var debug = require('@socketsecurity/registry/lib/debug');
14
- var npm = require('@socketsecurity/registry/lib/npm');
15
- var spawn = require('@socketsecurity/registry/lib/spawn');
16
- var path = require('node:path');
17
- var cmdShim = _socketInterop(require('cmd-shim'));
18
- var shadowNpmPaths = require('./shadow-npm-paths.js');
19
- var constants = require('./constants.js');
14
+ const process = require('node:process')
15
+ const debug = require('@socketsecurity/registry/lib/debug')
16
+ const npm = require('@socketsecurity/registry/lib/npm')
17
+ const spawn = require('@socketsecurity/registry/lib/spawn')
18
+ const path = require('node:path')
19
+ const cmdShim = _socketInterop(require('cmd-shim'))
20
+ const shadowNpmPaths = require('./shadow-npm-paths.js')
21
+ const constants = require('./constants.js')
20
22
 
21
- const {
22
- CLI,
23
- NPX
24
- } = constants;
23
+ const { CLI, NPX } = constants
25
24
  async function installLinks(realBinPath, binName) {
26
- const isNpx = binName === NPX;
25
+ const isNpx = binName === NPX
27
26
  // Find package manager being shadowed by this process.
28
- const binPath = isNpx ? shadowNpmPaths.getNpxBinPath() : shadowNpmPaths.getNpmBinPath();
27
+ const binPath = isNpx
28
+ ? shadowNpmPaths.getNpxBinPath()
29
+ : shadowNpmPaths.getNpmBinPath()
29
30
  // Lazily access constants.WIN32.
30
- const {
31
- WIN32
32
- } = constants;
31
+ const { WIN32 } = constants
33
32
  // TODO: Is this early exit needed?
34
33
  if (WIN32 && binPath) {
35
- return binPath;
34
+ return binPath
36
35
  }
37
- const shadowed = isNpx ? shadowNpmPaths.isNpxBinPathShadowed() : shadowNpmPaths.isNpmBinPathShadowed();
36
+ const shadowed = isNpx
37
+ ? shadowNpmPaths.isNpxBinPathShadowed()
38
+ : shadowNpmPaths.isNpmBinPathShadowed()
38
39
  // Move our bin directory to front of PATH so its found first.
39
40
  if (!shadowed) {
40
41
  if (WIN32) {
41
42
  await cmdShim(
42
- // Lazily access constants.rootDistPath.
43
- path.join(constants.rootDistPath, `${binName}-${CLI}.js`), path.join(realBinPath, binName));
43
+ // Lazily access constants.rootDistPath.
44
+ path.join(constants.rootDistPath, `${binName}-${CLI}.js`),
45
+ path.join(realBinPath, binName)
46
+ )
44
47
  }
45
- process.env['PATH'] = `${realBinPath}${path.delimiter}${process.env['PATH']}`;
48
+ const { env } = process
49
+ env['PATH'] = `${realBinPath}${path.delimiter}${env['PATH']}`
46
50
  }
47
- return binPath;
51
+ return binPath
48
52
  }
49
53
 
50
- const {
51
- SOCKET_CLI_SAFE_WRAPPER,
52
- SOCKET_IPC_HANDSHAKE
53
- } = constants;
54
+ const { SOCKET_CLI_SAFE_BIN, SOCKET_CLI_SAFE_PROGRESS, SOCKET_IPC_HANDSHAKE } =
55
+ constants
54
56
  async function shadowBin(binName, args = process.argv.slice(2)) {
55
- process.exitCode = 1;
56
- const useDebug = debug.isDebug();
57
- const terminatorPos = args.indexOf('--');
58
- const binArgs = (terminatorPos === -1 ? args : args.slice(0, terminatorPos)).filter(a => !npm.isProgressFlag(a));
59
- const otherArgs = terminatorPos === -1 ? [] : args.slice(terminatorPos);
60
- const isSilent = !useDebug && !binArgs.some(npm.isLoglevelFlag);
57
+ process.exitCode = 1
58
+ const useDebug = debug.isDebug()
59
+ const terminatorPos = args.indexOf('--')
60
+ const rawBinArgs = terminatorPos === -1 ? args : args.slice(0, terminatorPos)
61
+ const progressArg =
62
+ rawBinArgs.findLast(npm.isProgressFlag) !== '--no-progress'
63
+ const binArgs = rawBinArgs.filter(a => !npm.isProgressFlag(a))
64
+ const otherArgs = terminatorPos === -1 ? [] : args.slice(terminatorPos)
65
+ const isSilent = !useDebug && !binArgs.some(npm.isLoglevelFlag)
61
66
  // The default value of loglevel is "notice". We default to "error" which is
62
67
  // two levels quieter.
63
- const logLevelArgs = isSilent ? ['--loglevel', 'error'] : [];
68
+ const logLevelArgs = isSilent ? ['--loglevel', 'error'] : []
64
69
  const spawnPromise = spawn.spawn(
65
- // Lazily access constants.execPath.
66
- constants.execPath, [
67
- // Lazily access constants.nodeHardenFlags.
68
- ...constants.nodeHardenFlags,
69
- // Lazily access constants.nodeNoWarningsFlags.
70
- ...constants.nodeNoWarningsFlags,
71
- // Lazily access true.
72
- ...(['--require',
73
- // Lazily access constants.distInstrumentWithSentryPath.
74
- constants.distInstrumentWithSentryPath] ), '--require',
75
- // Lazily access constants.distShadowNpmInjectPath.
76
- constants.distShadowNpmInjectPath,
77
- // Lazily access constants.shadowBinPath.
78
- await installLinks(constants.shadowBinPath, binName),
79
- // Add '--no-progress' to fix input being swallowed by the npm spinner.
80
- '--no-progress',
81
- // Add '--loglevel=error' if a loglevel flag is not provided and the
82
- // SOCKET_CLI_DEBUG environment variable is not truthy.
83
- ...logLevelArgs, ...binArgs, ...otherArgs], {
84
- // 'inherit' + 'ipc'
85
- stdio: [0, 1, 2, 'ipc']
86
- });
70
+ // Lazily access constants.execPath.
71
+ constants.execPath,
72
+ [
73
+ // Lazily access constants.nodeHardenFlags.
74
+ ...constants.nodeHardenFlags,
75
+ // Lazily access constants.nodeNoWarningsFlags.
76
+ ...constants.nodeNoWarningsFlags,
77
+ // Lazily access true.
78
+ ...[
79
+ '--require',
80
+ // Lazily access constants.distInstrumentWithSentryPath.
81
+ constants.distInstrumentWithSentryPath
82
+ ],
83
+ '--require',
84
+ // Lazily access constants.distShadowNpmInjectPath.
85
+ constants.distShadowNpmInjectPath,
86
+ // Lazily access constants.shadowBinPath.
87
+ await installLinks(constants.shadowBinPath, binName),
88
+ // Add '--no-progress' to fix input being swallowed by the npm spinner.
89
+ '--no-progress',
90
+ // Add '--loglevel=error' if a loglevel flag is not provided and the
91
+ // SOCKET_CLI_DEBUG environment variable is not truthy.
92
+ ...logLevelArgs,
93
+ ...binArgs,
94
+ ...otherArgs
95
+ ],
96
+ {
97
+ // 'inherit' + 'ipc'
98
+ stdio: [0, 1, 2, 'ipc']
99
+ }
100
+ )
87
101
  // See https://nodejs.org/api/all.html#all_child_process_event-exit.
88
102
  spawnPromise.process.on('exit', (code, signalName) => {
89
103
  if (signalName) {
90
- process.kill(process.pid, signalName);
104
+ process.kill(process.pid, signalName)
91
105
  } else if (code !== null) {
92
- process.exit(code);
106
+ // eslint-disable-next-line n/no-process-exit
107
+ process.exit(code)
93
108
  }
94
- });
109
+ })
95
110
  spawnPromise.process.send({
96
111
  [SOCKET_IPC_HANDSHAKE]: {
97
- [SOCKET_CLI_SAFE_WRAPPER]: binName
112
+ [SOCKET_CLI_SAFE_BIN]: binName,
113
+ [SOCKET_CLI_SAFE_PROGRESS]: progressArg
98
114
  }
99
- });
100
- await spawnPromise;
115
+ })
116
+ await spawnPromise
101
117
  }
102
118
 
103
- module.exports = shadowBin;
104
- //# debugId=bf8f79ac-a63c-41a9-b162-f90694b830f6
119
+ module.exports = shadowBin
120
+ //# debugId=3488d19d-a988-44e5-a63f-309d31b935be
105
121
  //# sourceMappingURL=shadow-bin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-bin.js","sources":["../../src/shadow/npm/link.ts","../../src/shadow/npm/bin.ts"],"sourcesContent":["import path from 'node:path'\nimport process from 'node:process'\n\nimport cmdShim from 'cmd-shim'\n\nimport {\n getNpmBinPath,\n getNpxBinPath,\n isNpmBinPathShadowed,\n isNpxBinPathShadowed\n} from './paths'\nimport constants from '../../constants'\n\nconst { CLI, NPX } = constants\n\nexport async function installLinks(\n realBinPath: string,\n binName: 'npm' | 'npx'\n): Promise<string> {\n const isNpx = binName === NPX\n // Find package manager being shadowed by this process.\n const binPath = isNpx ? getNpxBinPath() : getNpmBinPath()\n // Lazily access constants.WIN32.\n const { WIN32 } = constants\n // TODO: Is this early exit needed?\n if (WIN32 && binPath) {\n return binPath\n }\n const shadowed = isNpx ? isNpxBinPathShadowed() : isNpmBinPathShadowed()\n // Move our bin directory to front of PATH so its found first.\n if (!shadowed) {\n if (WIN32) {\n await cmdShim(\n // Lazily access constants.rootDistPath.\n path.join(constants.rootDistPath, `${binName}-${CLI}.js`),\n path.join(realBinPath, binName)\n )\n }\n process.env['PATH'] =\n `${realBinPath}${path.delimiter}${process.env['PATH']}`\n }\n return binPath\n}\n","import process from 'node:process'\n\nimport { isDebug } from '@socketsecurity/registry/lib/debug'\nimport {\n isLoglevelFlag,\n isProgressFlag\n} from '@socketsecurity/registry/lib/npm'\nimport { spawn } from '@socketsecurity/registry/lib/spawn'\n\nimport { installLinks } from './link'\nimport constants from '../../constants'\n\nconst { SOCKET_CLI_SAFE_WRAPPER, SOCKET_IPC_HANDSHAKE } = constants\n\nexport default async function shadowBin(\n binName: 'npm' | 'npx',\n args = process.argv.slice(2)\n) {\n process.exitCode = 1\n const useDebug = isDebug()\n const terminatorPos = args.indexOf('--')\n const binArgs = (\n terminatorPos === -1 ? args : args.slice(0, terminatorPos)\n ).filter(a => !isProgressFlag(a))\n const otherArgs = terminatorPos === -1 ? [] : args.slice(terminatorPos)\n const isSilent = !useDebug && !binArgs.some(isLoglevelFlag)\n // The default value of loglevel is \"notice\". We default to \"error\" which is\n // two levels quieter.\n const logLevelArgs = isSilent ? ['--loglevel', 'error'] : []\n const spawnPromise = spawn(\n // Lazily access constants.execPath.\n constants.execPath,\n [\n // Lazily access constants.nodeHardenFlags.\n ...constants.nodeHardenFlags,\n // Lazily access constants.nodeNoWarningsFlags.\n ...constants.nodeNoWarningsFlags,\n // Lazily access process.env['INLINED_SOCKET_CLI_SENTRY_BUILD'].\n ...(process.env['INLINED_SOCKET_CLI_SENTRY_BUILD']\n ? [\n '--require',\n // Lazily access constants.distInstrumentWithSentryPath.\n constants.distInstrumentWithSentryPath\n ]\n : []),\n '--require',\n // Lazily access constants.distShadowNpmInjectPath.\n constants.distShadowNpmInjectPath,\n // Lazily access constants.shadowBinPath.\n await installLinks(constants.shadowBinPath, binName),\n // Add '--no-progress' to fix input being swallowed by the npm spinner.\n '--no-progress',\n // Add '--loglevel=error' if a loglevel flag is not provided and the\n // SOCKET_CLI_DEBUG environment variable is not truthy.\n ...logLevelArgs,\n ...binArgs,\n ...otherArgs\n ],\n {\n // 'inherit' + 'ipc'\n stdio: [0, 1, 2, 'ipc']\n }\n )\n // See https://nodejs.org/api/all.html#all_child_process_event-exit.\n spawnPromise.process.on('exit', (code, signalName) => {\n if (signalName) {\n process.kill(process.pid, signalName)\n } else if (code !== null) {\n process.exit(code)\n }\n })\n spawnPromise.process.send({\n [SOCKET_IPC_HANDSHAKE]: {\n [SOCKET_CLI_SAFE_WRAPPER]: binName\n }\n })\n await spawnPromise\n}\n"],"names":["NPX","WIN32","process","SOCKET_IPC_HANDSHAKE","constants","spawnPromise"],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA;;AAAaA;AAAI;AAEV;AAIL;AACA;;AAEA;;AACQC;AAAM;AACd;;AAEE;AACF;;AAEA;;AAEE;AACE;AACE;;AAIJ;AACAC;AAEF;AACA;AACF;;AC9BA;;AAAiCC;AAAqB;AAEvC;;AAKb;AACA;AACA;AAGA;;AAEA;AACA;;;AAGE;;AAGE;;AAEA;;AAEA;;AAIM;AACAC;AAIN;AACAA;AACA;AACA;AACA;;AAEA;AACA;;AAMA;;AAEF;AAEF;;AAEE;;AAEA;AACEF;AACF;AACF;AACAG;AACE;AACE;AACF;AACF;AACA;AACF;;","debugId":"bf8f79ac-a63c-41a9-b162-f90694b830f6"}
1
+ {"version":3,"file":"shadow-bin.js","sources":["../../src/shadow/npm/link.ts","../../src/shadow/npm/bin.ts"],"sourcesContent":["import path from 'node:path'\nimport process from 'node:process'\n\nimport cmdShim from 'cmd-shim'\n\nimport {\n getNpmBinPath,\n getNpxBinPath,\n isNpmBinPathShadowed,\n isNpxBinPathShadowed\n} from './paths'\nimport constants from '../../constants'\n\nconst { CLI, NPX } = constants\n\nexport async function installLinks(\n realBinPath: string,\n binName: 'npm' | 'npx'\n): Promise<string> {\n const isNpx = binName === NPX\n // Find package manager being shadowed by this process.\n const binPath = isNpx ? getNpxBinPath() : getNpmBinPath()\n // Lazily access constants.WIN32.\n const { WIN32 } = constants\n // TODO: Is this early exit needed?\n if (WIN32 && binPath) {\n return binPath\n }\n const shadowed = isNpx ? isNpxBinPathShadowed() : isNpmBinPathShadowed()\n // Move our bin directory to front of PATH so its found first.\n if (!shadowed) {\n if (WIN32) {\n await cmdShim(\n // Lazily access constants.rootDistPath.\n path.join(constants.rootDistPath, `${binName}-${CLI}.js`),\n path.join(realBinPath, binName)\n )\n }\n const { env } = process\n env['PATH'] = `${realBinPath}${path.delimiter}${env['PATH']}`\n }\n return binPath\n}\n","import process from 'node:process'\n\nimport { isDebug } from '@socketsecurity/registry/lib/debug'\nimport {\n isLoglevelFlag,\n isProgressFlag\n} from '@socketsecurity/registry/lib/npm'\nimport { spawn } from '@socketsecurity/registry/lib/spawn'\n\nimport { installLinks } from './link'\nimport constants from '../../constants'\n\nconst { SOCKET_CLI_SAFE_BIN, SOCKET_CLI_SAFE_PROGRESS, SOCKET_IPC_HANDSHAKE } =\n constants\n\nexport default async function shadowBin(\n binName: 'npm' | 'npx',\n args = process.argv.slice(2)\n) {\n process.exitCode = 1\n const useDebug = isDebug()\n const terminatorPos = args.indexOf('--')\n const rawBinArgs = terminatorPos === -1 ? args : args.slice(0, terminatorPos)\n const progressArg = rawBinArgs.findLast(isProgressFlag) !== '--no-progress'\n const binArgs = rawBinArgs.filter(a => !isProgressFlag(a))\n const otherArgs = terminatorPos === -1 ? [] : args.slice(terminatorPos)\n const isSilent = !useDebug && !binArgs.some(isLoglevelFlag)\n // The default value of loglevel is \"notice\". We default to \"error\" which is\n // two levels quieter.\n const logLevelArgs = isSilent ? ['--loglevel', 'error'] : []\n const spawnPromise = spawn(\n // Lazily access constants.execPath.\n constants.execPath,\n [\n // Lazily access constants.nodeHardenFlags.\n ...constants.nodeHardenFlags,\n // Lazily access constants.nodeNoWarningsFlags.\n ...constants.nodeNoWarningsFlags,\n // Lazily access process.env['INLINED_SOCKET_CLI_SENTRY_BUILD'].\n ...(process.env['INLINED_SOCKET_CLI_SENTRY_BUILD']\n ? [\n '--require',\n // Lazily access constants.distInstrumentWithSentryPath.\n constants.distInstrumentWithSentryPath\n ]\n : []),\n '--require',\n // Lazily access constants.distShadowNpmInjectPath.\n constants.distShadowNpmInjectPath,\n // Lazily access constants.shadowBinPath.\n await installLinks(constants.shadowBinPath, binName),\n // Add '--no-progress' to fix input being swallowed by the npm spinner.\n '--no-progress',\n // Add '--loglevel=error' if a loglevel flag is not provided and the\n // SOCKET_CLI_DEBUG environment variable is not truthy.\n ...logLevelArgs,\n ...binArgs,\n ...otherArgs\n ],\n {\n // 'inherit' + 'ipc'\n stdio: [0, 1, 2, 'ipc']\n }\n )\n // See https://nodejs.org/api/all.html#all_child_process_event-exit.\n spawnPromise.process.on('exit', (code, signalName) => {\n if (signalName) {\n process.kill(process.pid, signalName)\n } else if (code !== null) {\n // eslint-disable-next-line n/no-process-exit\n process.exit(code)\n }\n })\n spawnPromise.process.send({\n [SOCKET_IPC_HANDSHAKE]: {\n [SOCKET_CLI_SAFE_BIN]: binName,\n [SOCKET_CLI_SAFE_PROGRESS]: progressArg\n }\n })\n await spawnPromise\n}\n"],"names":["NPX","WIN32","env","SOCKET_IPC_HANDSHAKE","constants","process","spawnPromise"],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA;;AAAaA;AAAI;AAEV;AAIL;AACA;;AAEA;;AACQC;AAAM;AACd;;AAEE;AACF;;AAEA;;AAEE;AACE;AACE;;AAIJ;;AACQC;AAAI;AACZA;AACF;AACA;AACF;;AC9BA;;;AAAuDC;AAAqB;AAG7D;;AAKb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGE;;AAGE;;AAEA;;AAEA;;AAIM;AACAC;AAIN;AACAA;AACA;AACA;AACA;;AAEA;AACA;;AAMA;;AAEF;AAEF;;AAEE;;AAEA;AACE;AACAC;AACF;AACF;AACAC;AACE;;AAEE;AACF;AACF;AACA;AACF;;","debugId":"3488d19d-a988-44e5-a63f-309d31b935be"}
@@ -1 +1 @@
1
- export {};
1
+ export {}