@socketsecurity/cli-with-sentry 1.1.5 → 1.1.7

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/constants.js CHANGED
@@ -202,7 +202,7 @@ const LAZY_ENV = () => {
202
202
  GITHUB_TOKEN,
203
203
  // Comp-time inlined @coana-tech/cli package version.
204
204
  // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION']".
205
- INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION: envAsString("14.12.22"),
205
+ INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION: envAsString("14.12.25"),
206
206
  // Comp-time inlined @cyclonedx/cdxgen package version.
207
207
  // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION']".
208
208
  INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION: envAsString("11.7.0"),
@@ -226,10 +226,10 @@ const LAZY_ENV = () => {
226
226
  INLINED_SOCKET_CLI_SYNP_VERSION: envAsString("1.9.14"),
227
227
  // Comp-time inlined Socket package version.
228
228
  // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_VERSION']".
229
- INLINED_SOCKET_CLI_VERSION: envAsString("1.1.5"),
229
+ INLINED_SOCKET_CLI_VERSION: envAsString("1.1.7"),
230
230
  // Comp-time inlined Socket package version hash.
231
231
  // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_VERSION_HASH']".
232
- INLINED_SOCKET_CLI_VERSION_HASH: envAsString("1.1.5:80a4114:80d5a945:pub"),
232
+ INLINED_SOCKET_CLI_VERSION_HASH: envAsString("1.1.7:95ac408:31bf3d2a:pub"),
233
233
  // The absolute location of the %localappdata% folder on Windows used to store
234
234
  // user-specific, non-roaming application data, like temporary files, cached
235
235
  // data, and program settings, that are specific to the current machine and user.
@@ -687,5 +687,5 @@ exports.YARN_BERRY = YARN_BERRY;
687
687
  exports.YARN_CLASSIC = YARN_CLASSIC;
688
688
  exports.YARN_LOCK = YARN_LOCK;
689
689
  exports.default = constants;
690
- //# debugId=4786da6b-da55-4b37-b632-365b4ad89ca7
690
+ //# debugId=7c213afa-7345-4ad2-8082-d65d34995557
691
691
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../src/constants.mts"],"sourcesContent":["import { realpathSync } from 'node:fs'\nimport { createRequire } from 'node:module'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nimport registryConstants from '@socketsecurity/registry/lib/constants'\n\nimport type { Agent } from './utils/package-environment.mts'\nimport type { Remap } from '@socketsecurity/registry/lib/objects'\nimport type { SpawnOptions } from '@socketsecurity/registry/lib/spawn'\n\nconst require = createRequire(import.meta.url)\nconst __filename = fileURLToPath(import.meta.url)\n// Using `path.dirname(__filename)` to resolve `__dirname` works for both 'dist'\n// AND 'src' directories because constants.js and constants.mts respectively are\n// in the root of each.\nconst __dirname = path.dirname(__filename)\n\nconst {\n AT_LATEST,\n BIOME_JSON,\n CI,\n COLUMN_LIMIT,\n EMPTY_FILE,\n ESLINT_CONFIG_JS,\n ESNEXT,\n EXT_CJS,\n EXT_CMD,\n EXT_CTS,\n EXT_DTS,\n EXT_JS,\n EXT_JSON,\n EXT_LOCK,\n EXT_LOCKB,\n EXT_MD,\n EXT_MJS,\n EXT_MTS,\n EXT_PS1,\n EXTENSIONS,\n EXTENSIONS_JSON,\n GITIGNORE,\n HIDDEN_PACKAGE_LOCK_JSON,\n LATEST,\n LICENSE,\n LICENSE_GLOB,\n LICENSE_GLOB_RECURSIVE,\n LICENSE_ORIGINAL,\n LICENSE_ORIGINAL_GLOB,\n LICENSE_ORIGINAL_GLOB_RECURSIVE,\n LOOP_SENTINEL,\n MANIFEST_JSON,\n MIT,\n NODE_AUTH_TOKEN,\n NODE_ENV,\n NODE_MODULES,\n NODE_MODULES_GLOB_RECURSIVE,\n NODE_WORKSPACES,\n NPM,\n NPX,\n OVERRIDES,\n PACKAGE_DEFAULT_VERSION,\n PACKAGE_JSON,\n PACKAGE_LOCK_JSON,\n PNPM,\n PRE_COMMIT,\n README_GLOB,\n README_GLOB_RECURSIVE,\n REGISTRY_SCOPE_DELIMITER,\n README_MD,\n REGISTRY,\n RESOLUTIONS,\n SOCKET_GITHUB_ORG,\n SOCKET_IPC_HANDSHAKE,\n SOCKET_OVERRIDE_SCOPE,\n SOCKET_PUBLIC_API_TOKEN,\n SOCKET_REGISTRY_NPM_ORG,\n SOCKET_REGISTRY_PACKAGE_NAME,\n SOCKET_REGISTRY_REPO_NAME,\n SOCKET_REGISTRY_SCOPE,\n SOCKET_SECURITY_SCOPE,\n UNLICENCED,\n UNLICENSED,\n UTF8,\n VITEST,\n YARN_LOCK,\n kInternalsSymbol,\n [kInternalsSymbol as unknown as 'Symbol(kInternalsSymbol)']: {\n attributes: registryConstantsAttribs,\n createConstantsObject,\n getIpc,\n },\n} = registryConstants\n\nexport type RegistryEnv = typeof registryConstants.ENV\n\nexport type RegistryInternals =\n (typeof registryConstants)['Symbol(kInternalsSymbol)']\n\nexport type Sentry = any\n\nexport type Internals = Remap<\n Omit<RegistryInternals, 'getIpc'> &\n Readonly<{\n getIpc: {\n (): Promise<IpcObject>\n <K extends keyof IpcObject | undefined>(\n key?: K | undefined,\n ): Promise<K extends keyof IpcObject ? IpcObject[K] : IpcObject>\n }\n getSentry: () => Sentry\n setSentry(Sentry: Sentry): boolean\n }>\n>\n\nexport type ENV = Remap<\n RegistryEnv &\n Readonly<{\n DISABLE_GITHUB_CACHE: boolean\n GITHUB_API_URL: string\n GITHUB_BASE_REF: string\n GITHUB_REF_NAME: string\n GITHUB_REF_TYPE: string\n GITHUB_REPOSITORY: string\n GITHUB_SERVER_URL: string\n GITHUB_TOKEN: string\n INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION: string\n INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION: string\n INLINED_SOCKET_CLI_HOMEPAGE: string\n INLINED_SOCKET_CLI_LEGACY_BUILD: string\n INLINED_SOCKET_CLI_NAME: string\n INLINED_SOCKET_CLI_PUBLISHED_BUILD: string\n INLINED_SOCKET_CLI_SENTRY_BUILD: string\n INLINED_SOCKET_CLI_VERSION: string\n INLINED_SOCKET_CLI_VERSION_HASH: string\n INLINED_SOCKET_CLI_SYNP_VERSION: string\n LOCALAPPDATA: string\n NODE_COMPILE_CACHE: string\n NODE_EXTRA_CA_CERTS: string\n PATH: string\n SOCKET_CLI_ACCEPT_RISKS: boolean\n SOCKET_CLI_API_BASE_URL: string\n SOCKET_CLI_API_PROXY: string\n SOCKET_CLI_API_TIMEOUT: number\n SOCKET_CLI_API_TOKEN: string\n SOCKET_CLI_CONFIG: string\n SOCKET_CLI_GIT_USER_EMAIL: string\n SOCKET_CLI_GIT_USER_NAME: string\n SOCKET_CLI_GITHUB_TOKEN: string\n SOCKET_CLI_NO_API_TOKEN: boolean\n SOCKET_CLI_NPM_PATH: string\n SOCKET_CLI_ORG_SLUG: string\n SOCKET_CLI_VIEW_ALL_RISKS: boolean\n TERM: string\n XDG_DATA_HOME: string\n }>\n>\n\nexport type IpcObject = Readonly<{\n SOCKET_CLI_FIX?: string | undefined\n SOCKET_CLI_OPTIMIZE?: boolean | undefined\n SOCKET_CLI_SHADOW_ACCEPT_RISKS?: boolean | undefined\n SOCKET_CLI_SHADOW_API_TOKEN?: string | undefined\n SOCKET_CLI_SHADOW_BIN?: string | undefined\n SOCKET_CLI_SHADOW_PROGRESS?: boolean | undefined\n SOCKET_CLI_SHADOW_SILENT?: boolean | undefined\n}>\n\nexport type ProcessEnv = {\n [K in keyof ENV]?: string\n}\n\nconst ALERT_TYPE_CRITICAL_CVE = 'criticalCVE'\nconst ALERT_TYPE_CVE = 'cve'\nconst ALERT_TYPE_MEDIUM_CVE = 'mediumCVE'\nconst ALERT_TYPE_MILD_CVE = 'mildCVE'\nconst API_V0_URL = 'https://api.socket.dev/v0/'\nconst BUN = 'bun'\nconst DOT_SOCKET = '.socket'\nconst DOT_SOCKET_DOT_FACTS_JSON = `${DOT_SOCKET}.facts.json`\nconst DRY_RUN_LABEL = '[DryRun]'\nconst DRY_RUN_BAILING_NOW = `${DRY_RUN_LABEL}: Bailing now`\nconst DRY_RUN_NOT_SAVING = `${DRY_RUN_LABEL}: Not saving`\nconst FOLD_SETTING_FILE = 'file'\nconst FOLD_SETTING_NONE = 'none'\nconst FOLD_SETTING_PKG = 'pkg'\nconst FOLD_SETTING_VERSION = 'version'\nconst GQL_PAGE_SENTINEL = 100\nconst GQL_PR_STATE_CLOSED = 'CLOSED'\nconst GQL_PR_STATE_MERGED = 'MERGED'\nconst GQL_PR_STATE_OPEN = 'OPEN'\nconst LOCALAPPDATA = 'LOCALAPPDATA'\nconst NPM_BUGGY_OVERRIDES_PATCHED_VERSION = '11.2.0'\nconst NPM_REGISTRY_URL = 'https://registry.npmjs.org'\nconst OUTPUT_JSON = 'json'\nconst OUTPUT_MARKDOWN = 'markdown'\nconst OUTPUT_TEXT = 'text'\nconst REDACTED = '<redacted>'\nconst REPORT_LEVEL_DEFER = 'defer'\nconst REPORT_LEVEL_ERROR = 'error'\nconst REPORT_LEVEL_IGNORE = 'ignore'\nconst REPORT_LEVEL_MONITOR = 'monitor'\nconst REPORT_LEVEL_WARN = 'warn'\nconst SOCKET_CLI_ACCEPT_RISKS = 'SOCKET_CLI_ACCEPT_RISKS'\nconst SOCKET_CLI_BIN_NAME = 'socket'\nconst SOCKET_CLI_ISSUES_URL = 'https://github.com/SocketDev/socket-cli/issues'\nconst SOCKET_CLI_SHADOW_ACCEPT_RISKS = 'SOCKET_CLI_SHADOW_ACCEPT_RISKS'\nconst SOCKET_CLI_SHADOW_API_TOKEN = 'SOCKET_CLI_SHADOW_API_TOKEN'\nconst SOCKET_CLI_SHADOW_BIN = 'SOCKET_CLI_SHADOW_BIN'\nconst SOCKET_CLI_SHADOW_PROGRESS = 'SOCKET_CLI_SHADOW_PROGRESS'\nconst SOCKET_CLI_SHADOW_SILENT = 'SOCKET_CLI_SHADOW_SILENT'\nconst SOCKET_CLI_VIEW_ALL_RISKS = 'SOCKET_CLI_VIEW_ALL_RISKS'\nconst SOCKET_DEFAULT_BRANCH = 'socket-default-branch'\nconst SOCKET_DEFAULT_REPOSITORY = 'socket-default-repository'\nconst SOCKET_WEBSITE_URL = 'https://socket.dev'\nconst UNKNOWN_ERROR = 'Unknown error'\nconst UNKNOWN_VALUE = '<unknown>'\nconst V1_MIGRATION_GUIDE_URL = 'https://docs.socket.dev/docs/v1-migration-guide'\nconst VLT = 'vlt'\nconst YARN = 'yarn'\nconst YARN_BERRY = 'yarn/berry'\nconst YARN_CLASSIC = 'yarn/classic'\n\nexport type Constants = Remap<\n Omit<\n typeof registryConstants,\n 'Symbol(kInternalsSymbol)' | 'ENV' | 'ipcObject'\n > & {\n readonly 'Symbol(kInternalsSymbol)': Internals\n readonly ALERT_TYPE_CRITICAL_CVE: typeof ALERT_TYPE_CRITICAL_CVE\n readonly ALERT_TYPE_CVE: typeof ALERT_TYPE_CVE\n readonly ALERT_TYPE_MEDIUM_CVE: typeof ALERT_TYPE_MEDIUM_CVE\n readonly ALERT_TYPE_MILD_CVE: typeof ALERT_TYPE_MILD_CVE\n readonly API_V0_URL: typeof API_V0_URL\n readonly BUN: typeof BUN\n readonly ENV: ENV\n readonly DOT_SOCKET: typeof DOT_SOCKET\n readonly DOT_SOCKET_DOT_FACTS_JSON: typeof DOT_SOCKET_DOT_FACTS_JSON\n readonly DRY_RUN_LABEL: typeof DRY_RUN_LABEL\n readonly DRY_RUN_BAILING_NOW: typeof DRY_RUN_BAILING_NOW\n readonly DRY_RUN_NOT_SAVING: typeof DRY_RUN_NOT_SAVING\n readonly FOLD_SETTING_FILE: typeof FOLD_SETTING_FILE\n readonly FOLD_SETTING_NONE: typeof FOLD_SETTING_NONE\n readonly FOLD_SETTING_PKG: typeof FOLD_SETTING_PKG\n readonly FOLD_SETTING_VERSION: typeof FOLD_SETTING_VERSION\n readonly GQL_PAGE_SENTINEL: typeof GQL_PAGE_SENTINEL\n readonly GQL_PR_STATE_CLOSED: typeof GQL_PR_STATE_CLOSED\n readonly GQL_PR_STATE_MERGED: typeof GQL_PR_STATE_MERGED\n readonly GQL_PR_STATE_OPEN: typeof GQL_PR_STATE_OPEN\n readonly NODE_MODULES: typeof NODE_MODULES\n readonly NPM_BUGGY_OVERRIDES_PATCHED_VERSION: typeof NPM_BUGGY_OVERRIDES_PATCHED_VERSION\n readonly NPM_REGISTRY_URL: typeof NPM_REGISTRY_URL\n readonly NPM: typeof NPM\n readonly NPX: typeof NPX\n readonly OUTPUT_JSON: typeof OUTPUT_JSON\n readonly OUTPUT_MARKDOWN: typeof OUTPUT_MARKDOWN\n readonly OUTPUT_TEXT: typeof OUTPUT_TEXT\n readonly PACKAGE_JSON: typeof PACKAGE_JSON\n readonly REDACTED: typeof REDACTED\n readonly REPORT_LEVEL_DEFER: typeof REPORT_LEVEL_DEFER\n readonly REPORT_LEVEL_ERROR: typeof REPORT_LEVEL_ERROR\n readonly REPORT_LEVEL_IGNORE: typeof REPORT_LEVEL_IGNORE\n readonly REPORT_LEVEL_MONITOR: typeof REPORT_LEVEL_MONITOR\n readonly REPORT_LEVEL_WARN: typeof REPORT_LEVEL_WARN\n readonly SOCKET_CLI_ACCEPT_RISKS: typeof SOCKET_CLI_ACCEPT_RISKS\n readonly SOCKET_CLI_BIN_NAME: typeof SOCKET_CLI_BIN_NAME\n readonly SOCKET_CLI_ISSUES_URL: typeof SOCKET_CLI_ISSUES_URL\n readonly SOCKET_CLI_SHADOW_ACCEPT_RISKS: typeof SOCKET_CLI_SHADOW_ACCEPT_RISKS\n readonly SOCKET_CLI_SHADOW_API_TOKEN: typeof SOCKET_CLI_SHADOW_API_TOKEN\n readonly SOCKET_CLI_SHADOW_BIN: typeof SOCKET_CLI_SHADOW_BIN\n readonly SOCKET_CLI_SHADOW_PROGRESS: typeof SOCKET_CLI_SHADOW_PROGRESS\n readonly SOCKET_CLI_SHADOW_SILENT: typeof SOCKET_CLI_SHADOW_SILENT\n readonly SOCKET_CLI_VIEW_ALL_RISKS: typeof SOCKET_CLI_VIEW_ALL_RISKS\n readonly SOCKET_DEFAULT_BRANCH: typeof SOCKET_DEFAULT_BRANCH\n readonly SOCKET_DEFAULT_REPOSITORY: typeof SOCKET_DEFAULT_REPOSITORY\n readonly SOCKET_WEBSITE_URL: typeof SOCKET_WEBSITE_URL\n readonly UNKNOWN_ERROR: typeof UNKNOWN_ERROR\n readonly UNKNOWN_VALUE: typeof UNKNOWN_VALUE\n readonly V1_MIGRATION_GUIDE_URL: typeof V1_MIGRATION_GUIDE_URL\n readonly VLT: typeof VLT\n readonly YARN: typeof YARN\n readonly YARN_BERRY: typeof YARN_BERRY\n readonly YARN_CLASSIC: typeof YARN_CLASSIC\n readonly bashRcPath: string\n readonly binCliPath: string\n readonly binPath: string\n readonly blessedContribPath: string\n readonly blessedOptions: {\n smartCSR: boolean\n term: string\n useBCE: boolean\n }\n readonly blessedPath: string\n readonly distCliPath: string\n readonly distPath: string\n readonly externalPath: string\n readonly githubCachePath: string\n readonly homePath: string\n readonly instrumentWithSentryPath: string\n readonly ipcObject: IpcObject\n readonly minimumVersionByAgent: Map<Agent, string>\n readonly nmBinPath: string\n readonly nodeDebugFlags: string[]\n readonly nodeHardenFlags: string[]\n readonly nodeMemoryFlags: string[]\n readonly npmCachePath: string\n readonly npmGlobalPrefix: string\n readonly npmNmNodeGypPath: string\n readonly processEnv: ProcessEnv\n readonly rootPath: string\n readonly shadowBinPath: string\n readonly shadowNpmBinPath: string\n readonly shadowNpmInjectPath: string\n readonly socketAppDataPath: string\n readonly socketCachePath: string\n readonly socketRegistryPath: string\n readonly zshRcPath: string\n }\n>\n\nlet _Sentry: any\n\nlet _npmStdioPipeOptions: SpawnOptions | undefined\nfunction getNpmStdioPipeOptions() {\n if (_npmStdioPipeOptions === undefined) {\n _npmStdioPipeOptions = {\n cwd: process.cwd(),\n shell: constants.WIN32,\n }\n }\n return _npmStdioPipeOptions\n}\n\nconst LAZY_ENV = () => {\n const { env } = process\n const envHelpers = /*@__PURE__*/ require('@socketsecurity/registry/lib/env')\n const utils = /*@__PURE__*/ require(\n path.join(constants.rootPath, 'dist/utils.js'),\n )\n const envAsBoolean = envHelpers.envAsBoolean\n const envAsNumber = envHelpers.envAsNumber\n const envAsString = envHelpers.envAsString\n const getConfigValueOrUndef = utils.getConfigValueOrUndef\n const readOrDefaultSocketJson = utils.readOrDefaultSocketJson\n const GITHUB_TOKEN = envAsString(env['GITHUB_TOKEN'])\n const INLINED_SOCKET_CLI_PUBLISHED_BUILD = envAsBoolean(\n process.env['INLINED_SOCKET_CLI_PUBLISHED_BUILD'],\n )\n // We inline some environment values so that they CANNOT be influenced by user\n // provided environment variables.\n return Object.freeze({\n __proto__: null,\n // Lazily access registryConstants.ENV.\n ...registryConstants.ENV,\n // Disable using GitHub's workflow actions/cache.\n // https://github.com/actions/cache\n DISABLE_GITHUB_CACHE: envAsBoolean(env['DISABLE_GITHUB_CACHE']),\n // The API URL. For example, https://api.github.com.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_API_URL:\n envAsString(env['GITHUB_API_URL']) || 'https://api.github.com',\n // The name of the base ref or target branch of the pull request in a workflow\n // run. This is only set when the event that triggers a workflow run is either\n // pull_request or pull_request_target. For example, main.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_BASE_REF: envAsString(env['GITHUB_BASE_REF']),\n // The short ref name of the branch or tag that triggered the GitHub workflow\n // run. This value matches the branch or tag name shown on GitHub. For example,\n // feature-branch-1. For pull requests, the format is <pr_number>/merge.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_REF_NAME: envAsString(env['GITHUB_REF_NAME']),\n // The type of ref that triggered the workflow run. Valid values are branch or tag.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_REF_TYPE: envAsString(env['GITHUB_REF_TYPE']),\n // The owner and repository name. For example, octocat/Hello-World.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_REPOSITORY: envAsString(env['GITHUB_REPOSITORY']),\n // The URL of the GitHub server. For example, https://github.com.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_SERVER_URL:\n envAsString(env['GITHUB_SERVER_URL']) || 'https://github.com',\n // The GITHUB_TOKEN secret is a GitHub App installation access token.\n // The token's permissions are limited to the repository that contains the\n // workflow.\n // https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#about-the-github_token-secret\n GITHUB_TOKEN,\n // Comp-time inlined @coana-tech/cli package version.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION']\".\n INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION: envAsString(\n process.env['INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION'],\n ),\n // Comp-time inlined @cyclonedx/cdxgen package version.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION']\".\n INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION: envAsString(\n process.env['INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION'],\n ),\n // Comp-time inlined Socket package homepage.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_HOMEPAGE']\".\n INLINED_SOCKET_CLI_HOMEPAGE: envAsString(\n process.env['INLINED_SOCKET_CLI_HOMEPAGE'],\n ),\n // Comp-time inlined flag to determine if this is the Legacy build.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_LEGACY_BUILD']\".\n INLINED_SOCKET_CLI_LEGACY_BUILD: envAsBoolean(\n process.env['INLINED_SOCKET_CLI_LEGACY_BUILD'],\n ),\n // Comp-time inlined Socket package name.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_NAME']\".\n INLINED_SOCKET_CLI_NAME: envAsString(\n process.env['INLINED_SOCKET_CLI_NAME'],\n ),\n // Comp-time inlined flag to determine if this is a published build.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_PUBLISHED_BUILD']\".\n INLINED_SOCKET_CLI_PUBLISHED_BUILD,\n // Comp-time inlined flag to determine if this is the Sentry build.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_SENTRY_BUILD']\".\n INLINED_SOCKET_CLI_SENTRY_BUILD: envAsBoolean(\n process.env['INLINED_SOCKET_CLI_SENTRY_BUILD'],\n ),\n // Comp-time inlined synp package version.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_SYNP_VERSION']\".\n INLINED_SOCKET_CLI_SYNP_VERSION: envAsString(\n process.env['INLINED_SOCKET_CLI_SYNP_VERSION'],\n ),\n // Comp-time inlined Socket package version.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_VERSION']\".\n INLINED_SOCKET_CLI_VERSION: envAsString(\n process.env['INLINED_SOCKET_CLI_VERSION'],\n ),\n // Comp-time inlined Socket package version hash.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_VERSION_HASH']\".\n INLINED_SOCKET_CLI_VERSION_HASH: envAsString(\n process.env['INLINED_SOCKET_CLI_VERSION_HASH'],\n ),\n // The absolute location of the %localappdata% folder on Windows used to store\n // user-specific, non-roaming application data, like temporary files, cached\n // data, and program settings, that are specific to the current machine and user.\n LOCALAPPDATA: envAsString(env[LOCALAPPDATA]),\n // Enable the module compile cache for the Node.js instance.\n // https://nodejs.org/api/cli.html#node_compile_cachedir\n NODE_COMPILE_CACHE: constants.SUPPORTS_NODE_COMPILE_CACHE_ENV_VAR\n ? constants.socketCachePath\n : '',\n // Redefine registryConstants.ENV.NODE_ENV to account for the\n // INLINED_SOCKET_CLI_PUBLISHED_BUILD environment variable.\n NODE_ENV:\n envAsString(env['NODE_ENV']).toLowerCase() === 'production'\n ? 'production'\n : INLINED_SOCKET_CLI_PUBLISHED_BUILD\n ? ''\n : 'development',\n // Well known \"root\" CAs (like VeriSign) will be extended with the extra\n // certificates in file. The file should consist of one or more trusted\n // certificates in PEM format.\n // https://nodejs.org/api/cli.html#node_extra_ca_certsfile\n NODE_EXTRA_CA_CERTS:\n envAsString(env['NODE_EXTRA_CA_CERTS']) ||\n // Commonly used environment variable to specify the path to a single\n // PEM-encoded certificate file.\n envAsString(env['SSL_CERT_FILE']),\n // PATH is an environment variable that lists directories where executable\n // programs are located. When a command is run, the system searches these\n // directories to find the executable.\n PATH: envAsString(env['PATH']),\n // Accept risks of a Socket wrapped npm/npx run.\n SOCKET_CLI_ACCEPT_RISKS: envAsBoolean(env[SOCKET_CLI_ACCEPT_RISKS]),\n // Change the base URL for Socket API calls.\n // https://github.com/SocketDev/socket-cli?tab=readme-ov-file#environment-variables-for-development\n SOCKET_CLI_API_BASE_URL:\n envAsString(env['SOCKET_CLI_API_BASE_URL']) ||\n // TODO: Remove legacy environment variable name.\n envAsString(env['SOCKET_SECURITY_API_BASE_URL']) ||\n getConfigValueOrUndef('apiBaseUrl') ||\n 'https://api.socket.dev/v0/',\n // Set the proxy that all requests are routed through.\n // https://github.com/SocketDev/socket-cli?tab=readme-ov-file#environment-variables-for-development\n SOCKET_CLI_API_PROXY:\n envAsString(env['SOCKET_CLI_API_PROXY']) ||\n // TODO: Remove legacy environment variable name.\n envAsString(env['SOCKET_SECURITY_API_PROXY']) ||\n // Commonly used environment variables to specify routing requests through\n // a proxy server.\n envAsString(env['HTTPS_PROXY']) ||\n envAsString(env['https_proxy']) ||\n envAsString(env['HTTP_PROXY']) ||\n envAsString(env['http_proxy']),\n // Set the timeout in milliseconds for Socket API requests.\n // https://nodejs.org/api/http.html#httprequesturl-options-callback\n SOCKET_CLI_API_TIMEOUT: envAsNumber(env['SOCKET_CLI_API_TOKEN']),\n // Set the Socket API token.\n // https://github.com/SocketDev/socket-cli?tab=readme-ov-file#environment-variables\n SOCKET_CLI_API_TOKEN:\n envAsString(env['SOCKET_CLI_API_TOKEN']) ||\n // TODO: Remove legacy environment variable names.\n envAsString(env['SOCKET_CLI_API_KEY']) ||\n envAsString(env['SOCKET_SECURITY_API_TOKEN']) ||\n envAsString(env['SOCKET_SECURITY_API_KEY']),\n // A JSON stringified Socket configuration object.\n SOCKET_CLI_CONFIG: envAsString(env['SOCKET_CLI_CONFIG']),\n // The git config user.email used by Socket CLI.\n SOCKET_CLI_GIT_USER_EMAIL:\n envAsString(env['SOCKET_CLI_GIT_USER_EMAIL']) ||\n 'github-actions[bot]@users.noreply.github.com',\n // The git config user.name used by Socket CLI.\n SOCKET_CLI_GIT_USER_NAME:\n envAsString(env['SOCKET_CLI_GIT_USER_NAME']) ||\n envAsString(env['SOCKET_CLI_GIT_USERNAME']) ||\n 'github-actions[bot]',\n // Change the base URL for GitHub REST API calls.\n // https://docs.github.com/en/rest\n SOCKET_CLI_GITHUB_API_URL:\n envAsString(env['SOCKET_CLI_GITHUB_API_URL']) ||\n readOrDefaultSocketJson(process.cwd())?.defaults?.scan?.github\n ?.githubApiUrl ||\n 'https://api.github.com',\n // A classic GitHub personal access token with the \"repo\" scope or a\n // fine-grained access token with at least read/write permissions set for\n // \"Contents\" and \"Pull Request\".\n // https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens\n SOCKET_CLI_GITHUB_TOKEN:\n envAsString(env['SOCKET_CLI_GITHUB_TOKEN']) ||\n // TODO: Remove undocumented legacy environment variable name.\n envAsString(env['SOCKET_SECURITY_GITHUB_PAT']) ||\n GITHUB_TOKEN,\n // Make the default API token `undefined`.\n SOCKET_CLI_NO_API_TOKEN: envAsBoolean(env['SOCKET_CLI_NO_API_TOKEN']),\n // The absolute location of the npm directory.\n SOCKET_CLI_NPM_PATH: envAsString(env['SOCKET_CLI_NPM_PATH']),\n // Specify the Socket organization slug.\n SOCKET_CLI_ORG_SLUG:\n envAsString(env['SOCKET_CLI_ORG_SLUG']) ||\n // Coana CLI accepts the SOCKET_ORG_SLUG environment variable.\n envAsString(env['SOCKET_ORG_SLUG']),\n // View all risks of a Socket wrapped npm/npx run.\n SOCKET_CLI_VIEW_ALL_RISKS: envAsBoolean(env[SOCKET_CLI_VIEW_ALL_RISKS]),\n // Specifies the type of terminal or terminal emulator being used by the process.\n TERM: envAsString(env['TERM']),\n // The location of the base directory on Linux and MacOS used to store\n // user-specific data files, defaulting to $HOME/.local/share if not set or empty.\n XDG_DATA_HOME: envAsString(env['XDG_DATA_HOME']),\n })\n}\n\nconst lazyBashRcPath = () => path.join(constants.homePath, '.bashrc')\n\nconst lazyBinPath = () => path.join(constants.rootPath, 'bin')\n\nconst lazyBinCliPath = () => path.join(constants.binPath, 'cli.js')\n\nconst lazyBlessedContribPath = () =>\n path.join(constants.externalPath, 'blessed-contrib')\n\nconst lazyBlessedOptions = () =>\n Object.freeze({\n smartCSR: true,\n term: constants.WIN32 ? 'windows-ansi' : 'xterm',\n useBCE: true,\n })\n\nconst lazyBlessedPath = () => path.join(constants.externalPath, 'blessed')\n\nconst lazyDistCliPath = () => path.join(constants.distPath, 'cli.js')\n\nconst lazyDistPath = () => path.join(constants.rootPath, 'dist')\n\nconst lazyExternalPath = () => path.join(constants.rootPath, 'external')\n\nconst lazyGithubCachePath = () => path.join(constants.socketCachePath, 'github')\n\nconst lazyHomePath = () => os.homedir()\n\nconst lazyInstrumentWithSentryPath = () =>\n path.join(constants.distPath, 'instrument-with-sentry.js')\n\nconst lazyMinimumVersionByAgent = () =>\n new Map([\n // Bun >=1.1.39 supports the text-based lockfile.\n // https://bun.sh/blog/bun-lock-text-lockfile\n [BUN, '1.1.39'],\n // The npm version bundled with Node 18.\n // https://nodejs.org/en/about/previous-releases#looking-for-the-latest-release-of-a-version-branch\n [NPM, '10.8.2'],\n // 8.x is the earliest version to support Node 18.\n // https://pnpm.io/installation#compatibility\n // https://www.npmjs.com/package/pnpm?activeTab=versions\n [PNPM, '8.15.7'],\n // 4.x supports >= Node 18.12.0\n // https://github.com/yarnpkg/berry/blob/%40yarnpkg/core/4.1.0/CHANGELOG.md#400\n [YARN_BERRY, '4.0.0'],\n // Latest 1.x.\n // https://www.npmjs.com/package/yarn?activeTab=versions\n [YARN_CLASSIC, '1.22.22'],\n // vlt does not support overrides so we don't gate on it.\n [VLT, '*'],\n ])\n\nconst lazyNmBinPath = () => path.join(constants.rootPath, 'node_modules/.bin')\n\nconst lazyNodeDebugFlags = () =>\n constants.ENV.SOCKET_CLI_DEBUG ? ['--trace-uncaught', '--trace-warnings'] : []\n\n// Redefine registryConstants.nodeHardenFlags to account for the\n// INLINED_SOCKET_CLI_SENTRY_BUILD environment variable.\nconst lazyNodeHardenFlags = () =>\n Object.freeze(\n // Harden Node security.\n // https://nodejs.org/en/learn/getting-started/security-best-practices\n constants.ENV.INLINED_SOCKET_CLI_SENTRY_BUILD || constants.WIN32\n ? [\n // https://nodejs.org/api/cli.html#--disallow-code-generation-from-strings\n // '--disallow-code-generation-from-strings'\n ]\n : [\n // '--disallow-code-generation-from-strings',\n // https://nodejs.org/api/cli.html#--disable-protomode\n // '--disable-proto',\n // 'throw',\n // https://nodejs.org/api/cli.html#--frozen-intrinsics\n // We have contributed the following patches to our dependencies to make\n // Node's --frozen-intrinsics workable.\n // √ https://github.com/SBoudrias/Inquirer.js/pull/1683\n // √ https://github.com/pnpm/components/pull/23\n // '--frozen-intrinsics',\n // https://nodejs.org/api/cli.html#--no-deprecation\n // '--no-deprecation',\n ],\n )\n\nconst lazyNodeMemoryFlags = () => {\n const flags = /*@__PURE__*/ require(\n path.join(constants.rootPath, 'dist/flags.js'),\n )\n const getMaxOldSpaceSizeFlag = flags.getMaxOldSpaceSizeFlag\n const getMaxSemiSpaceSizeFlag = flags.getMaxSemiSpaceSizeFlag\n return Object.freeze([\n `--max-old-space-size=${getMaxOldSpaceSizeFlag()}`,\n `--max-semi-space-size=${getMaxSemiSpaceSizeFlag()}`,\n ])\n}\n\nconst lazyNpmCachePath = () => {\n const spawnHelpers = /*@__PURE__*/ require('@socketsecurity/registry/lib/spawn')\n const spawnSync = spawnHelpers.spawnSync\n return spawnSync(\n constants.npmExecPath,\n ['config', 'get', 'cache'],\n getNpmStdioPipeOptions(),\n ).stdout\n}\n\nconst lazyNpmGlobalPrefix = () => {\n const spawnHelpers = /*@__PURE__*/ require('@socketsecurity/registry/lib/spawn')\n const spawnSync = spawnHelpers.spawnSync\n return spawnSync(\n constants.npmExecPath,\n ['prefix', '-g'],\n getNpmStdioPipeOptions(),\n ).stdout\n}\n\nconst lazyNpmNmNodeGypPath = () =>\n path.join(\n constants.npmRealExecPath,\n '../../node_modules/node-gyp/bin/node-gyp.js',\n )\n\nconst lazyProcessEnv = () =>\n Object.setPrototypeOf(\n Object.fromEntries(\n Object.entries(constants.ENV).reduce(\n (entries, entry) => {\n const { 0: key, 1: value } = entry\n if (key.startsWith('INLINED_SOCKET_CLI_')) {\n return entries\n }\n if (typeof value === 'string') {\n if (value) {\n entries.push(entry as [string, string])\n }\n } else if (typeof value === 'boolean' && value) {\n entries.push([key, '1'])\n }\n return entries\n },\n [] as Array<[string, string]>,\n ),\n ),\n null,\n )\n\nconst lazyRootPath = () => path.join(realpathSync.native(__dirname), '..')\n\nconst lazyShadowBinPath = () => path.join(constants.rootPath, 'shadow-npm-bin')\n\nconst lazyShadowNpmBinPath = () =>\n path.join(constants.distPath, 'shadow-npm-bin.js')\n\nconst lazyShadowNpmInjectPath = () =>\n path.join(constants.distPath, 'shadow-npm-inject.js')\n\nconst lazySocketAppDataPath = (): string | undefined => {\n // Get the OS app data directory:\n // - Win: %LOCALAPPDATA% or fail?\n // - Mac: %XDG_DATA_HOME% or fallback to \"~/Library/Application Support/\"\n // - Linux: %XDG_DATA_HOME% or fallback to \"~/.local/share/\"\n // Note: LOCALAPPDATA is typically: C:\\Users\\USERNAME\\AppData\n // Note: XDG stands for \"X Desktop Group\", nowadays \"freedesktop.org\"\n // On most systems that path is: $HOME/.local/share\n // Then append `socket/settings`, so:\n // - Win: %LOCALAPPDATA%\\socket\\settings or return undefined\n // - Mac: %XDG_DATA_HOME%/socket/settings or \"~/Library/Application Support/socket/settings\"\n // - Linux: %XDG_DATA_HOME%/socket/settings or \"~/.local/share/socket/settings\"\n const { WIN32 } = constants\n let dataHome: string | undefined = WIN32\n ? constants.ENV.LOCALAPPDATA\n : constants.ENV.XDG_DATA_HOME\n if (!dataHome) {\n if (WIN32) {\n const logger = /*@__PURE__*/ require('@socketsecurity/registry/lib/logger')\n logger.warn(`Missing %${LOCALAPPDATA}%`)\n } else {\n dataHome = path.join(\n constants.homePath,\n constants.DARWIN ? 'Library/Application Support' : '.local/share',\n )\n }\n }\n return dataHome ? path.join(dataHome, 'socket/settings') : undefined\n}\n\nconst lazySocketCachePath = () => path.join(constants.rootPath, '.cache')\n\nconst lazySocketRegistryPath = () =>\n path.join(constants.externalPath, '@socketsecurity/registry')\n\nconst lazyZshRcPath = () => path.join(constants.homePath, '.zshrc')\n\nconst constants: Constants = createConstantsObject(\n {\n ...registryConstantsAttribs.props,\n ALERT_TYPE_CRITICAL_CVE,\n ALERT_TYPE_CVE,\n ALERT_TYPE_MEDIUM_CVE,\n ALERT_TYPE_MILD_CVE,\n API_V0_URL,\n BUN,\n DOT_SOCKET,\n DOT_SOCKET_DOT_FACTS_JSON,\n DRY_RUN_LABEL,\n DRY_RUN_BAILING_NOW,\n DRY_RUN_NOT_SAVING,\n ENV: undefined,\n FOLD_SETTING_FILE,\n FOLD_SETTING_NONE,\n FOLD_SETTING_PKG,\n FOLD_SETTING_VERSION,\n GQL_PAGE_SENTINEL,\n GQL_PR_STATE_CLOSED,\n GQL_PR_STATE_MERGED,\n GQL_PR_STATE_OPEN,\n NODE_MODULES,\n NPM_BUGGY_OVERRIDES_PATCHED_VERSION,\n NPM_REGISTRY_URL,\n NPX,\n OUTPUT_JSON,\n OUTPUT_MARKDOWN,\n OUTPUT_TEXT,\n PACKAGE_JSON,\n PNPM,\n REDACTED,\n REPORT_LEVEL_DEFER,\n REPORT_LEVEL_ERROR,\n REPORT_LEVEL_IGNORE,\n REPORT_LEVEL_MONITOR,\n REPORT_LEVEL_WARN,\n SOCKET_CLI_ACCEPT_RISKS,\n SOCKET_CLI_BIN_NAME,\n SOCKET_CLI_ISSUES_URL,\n SOCKET_CLI_SHADOW_ACCEPT_RISKS,\n SOCKET_CLI_SHADOW_API_TOKEN,\n SOCKET_CLI_SHADOW_BIN,\n SOCKET_CLI_SHADOW_PROGRESS,\n SOCKET_CLI_SHADOW_SILENT,\n SOCKET_CLI_VIEW_ALL_RISKS,\n SOCKET_DEFAULT_BRANCH,\n SOCKET_DEFAULT_REPOSITORY,\n SOCKET_WEBSITE_URL,\n UNKNOWN_ERROR,\n UNKNOWN_VALUE,\n V1_MIGRATION_GUIDE_URL,\n VLT,\n YARN,\n YARN_BERRY,\n YARN_CLASSIC,\n bashRcPath: undefined,\n binPath: undefined,\n binCliPath: undefined,\n blessedContribPath: undefined,\n blessedOptions: undefined,\n blessedPath: undefined,\n distCliPath: undefined,\n distPath: undefined,\n externalPath: undefined,\n githubCachePath: undefined,\n homePath: undefined,\n instrumentWithSentryPath: undefined,\n minimumVersionByAgent: undefined,\n nmBinPath: undefined,\n nodeHardenFlags: undefined,\n nodeDebugFlags: undefined,\n nodeMemoryFlags: undefined,\n npmCachePath: undefined,\n npmGlobalPrefix: undefined,\n npmNmNodeGypPath: undefined,\n processEnv: undefined,\n rootPath: undefined,\n shadowBinPath: undefined,\n shadowNpmInjectPath: undefined,\n shadowNpmBinPath: undefined,\n socketAppDataPath: undefined,\n socketCachePath: undefined,\n socketRegistryPath: undefined,\n zshRcPath: undefined,\n },\n {\n getters: {\n ...registryConstantsAttribs.getters,\n ENV: LAZY_ENV,\n bashRcPath: lazyBashRcPath,\n binCliPath: lazyBinCliPath,\n binPath: lazyBinPath,\n blessedContribPath: lazyBlessedContribPath,\n blessedOptions: lazyBlessedOptions,\n blessedPath: lazyBlessedPath,\n distCliPath: lazyDistCliPath,\n distPath: lazyDistPath,\n externalPath: lazyExternalPath,\n githubCachePath: lazyGithubCachePath,\n homePath: lazyHomePath,\n instrumentWithSentryPath: lazyInstrumentWithSentryPath,\n minimumVersionByAgent: lazyMinimumVersionByAgent,\n nmBinPath: lazyNmBinPath,\n nodeDebugFlags: lazyNodeDebugFlags,\n nodeHardenFlags: lazyNodeHardenFlags,\n nodeMemoryFlags: lazyNodeMemoryFlags,\n npmCachePath: lazyNpmCachePath,\n npmGlobalPrefix: lazyNpmGlobalPrefix,\n npmNmNodeGypPath: lazyNpmNmNodeGypPath,\n processEnv: lazyProcessEnv,\n rootPath: lazyRootPath,\n shadowBinPath: lazyShadowBinPath,\n shadowNpmBinPath: lazyShadowNpmBinPath,\n shadowNpmInjectPath: lazyShadowNpmInjectPath,\n socketAppDataPath: lazySocketAppDataPath,\n socketCachePath: lazySocketCachePath,\n socketRegistryPath: lazySocketRegistryPath,\n zshRcPath: lazyZshRcPath,\n },\n internals: {\n ...registryConstantsAttribs.internals,\n getIpc,\n getSentry() {\n return _Sentry\n },\n setSentry(Sentry: Sentry): boolean {\n if (_Sentry === undefined) {\n _Sentry = Sentry\n return true\n }\n return false\n },\n },\n },\n) as Constants\n\nexport {\n ALERT_TYPE_CRITICAL_CVE,\n ALERT_TYPE_CVE,\n ALERT_TYPE_MEDIUM_CVE,\n ALERT_TYPE_MILD_CVE,\n API_V0_URL,\n AT_LATEST,\n BIOME_JSON,\n BUN,\n CI,\n COLUMN_LIMIT,\n DOT_SOCKET,\n DOT_SOCKET_DOT_FACTS_JSON,\n DRY_RUN_BAILING_NOW,\n DRY_RUN_LABEL,\n DRY_RUN_NOT_SAVING,\n EMPTY_FILE,\n ESLINT_CONFIG_JS,\n ESNEXT,\n EXTENSIONS,\n EXTENSIONS_JSON,\n EXT_CJS,\n EXT_CMD,\n EXT_CTS,\n EXT_DTS,\n EXT_JS,\n EXT_JSON,\n EXT_LOCK,\n EXT_LOCKB,\n EXT_MD,\n EXT_MJS,\n EXT_MTS,\n EXT_PS1,\n FOLD_SETTING_FILE,\n FOLD_SETTING_NONE,\n FOLD_SETTING_PKG,\n FOLD_SETTING_VERSION,\n GITIGNORE,\n GQL_PAGE_SENTINEL,\n GQL_PR_STATE_CLOSED,\n GQL_PR_STATE_MERGED,\n GQL_PR_STATE_OPEN,\n HIDDEN_PACKAGE_LOCK_JSON,\n LATEST,\n LICENSE,\n LICENSE_GLOB,\n LICENSE_GLOB_RECURSIVE,\n LICENSE_ORIGINAL,\n LICENSE_ORIGINAL_GLOB,\n LICENSE_ORIGINAL_GLOB_RECURSIVE,\n LOCALAPPDATA,\n LOOP_SENTINEL,\n MANIFEST_JSON,\n MIT,\n NODE_AUTH_TOKEN,\n NODE_ENV,\n NODE_MODULES,\n NODE_MODULES_GLOB_RECURSIVE,\n NODE_WORKSPACES,\n NPM,\n NPM_BUGGY_OVERRIDES_PATCHED_VERSION,\n NPM_REGISTRY_URL,\n NPX,\n OUTPUT_JSON,\n OUTPUT_MARKDOWN,\n OUTPUT_TEXT,\n OVERRIDES,\n PACKAGE_DEFAULT_VERSION,\n PACKAGE_JSON,\n PACKAGE_LOCK_JSON,\n PNPM,\n PRE_COMMIT,\n README_GLOB,\n README_GLOB_RECURSIVE,\n README_MD,\n REDACTED,\n REGISTRY,\n REGISTRY_SCOPE_DELIMITER,\n REPORT_LEVEL_DEFER,\n REPORT_LEVEL_ERROR,\n REPORT_LEVEL_IGNORE,\n REPORT_LEVEL_MONITOR,\n REPORT_LEVEL_WARN,\n RESOLUTIONS,\n SOCKET_CLI_ACCEPT_RISKS,\n SOCKET_CLI_BIN_NAME,\n SOCKET_CLI_ISSUES_URL,\n SOCKET_CLI_SHADOW_ACCEPT_RISKS,\n SOCKET_CLI_SHADOW_API_TOKEN,\n SOCKET_CLI_SHADOW_BIN,\n SOCKET_CLI_SHADOW_PROGRESS,\n SOCKET_CLI_SHADOW_SILENT,\n SOCKET_CLI_VIEW_ALL_RISKS,\n SOCKET_DEFAULT_BRANCH,\n SOCKET_DEFAULT_REPOSITORY,\n SOCKET_GITHUB_ORG,\n SOCKET_IPC_HANDSHAKE,\n SOCKET_OVERRIDE_SCOPE,\n SOCKET_PUBLIC_API_TOKEN,\n SOCKET_REGISTRY_NPM_ORG,\n SOCKET_REGISTRY_PACKAGE_NAME,\n SOCKET_REGISTRY_REPO_NAME,\n SOCKET_REGISTRY_SCOPE,\n SOCKET_SECURITY_SCOPE,\n SOCKET_WEBSITE_URL,\n UNKNOWN_ERROR,\n UNKNOWN_VALUE,\n UNLICENCED,\n UNLICENSED,\n UTF8,\n V1_MIGRATION_GUIDE_URL,\n VITEST,\n VLT,\n YARN,\n YARN_BERRY,\n YARN_CLASSIC,\n YARN_LOCK,\n}\n\nexport default constants\n"],"names":["attributes","getIpc","_npmStdioPipeOptions","cwd","env","__proto__","DISABLE_GITHUB_CACHE","GITHUB_BASE_REF","GITHUB_REF_NAME","GITHUB_REF_TYPE","GITHUB_REPOSITORY","LOCALAPPDATA","NODE_EXTRA_CA_CERTS","envAsString","PATH","SOCKET_CLI_ACCEPT_RISKS","SOCKET_CLI_API_BASE_URL","SOCKET_CLI_API_PROXY","SOCKET_CLI_API_TIMEOUT","SOCKET_CLI_API_TOKEN","SOCKET_CLI_CONFIG","SOCKET_CLI_GIT_USER_NAME","SOCKET_CLI_GITHUB_TOKEN","SOCKET_CLI_NO_API_TOKEN","SOCKET_CLI_NPM_PATH","SOCKET_CLI_ORG_SLUG","SOCKET_CLI_VIEW_ALL_RISKS","TERM","XDG_DATA_HOME","smartCSR","term","useBCE","constants","entries","WIN32","logger","dataHome","ENV","bashRcPath","binPath","binCliPath","blessedContribPath","blessedOptions","blessedPath","distCliPath","distPath","externalPath","githubCachePath","homePath","instrumentWithSentryPath","minimumVersionByAgent","nmBinPath","nodeHardenFlags","nodeDebugFlags","nodeMemoryFlags","npmCachePath","npmGlobalPrefix","npmNmNodeGypPath","processEnv","rootPath","shadowBinPath","shadowNpmInjectPath","shadowNpmBinPath","socketAppDataPath","socketCachePath","socketRegistryPath","zshRcPath","getters","internals","getSentry","_Sentry"],"mappings":";;;;;;;;;;;;AAYA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEE;AACEA;;AAEAC;AACF;AACF;AAgFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmGA;AAEA;AACA;;AAEIC;AACEC;;;AAGJ;AACA;AACF;AAEA;;AACUC;AAAI;AACZ;AACA;AAGA;AACA;AACA;AACA;AACA;;;AAKA;AACA;;AAEEC;AACA;;AAEA;AACA;AACAC;AACA;AACA;;AAGA;AACA;AACA;AACA;AACAC;AACA;AACA;AACA;AACA;AACAC;AACA;AACA;AACAC;AACA;AACA;AACAC;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;;AAEA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;AACA;AACAC;AACA;AACA;;AAIA;AACA;;AAOA;AACA;AACA;AACA;AACAC;AAEE;AACA;AACAC;AACF;AACA;AACA;AACAC;AACA;AACAC;AACA;AACA;AACAC;AAEE;AACAH;AAGF;AACA;AACAI;AAEE;AACAJ;AACA;AACA;AACAA;AAIF;AACA;AACAK;AACA;AACA;AACAC;AAEE;;AAIF;AACAC;AACA;;AAIA;AACAC;AAIA;AACA;;AAMA;AACA;AACA;AACA;AACAC;AAEE;AACAT;AAEF;AACAU;AACA;AACAC;AACA;AACAC;AAEE;AACAZ;AACF;AACAa;AACA;AACAC;AACA;AACA;AACAC;AACF;AACF;AAEA;AAEA;AAEA;AAEA;AAGA;AAEIC;AACAC;AACAC;AACF;AAEF;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAGA;AAEI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGJ;AAEA;;AAGA;AACA;AACA;AAEI;AACA;AACAC;AAEM;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIV;AACE;AAGA;AACA;AACA;AAIF;AAEA;AACE;AACA;AACA;AAKF;AAEA;AACE;AACA;AACA;AAKF;AAEA;AAMA;;AAKkB;AAAQ;AAAS;AACzB;AACE;AACF;AACA;AACE;AACEC;AACF;;;AAGF;AACA;AACF;AAOR;AAEA;AAEA;AAGA;AAGA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQC;AAAM;AACd;;AAIE;AACE;AACAC;AACF;AACEC;AAIF;AACF;;AAEF;AAEA;AAEA;AAGA;AAEA;;;;;;;;;;;;;AAcIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACF;AAEEC;;AAEE9B;AACAC;AACAE;AACAD;AACAE;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAE;AACAD;AACAE;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAE;AACAD;AACAE;AACAC;AACAC;AACAC;;AAEFE;;;AAGEC;AACE;;;;AAIEC;AACA;AACF;AACA;AACF;AACF;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","debugId":"4786da6b-da55-4b37-b632-365b4ad89ca7"}
1
+ {"version":3,"file":"constants.js","sources":["../src/constants.mts"],"sourcesContent":["import { realpathSync } from 'node:fs'\nimport { createRequire } from 'node:module'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nimport registryConstants from '@socketsecurity/registry/lib/constants'\n\nimport type { Agent } from './utils/package-environment.mts'\nimport type { Remap } from '@socketsecurity/registry/lib/objects'\nimport type { SpawnOptions } from '@socketsecurity/registry/lib/spawn'\n\nconst require = createRequire(import.meta.url)\nconst __filename = fileURLToPath(import.meta.url)\n// Using `path.dirname(__filename)` to resolve `__dirname` works for both 'dist'\n// AND 'src' directories because constants.js and constants.mts respectively are\n// in the root of each.\nconst __dirname = path.dirname(__filename)\n\nconst {\n AT_LATEST,\n BIOME_JSON,\n CI,\n COLUMN_LIMIT,\n EMPTY_FILE,\n ESLINT_CONFIG_JS,\n ESNEXT,\n EXT_CJS,\n EXT_CMD,\n EXT_CTS,\n EXT_DTS,\n EXT_JS,\n EXT_JSON,\n EXT_LOCK,\n EXT_LOCKB,\n EXT_MD,\n EXT_MJS,\n EXT_MTS,\n EXT_PS1,\n EXTENSIONS,\n EXTENSIONS_JSON,\n GITIGNORE,\n HIDDEN_PACKAGE_LOCK_JSON,\n LATEST,\n LICENSE,\n LICENSE_GLOB,\n LICENSE_GLOB_RECURSIVE,\n LICENSE_ORIGINAL,\n LICENSE_ORIGINAL_GLOB,\n LICENSE_ORIGINAL_GLOB_RECURSIVE,\n LOOP_SENTINEL,\n MANIFEST_JSON,\n MIT,\n NODE_AUTH_TOKEN,\n NODE_ENV,\n NODE_MODULES,\n NODE_MODULES_GLOB_RECURSIVE,\n NODE_WORKSPACES,\n NPM,\n NPX,\n OVERRIDES,\n PACKAGE_DEFAULT_VERSION,\n PACKAGE_JSON,\n PACKAGE_LOCK_JSON,\n PNPM,\n PRE_COMMIT,\n README_GLOB,\n README_GLOB_RECURSIVE,\n REGISTRY_SCOPE_DELIMITER,\n README_MD,\n REGISTRY,\n RESOLUTIONS,\n SOCKET_GITHUB_ORG,\n SOCKET_IPC_HANDSHAKE,\n SOCKET_OVERRIDE_SCOPE,\n SOCKET_PUBLIC_API_TOKEN,\n SOCKET_REGISTRY_NPM_ORG,\n SOCKET_REGISTRY_PACKAGE_NAME,\n SOCKET_REGISTRY_REPO_NAME,\n SOCKET_REGISTRY_SCOPE,\n SOCKET_SECURITY_SCOPE,\n UNLICENCED,\n UNLICENSED,\n UTF8,\n VITEST,\n YARN_LOCK,\n kInternalsSymbol,\n [kInternalsSymbol as unknown as 'Symbol(kInternalsSymbol)']: {\n attributes: registryConstantsAttribs,\n createConstantsObject,\n getIpc,\n },\n} = registryConstants\n\nexport type RegistryEnv = typeof registryConstants.ENV\n\nexport type RegistryInternals =\n (typeof registryConstants)['Symbol(kInternalsSymbol)']\n\nexport type Sentry = any\n\nexport type Internals = Remap<\n Omit<RegistryInternals, 'getIpc'> &\n Readonly<{\n getIpc: {\n (): Promise<IpcObject>\n <K extends keyof IpcObject | undefined>(\n key?: K | undefined,\n ): Promise<K extends keyof IpcObject ? IpcObject[K] : IpcObject>\n }\n getSentry: () => Sentry\n setSentry(Sentry: Sentry): boolean\n }>\n>\n\nexport type ENV = Remap<\n RegistryEnv &\n Readonly<{\n DISABLE_GITHUB_CACHE: boolean\n GITHUB_API_URL: string\n GITHUB_BASE_REF: string\n GITHUB_REF_NAME: string\n GITHUB_REF_TYPE: string\n GITHUB_REPOSITORY: string\n GITHUB_SERVER_URL: string\n GITHUB_TOKEN: string\n INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION: string\n INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION: string\n INLINED_SOCKET_CLI_HOMEPAGE: string\n INLINED_SOCKET_CLI_LEGACY_BUILD: string\n INLINED_SOCKET_CLI_NAME: string\n INLINED_SOCKET_CLI_PUBLISHED_BUILD: string\n INLINED_SOCKET_CLI_SENTRY_BUILD: string\n INLINED_SOCKET_CLI_VERSION: string\n INLINED_SOCKET_CLI_VERSION_HASH: string\n INLINED_SOCKET_CLI_SYNP_VERSION: string\n LOCALAPPDATA: string\n NODE_COMPILE_CACHE: string\n NODE_EXTRA_CA_CERTS: string\n PATH: string\n SOCKET_CLI_ACCEPT_RISKS: boolean\n SOCKET_CLI_API_BASE_URL: string\n SOCKET_CLI_API_PROXY: string\n SOCKET_CLI_API_TIMEOUT: number\n SOCKET_CLI_API_TOKEN: string\n SOCKET_CLI_CONFIG: string\n SOCKET_CLI_GIT_USER_EMAIL: string\n SOCKET_CLI_GIT_USER_NAME: string\n SOCKET_CLI_GITHUB_TOKEN: string\n SOCKET_CLI_NO_API_TOKEN: boolean\n SOCKET_CLI_NPM_PATH: string\n SOCKET_CLI_ORG_SLUG: string\n SOCKET_CLI_VIEW_ALL_RISKS: boolean\n TERM: string\n XDG_DATA_HOME: string\n }>\n>\n\nexport type IpcObject = Readonly<{\n SOCKET_CLI_FIX?: string | undefined\n SOCKET_CLI_OPTIMIZE?: boolean | undefined\n SOCKET_CLI_SHADOW_ACCEPT_RISKS?: boolean | undefined\n SOCKET_CLI_SHADOW_API_TOKEN?: string | undefined\n SOCKET_CLI_SHADOW_BIN?: string | undefined\n SOCKET_CLI_SHADOW_PROGRESS?: boolean | undefined\n SOCKET_CLI_SHADOW_SILENT?: boolean | undefined\n}>\n\nexport type ProcessEnv = {\n [K in keyof ENV]?: string\n}\n\nconst ALERT_TYPE_CRITICAL_CVE = 'criticalCVE'\nconst ALERT_TYPE_CVE = 'cve'\nconst ALERT_TYPE_MEDIUM_CVE = 'mediumCVE'\nconst ALERT_TYPE_MILD_CVE = 'mildCVE'\nconst API_V0_URL = 'https://api.socket.dev/v0/'\nconst BUN = 'bun'\nconst DOT_SOCKET = '.socket'\nconst DOT_SOCKET_DOT_FACTS_JSON = `${DOT_SOCKET}.facts.json`\nconst DRY_RUN_LABEL = '[DryRun]'\nconst DRY_RUN_BAILING_NOW = `${DRY_RUN_LABEL}: Bailing now`\nconst DRY_RUN_NOT_SAVING = `${DRY_RUN_LABEL}: Not saving`\nconst FOLD_SETTING_FILE = 'file'\nconst FOLD_SETTING_NONE = 'none'\nconst FOLD_SETTING_PKG = 'pkg'\nconst FOLD_SETTING_VERSION = 'version'\nconst GQL_PAGE_SENTINEL = 100\nconst GQL_PR_STATE_CLOSED = 'CLOSED'\nconst GQL_PR_STATE_MERGED = 'MERGED'\nconst GQL_PR_STATE_OPEN = 'OPEN'\nconst LOCALAPPDATA = 'LOCALAPPDATA'\nconst NPM_BUGGY_OVERRIDES_PATCHED_VERSION = '11.2.0'\nconst NPM_REGISTRY_URL = 'https://registry.npmjs.org'\nconst OUTPUT_JSON = 'json'\nconst OUTPUT_MARKDOWN = 'markdown'\nconst OUTPUT_TEXT = 'text'\nconst REDACTED = '<redacted>'\nconst REPORT_LEVEL_DEFER = 'defer'\nconst REPORT_LEVEL_ERROR = 'error'\nconst REPORT_LEVEL_IGNORE = 'ignore'\nconst REPORT_LEVEL_MONITOR = 'monitor'\nconst REPORT_LEVEL_WARN = 'warn'\nconst SOCKET_CLI_ACCEPT_RISKS = 'SOCKET_CLI_ACCEPT_RISKS'\nconst SOCKET_CLI_BIN_NAME = 'socket'\nconst SOCKET_CLI_ISSUES_URL = 'https://github.com/SocketDev/socket-cli/issues'\nconst SOCKET_CLI_SHADOW_ACCEPT_RISKS = 'SOCKET_CLI_SHADOW_ACCEPT_RISKS'\nconst SOCKET_CLI_SHADOW_API_TOKEN = 'SOCKET_CLI_SHADOW_API_TOKEN'\nconst SOCKET_CLI_SHADOW_BIN = 'SOCKET_CLI_SHADOW_BIN'\nconst SOCKET_CLI_SHADOW_PROGRESS = 'SOCKET_CLI_SHADOW_PROGRESS'\nconst SOCKET_CLI_SHADOW_SILENT = 'SOCKET_CLI_SHADOW_SILENT'\nconst SOCKET_CLI_VIEW_ALL_RISKS = 'SOCKET_CLI_VIEW_ALL_RISKS'\nconst SOCKET_DEFAULT_BRANCH = 'socket-default-branch'\nconst SOCKET_DEFAULT_REPOSITORY = 'socket-default-repository'\nconst SOCKET_WEBSITE_URL = 'https://socket.dev'\nconst UNKNOWN_ERROR = 'Unknown error'\nconst UNKNOWN_VALUE = '<unknown>'\nconst V1_MIGRATION_GUIDE_URL = 'https://docs.socket.dev/docs/v1-migration-guide'\nconst VLT = 'vlt'\nconst YARN = 'yarn'\nconst YARN_BERRY = 'yarn/berry'\nconst YARN_CLASSIC = 'yarn/classic'\n\nexport type Constants = Remap<\n Omit<\n typeof registryConstants,\n 'Symbol(kInternalsSymbol)' | 'ENV' | 'ipcObject'\n > & {\n readonly 'Symbol(kInternalsSymbol)': Internals\n readonly ALERT_TYPE_CRITICAL_CVE: typeof ALERT_TYPE_CRITICAL_CVE\n readonly ALERT_TYPE_CVE: typeof ALERT_TYPE_CVE\n readonly ALERT_TYPE_MEDIUM_CVE: typeof ALERT_TYPE_MEDIUM_CVE\n readonly ALERT_TYPE_MILD_CVE: typeof ALERT_TYPE_MILD_CVE\n readonly API_V0_URL: typeof API_V0_URL\n readonly BUN: typeof BUN\n readonly ENV: ENV\n readonly DOT_SOCKET: typeof DOT_SOCKET\n readonly DOT_SOCKET_DOT_FACTS_JSON: typeof DOT_SOCKET_DOT_FACTS_JSON\n readonly DRY_RUN_LABEL: typeof DRY_RUN_LABEL\n readonly DRY_RUN_BAILING_NOW: typeof DRY_RUN_BAILING_NOW\n readonly DRY_RUN_NOT_SAVING: typeof DRY_RUN_NOT_SAVING\n readonly FOLD_SETTING_FILE: typeof FOLD_SETTING_FILE\n readonly FOLD_SETTING_NONE: typeof FOLD_SETTING_NONE\n readonly FOLD_SETTING_PKG: typeof FOLD_SETTING_PKG\n readonly FOLD_SETTING_VERSION: typeof FOLD_SETTING_VERSION\n readonly GQL_PAGE_SENTINEL: typeof GQL_PAGE_SENTINEL\n readonly GQL_PR_STATE_CLOSED: typeof GQL_PR_STATE_CLOSED\n readonly GQL_PR_STATE_MERGED: typeof GQL_PR_STATE_MERGED\n readonly GQL_PR_STATE_OPEN: typeof GQL_PR_STATE_OPEN\n readonly NODE_MODULES: typeof NODE_MODULES\n readonly NPM_BUGGY_OVERRIDES_PATCHED_VERSION: typeof NPM_BUGGY_OVERRIDES_PATCHED_VERSION\n readonly NPM_REGISTRY_URL: typeof NPM_REGISTRY_URL\n readonly NPM: typeof NPM\n readonly NPX: typeof NPX\n readonly OUTPUT_JSON: typeof OUTPUT_JSON\n readonly OUTPUT_MARKDOWN: typeof OUTPUT_MARKDOWN\n readonly OUTPUT_TEXT: typeof OUTPUT_TEXT\n readonly PACKAGE_JSON: typeof PACKAGE_JSON\n readonly REDACTED: typeof REDACTED\n readonly REPORT_LEVEL_DEFER: typeof REPORT_LEVEL_DEFER\n readonly REPORT_LEVEL_ERROR: typeof REPORT_LEVEL_ERROR\n readonly REPORT_LEVEL_IGNORE: typeof REPORT_LEVEL_IGNORE\n readonly REPORT_LEVEL_MONITOR: typeof REPORT_LEVEL_MONITOR\n readonly REPORT_LEVEL_WARN: typeof REPORT_LEVEL_WARN\n readonly SOCKET_CLI_ACCEPT_RISKS: typeof SOCKET_CLI_ACCEPT_RISKS\n readonly SOCKET_CLI_BIN_NAME: typeof SOCKET_CLI_BIN_NAME\n readonly SOCKET_CLI_ISSUES_URL: typeof SOCKET_CLI_ISSUES_URL\n readonly SOCKET_CLI_SHADOW_ACCEPT_RISKS: typeof SOCKET_CLI_SHADOW_ACCEPT_RISKS\n readonly SOCKET_CLI_SHADOW_API_TOKEN: typeof SOCKET_CLI_SHADOW_API_TOKEN\n readonly SOCKET_CLI_SHADOW_BIN: typeof SOCKET_CLI_SHADOW_BIN\n readonly SOCKET_CLI_SHADOW_PROGRESS: typeof SOCKET_CLI_SHADOW_PROGRESS\n readonly SOCKET_CLI_SHADOW_SILENT: typeof SOCKET_CLI_SHADOW_SILENT\n readonly SOCKET_CLI_VIEW_ALL_RISKS: typeof SOCKET_CLI_VIEW_ALL_RISKS\n readonly SOCKET_DEFAULT_BRANCH: typeof SOCKET_DEFAULT_BRANCH\n readonly SOCKET_DEFAULT_REPOSITORY: typeof SOCKET_DEFAULT_REPOSITORY\n readonly SOCKET_WEBSITE_URL: typeof SOCKET_WEBSITE_URL\n readonly UNKNOWN_ERROR: typeof UNKNOWN_ERROR\n readonly UNKNOWN_VALUE: typeof UNKNOWN_VALUE\n readonly V1_MIGRATION_GUIDE_URL: typeof V1_MIGRATION_GUIDE_URL\n readonly VLT: typeof VLT\n readonly YARN: typeof YARN\n readonly YARN_BERRY: typeof YARN_BERRY\n readonly YARN_CLASSIC: typeof YARN_CLASSIC\n readonly bashRcPath: string\n readonly binCliPath: string\n readonly binPath: string\n readonly blessedContribPath: string\n readonly blessedOptions: {\n smartCSR: boolean\n term: string\n useBCE: boolean\n }\n readonly blessedPath: string\n readonly distCliPath: string\n readonly distPath: string\n readonly externalPath: string\n readonly githubCachePath: string\n readonly homePath: string\n readonly instrumentWithSentryPath: string\n readonly ipcObject: IpcObject\n readonly minimumVersionByAgent: Map<Agent, string>\n readonly nmBinPath: string\n readonly nodeDebugFlags: string[]\n readonly nodeHardenFlags: string[]\n readonly nodeMemoryFlags: string[]\n readonly npmCachePath: string\n readonly npmGlobalPrefix: string\n readonly npmNmNodeGypPath: string\n readonly processEnv: ProcessEnv\n readonly rootPath: string\n readonly shadowBinPath: string\n readonly shadowNpmBinPath: string\n readonly shadowNpmInjectPath: string\n readonly socketAppDataPath: string\n readonly socketCachePath: string\n readonly socketRegistryPath: string\n readonly zshRcPath: string\n }\n>\n\nlet _Sentry: any\n\nlet _npmStdioPipeOptions: SpawnOptions | undefined\nfunction getNpmStdioPipeOptions() {\n if (_npmStdioPipeOptions === undefined) {\n _npmStdioPipeOptions = {\n cwd: process.cwd(),\n shell: constants.WIN32,\n }\n }\n return _npmStdioPipeOptions\n}\n\nconst LAZY_ENV = () => {\n const { env } = process\n const envHelpers = /*@__PURE__*/ require('@socketsecurity/registry/lib/env')\n const utils = /*@__PURE__*/ require(\n path.join(constants.rootPath, 'dist/utils.js'),\n )\n const envAsBoolean = envHelpers.envAsBoolean\n const envAsNumber = envHelpers.envAsNumber\n const envAsString = envHelpers.envAsString\n const getConfigValueOrUndef = utils.getConfigValueOrUndef\n const readOrDefaultSocketJson = utils.readOrDefaultSocketJson\n const GITHUB_TOKEN = envAsString(env['GITHUB_TOKEN'])\n const INLINED_SOCKET_CLI_PUBLISHED_BUILD = envAsBoolean(\n process.env['INLINED_SOCKET_CLI_PUBLISHED_BUILD'],\n )\n // We inline some environment values so that they CANNOT be influenced by user\n // provided environment variables.\n return Object.freeze({\n __proto__: null,\n // Lazily access registryConstants.ENV.\n ...registryConstants.ENV,\n // Disable using GitHub's workflow actions/cache.\n // https://github.com/actions/cache\n DISABLE_GITHUB_CACHE: envAsBoolean(env['DISABLE_GITHUB_CACHE']),\n // The API URL. For example, https://api.github.com.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_API_URL:\n envAsString(env['GITHUB_API_URL']) || 'https://api.github.com',\n // The name of the base ref or target branch of the pull request in a workflow\n // run. This is only set when the event that triggers a workflow run is either\n // pull_request or pull_request_target. For example, main.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_BASE_REF: envAsString(env['GITHUB_BASE_REF']),\n // The short ref name of the branch or tag that triggered the GitHub workflow\n // run. This value matches the branch or tag name shown on GitHub. For example,\n // feature-branch-1. For pull requests, the format is <pr_number>/merge.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_REF_NAME: envAsString(env['GITHUB_REF_NAME']),\n // The type of ref that triggered the workflow run. Valid values are branch or tag.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_REF_TYPE: envAsString(env['GITHUB_REF_TYPE']),\n // The owner and repository name. For example, octocat/Hello-World.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_REPOSITORY: envAsString(env['GITHUB_REPOSITORY']),\n // The URL of the GitHub server. For example, https://github.com.\n // https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace#list-of-default-environment-variables\n GITHUB_SERVER_URL:\n envAsString(env['GITHUB_SERVER_URL']) || 'https://github.com',\n // The GITHUB_TOKEN secret is a GitHub App installation access token.\n // The token's permissions are limited to the repository that contains the\n // workflow.\n // https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#about-the-github_token-secret\n GITHUB_TOKEN,\n // Comp-time inlined @coana-tech/cli package version.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION']\".\n INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION: envAsString(\n process.env['INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION'],\n ),\n // Comp-time inlined @cyclonedx/cdxgen package version.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION']\".\n INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION: envAsString(\n process.env['INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION'],\n ),\n // Comp-time inlined Socket package homepage.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_HOMEPAGE']\".\n INLINED_SOCKET_CLI_HOMEPAGE: envAsString(\n process.env['INLINED_SOCKET_CLI_HOMEPAGE'],\n ),\n // Comp-time inlined flag to determine if this is the Legacy build.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_LEGACY_BUILD']\".\n INLINED_SOCKET_CLI_LEGACY_BUILD: envAsBoolean(\n process.env['INLINED_SOCKET_CLI_LEGACY_BUILD'],\n ),\n // Comp-time inlined Socket package name.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_NAME']\".\n INLINED_SOCKET_CLI_NAME: envAsString(\n process.env['INLINED_SOCKET_CLI_NAME'],\n ),\n // Comp-time inlined flag to determine if this is a published build.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_PUBLISHED_BUILD']\".\n INLINED_SOCKET_CLI_PUBLISHED_BUILD,\n // Comp-time inlined flag to determine if this is the Sentry build.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_SENTRY_BUILD']\".\n INLINED_SOCKET_CLI_SENTRY_BUILD: envAsBoolean(\n process.env['INLINED_SOCKET_CLI_SENTRY_BUILD'],\n ),\n // Comp-time inlined synp package version.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_SYNP_VERSION']\".\n INLINED_SOCKET_CLI_SYNP_VERSION: envAsString(\n process.env['INLINED_SOCKET_CLI_SYNP_VERSION'],\n ),\n // Comp-time inlined Socket package version.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_VERSION']\".\n INLINED_SOCKET_CLI_VERSION: envAsString(\n process.env['INLINED_SOCKET_CLI_VERSION'],\n ),\n // Comp-time inlined Socket package version hash.\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_VERSION_HASH']\".\n INLINED_SOCKET_CLI_VERSION_HASH: envAsString(\n process.env['INLINED_SOCKET_CLI_VERSION_HASH'],\n ),\n // The absolute location of the %localappdata% folder on Windows used to store\n // user-specific, non-roaming application data, like temporary files, cached\n // data, and program settings, that are specific to the current machine and user.\n LOCALAPPDATA: envAsString(env[LOCALAPPDATA]),\n // Enable the module compile cache for the Node.js instance.\n // https://nodejs.org/api/cli.html#node_compile_cachedir\n NODE_COMPILE_CACHE: constants.SUPPORTS_NODE_COMPILE_CACHE_ENV_VAR\n ? constants.socketCachePath\n : '',\n // Redefine registryConstants.ENV.NODE_ENV to account for the\n // INLINED_SOCKET_CLI_PUBLISHED_BUILD environment variable.\n NODE_ENV:\n envAsString(env['NODE_ENV']).toLowerCase() === 'production'\n ? 'production'\n : INLINED_SOCKET_CLI_PUBLISHED_BUILD\n ? ''\n : 'development',\n // Well known \"root\" CAs (like VeriSign) will be extended with the extra\n // certificates in file. The file should consist of one or more trusted\n // certificates in PEM format.\n // https://nodejs.org/api/cli.html#node_extra_ca_certsfile\n NODE_EXTRA_CA_CERTS:\n envAsString(env['NODE_EXTRA_CA_CERTS']) ||\n // Commonly used environment variable to specify the path to a single\n // PEM-encoded certificate file.\n envAsString(env['SSL_CERT_FILE']),\n // PATH is an environment variable that lists directories where executable\n // programs are located. When a command is run, the system searches these\n // directories to find the executable.\n PATH: envAsString(env['PATH']),\n // Accept risks of a Socket wrapped npm/npx run.\n SOCKET_CLI_ACCEPT_RISKS: envAsBoolean(env[SOCKET_CLI_ACCEPT_RISKS]),\n // Change the base URL for Socket API calls.\n // https://github.com/SocketDev/socket-cli?tab=readme-ov-file#environment-variables-for-development\n SOCKET_CLI_API_BASE_URL:\n envAsString(env['SOCKET_CLI_API_BASE_URL']) ||\n // TODO: Remove legacy environment variable name.\n envAsString(env['SOCKET_SECURITY_API_BASE_URL']) ||\n getConfigValueOrUndef('apiBaseUrl') ||\n 'https://api.socket.dev/v0/',\n // Set the proxy that all requests are routed through.\n // https://github.com/SocketDev/socket-cli?tab=readme-ov-file#environment-variables-for-development\n SOCKET_CLI_API_PROXY:\n envAsString(env['SOCKET_CLI_API_PROXY']) ||\n // TODO: Remove legacy environment variable name.\n envAsString(env['SOCKET_SECURITY_API_PROXY']) ||\n // Commonly used environment variables to specify routing requests through\n // a proxy server.\n envAsString(env['HTTPS_PROXY']) ||\n envAsString(env['https_proxy']) ||\n envAsString(env['HTTP_PROXY']) ||\n envAsString(env['http_proxy']),\n // Set the timeout in milliseconds for Socket API requests.\n // https://nodejs.org/api/http.html#httprequesturl-options-callback\n SOCKET_CLI_API_TIMEOUT: envAsNumber(env['SOCKET_CLI_API_TOKEN']),\n // Set the Socket API token.\n // https://github.com/SocketDev/socket-cli?tab=readme-ov-file#environment-variables\n SOCKET_CLI_API_TOKEN:\n envAsString(env['SOCKET_CLI_API_TOKEN']) ||\n // TODO: Remove legacy environment variable names.\n envAsString(env['SOCKET_CLI_API_KEY']) ||\n envAsString(env['SOCKET_SECURITY_API_TOKEN']) ||\n envAsString(env['SOCKET_SECURITY_API_KEY']),\n // A JSON stringified Socket configuration object.\n SOCKET_CLI_CONFIG: envAsString(env['SOCKET_CLI_CONFIG']),\n // The git config user.email used by Socket CLI.\n SOCKET_CLI_GIT_USER_EMAIL:\n envAsString(env['SOCKET_CLI_GIT_USER_EMAIL']) ||\n 'github-actions[bot]@users.noreply.github.com',\n // The git config user.name used by Socket CLI.\n SOCKET_CLI_GIT_USER_NAME:\n envAsString(env['SOCKET_CLI_GIT_USER_NAME']) ||\n envAsString(env['SOCKET_CLI_GIT_USERNAME']) ||\n 'github-actions[bot]',\n // Change the base URL for GitHub REST API calls.\n // https://docs.github.com/en/rest\n SOCKET_CLI_GITHUB_API_URL:\n envAsString(env['SOCKET_CLI_GITHUB_API_URL']) ||\n readOrDefaultSocketJson(process.cwd())?.defaults?.scan?.github\n ?.githubApiUrl ||\n 'https://api.github.com',\n // A classic GitHub personal access token with the \"repo\" scope or a\n // fine-grained access token with at least read/write permissions set for\n // \"Contents\" and \"Pull Request\".\n // https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens\n SOCKET_CLI_GITHUB_TOKEN:\n envAsString(env['SOCKET_CLI_GITHUB_TOKEN']) ||\n // TODO: Remove undocumented legacy environment variable name.\n envAsString(env['SOCKET_SECURITY_GITHUB_PAT']) ||\n GITHUB_TOKEN,\n // Make the default API token `undefined`.\n SOCKET_CLI_NO_API_TOKEN: envAsBoolean(env['SOCKET_CLI_NO_API_TOKEN']),\n // The absolute location of the npm directory.\n SOCKET_CLI_NPM_PATH: envAsString(env['SOCKET_CLI_NPM_PATH']),\n // Specify the Socket organization slug.\n SOCKET_CLI_ORG_SLUG:\n envAsString(env['SOCKET_CLI_ORG_SLUG']) ||\n // Coana CLI accepts the SOCKET_ORG_SLUG environment variable.\n envAsString(env['SOCKET_ORG_SLUG']),\n // View all risks of a Socket wrapped npm/npx run.\n SOCKET_CLI_VIEW_ALL_RISKS: envAsBoolean(env[SOCKET_CLI_VIEW_ALL_RISKS]),\n // Specifies the type of terminal or terminal emulator being used by the process.\n TERM: envAsString(env['TERM']),\n // The location of the base directory on Linux and MacOS used to store\n // user-specific data files, defaulting to $HOME/.local/share if not set or empty.\n XDG_DATA_HOME: envAsString(env['XDG_DATA_HOME']),\n })\n}\n\nconst lazyBashRcPath = () => path.join(constants.homePath, '.bashrc')\n\nconst lazyBinPath = () => path.join(constants.rootPath, 'bin')\n\nconst lazyBinCliPath = () => path.join(constants.binPath, 'cli.js')\n\nconst lazyBlessedContribPath = () =>\n path.join(constants.externalPath, 'blessed-contrib')\n\nconst lazyBlessedOptions = () =>\n Object.freeze({\n smartCSR: true,\n term: constants.WIN32 ? 'windows-ansi' : 'xterm',\n useBCE: true,\n })\n\nconst lazyBlessedPath = () => path.join(constants.externalPath, 'blessed')\n\nconst lazyDistCliPath = () => path.join(constants.distPath, 'cli.js')\n\nconst lazyDistPath = () => path.join(constants.rootPath, 'dist')\n\nconst lazyExternalPath = () => path.join(constants.rootPath, 'external')\n\nconst lazyGithubCachePath = () => path.join(constants.socketCachePath, 'github')\n\nconst lazyHomePath = () => os.homedir()\n\nconst lazyInstrumentWithSentryPath = () =>\n path.join(constants.distPath, 'instrument-with-sentry.js')\n\nconst lazyMinimumVersionByAgent = () =>\n new Map([\n // Bun >=1.1.39 supports the text-based lockfile.\n // https://bun.sh/blog/bun-lock-text-lockfile\n [BUN, '1.1.39'],\n // The npm version bundled with Node 18.\n // https://nodejs.org/en/about/previous-releases#looking-for-the-latest-release-of-a-version-branch\n [NPM, '10.8.2'],\n // 8.x is the earliest version to support Node 18.\n // https://pnpm.io/installation#compatibility\n // https://www.npmjs.com/package/pnpm?activeTab=versions\n [PNPM, '8.15.7'],\n // 4.x supports >= Node 18.12.0\n // https://github.com/yarnpkg/berry/blob/%40yarnpkg/core/4.1.0/CHANGELOG.md#400\n [YARN_BERRY, '4.0.0'],\n // Latest 1.x.\n // https://www.npmjs.com/package/yarn?activeTab=versions\n [YARN_CLASSIC, '1.22.22'],\n // vlt does not support overrides so we don't gate on it.\n [VLT, '*'],\n ])\n\nconst lazyNmBinPath = () => path.join(constants.rootPath, 'node_modules/.bin')\n\nconst lazyNodeDebugFlags = () =>\n constants.ENV.SOCKET_CLI_DEBUG ? ['--trace-uncaught', '--trace-warnings'] : []\n\n// Redefine registryConstants.nodeHardenFlags to account for the\n// INLINED_SOCKET_CLI_SENTRY_BUILD environment variable.\nconst lazyNodeHardenFlags = () =>\n Object.freeze(\n // Harden Node security.\n // https://nodejs.org/en/learn/getting-started/security-best-practices\n constants.ENV.INLINED_SOCKET_CLI_SENTRY_BUILD || constants.WIN32\n ? [\n // https://nodejs.org/api/cli.html#--disallow-code-generation-from-strings\n // '--disallow-code-generation-from-strings'\n ]\n : [\n // '--disallow-code-generation-from-strings',\n // https://nodejs.org/api/cli.html#--disable-protomode\n // '--disable-proto',\n // 'throw',\n // https://nodejs.org/api/cli.html#--frozen-intrinsics\n // We have contributed the following patches to our dependencies to make\n // Node's --frozen-intrinsics workable.\n // √ https://github.com/SBoudrias/Inquirer.js/pull/1683\n // √ https://github.com/pnpm/components/pull/23\n // '--frozen-intrinsics',\n // https://nodejs.org/api/cli.html#--no-deprecation\n // '--no-deprecation',\n ],\n )\n\nconst lazyNodeMemoryFlags = () => {\n const flags = /*@__PURE__*/ require(\n path.join(constants.rootPath, 'dist/flags.js'),\n )\n const getMaxOldSpaceSizeFlag = flags.getMaxOldSpaceSizeFlag\n const getMaxSemiSpaceSizeFlag = flags.getMaxSemiSpaceSizeFlag\n return Object.freeze([\n `--max-old-space-size=${getMaxOldSpaceSizeFlag()}`,\n `--max-semi-space-size=${getMaxSemiSpaceSizeFlag()}`,\n ])\n}\n\nconst lazyNpmCachePath = () => {\n const spawnHelpers = /*@__PURE__*/ require('@socketsecurity/registry/lib/spawn')\n const spawnSync = spawnHelpers.spawnSync\n return spawnSync(\n constants.npmExecPath,\n ['config', 'get', 'cache'],\n getNpmStdioPipeOptions(),\n ).stdout\n}\n\nconst lazyNpmGlobalPrefix = () => {\n const spawnHelpers = /*@__PURE__*/ require('@socketsecurity/registry/lib/spawn')\n const spawnSync = spawnHelpers.spawnSync\n return spawnSync(\n constants.npmExecPath,\n ['prefix', '-g'],\n getNpmStdioPipeOptions(),\n ).stdout\n}\n\nconst lazyNpmNmNodeGypPath = () =>\n path.join(\n constants.npmRealExecPath,\n '../../node_modules/node-gyp/bin/node-gyp.js',\n )\n\nconst lazyProcessEnv = () =>\n Object.setPrototypeOf(\n Object.fromEntries(\n Object.entries(constants.ENV).reduce(\n (entries, entry) => {\n const { 0: key, 1: value } = entry\n if (key.startsWith('INLINED_SOCKET_CLI_')) {\n return entries\n }\n if (typeof value === 'string') {\n if (value) {\n entries.push(entry as [string, string])\n }\n } else if (typeof value === 'boolean' && value) {\n entries.push([key, '1'])\n }\n return entries\n },\n [] as Array<[string, string]>,\n ),\n ),\n null,\n )\n\nconst lazyRootPath = () => path.join(realpathSync.native(__dirname), '..')\n\nconst lazyShadowBinPath = () => path.join(constants.rootPath, 'shadow-npm-bin')\n\nconst lazyShadowNpmBinPath = () =>\n path.join(constants.distPath, 'shadow-npm-bin.js')\n\nconst lazyShadowNpmInjectPath = () =>\n path.join(constants.distPath, 'shadow-npm-inject.js')\n\nconst lazySocketAppDataPath = (): string | undefined => {\n // Get the OS app data directory:\n // - Win: %LOCALAPPDATA% or fail?\n // - Mac: %XDG_DATA_HOME% or fallback to \"~/Library/Application Support/\"\n // - Linux: %XDG_DATA_HOME% or fallback to \"~/.local/share/\"\n // Note: LOCALAPPDATA is typically: C:\\Users\\USERNAME\\AppData\n // Note: XDG stands for \"X Desktop Group\", nowadays \"freedesktop.org\"\n // On most systems that path is: $HOME/.local/share\n // Then append `socket/settings`, so:\n // - Win: %LOCALAPPDATA%\\socket\\settings or return undefined\n // - Mac: %XDG_DATA_HOME%/socket/settings or \"~/Library/Application Support/socket/settings\"\n // - Linux: %XDG_DATA_HOME%/socket/settings or \"~/.local/share/socket/settings\"\n const { WIN32 } = constants\n let dataHome: string | undefined = WIN32\n ? constants.ENV.LOCALAPPDATA\n : constants.ENV.XDG_DATA_HOME\n if (!dataHome) {\n if (WIN32) {\n const logger = /*@__PURE__*/ require('@socketsecurity/registry/lib/logger')\n logger.warn(`Missing %${LOCALAPPDATA}%`)\n } else {\n dataHome = path.join(\n constants.homePath,\n constants.DARWIN ? 'Library/Application Support' : '.local/share',\n )\n }\n }\n return dataHome ? path.join(dataHome, 'socket/settings') : undefined\n}\n\nconst lazySocketCachePath = () => path.join(constants.rootPath, '.cache')\n\nconst lazySocketRegistryPath = () =>\n path.join(constants.externalPath, '@socketsecurity/registry')\n\nconst lazyZshRcPath = () => path.join(constants.homePath, '.zshrc')\n\nconst constants: Constants = createConstantsObject(\n {\n ...registryConstantsAttribs.props,\n ALERT_TYPE_CRITICAL_CVE,\n ALERT_TYPE_CVE,\n ALERT_TYPE_MEDIUM_CVE,\n ALERT_TYPE_MILD_CVE,\n API_V0_URL,\n BUN,\n DOT_SOCKET,\n DOT_SOCKET_DOT_FACTS_JSON,\n DRY_RUN_LABEL,\n DRY_RUN_BAILING_NOW,\n DRY_RUN_NOT_SAVING,\n ENV: undefined,\n FOLD_SETTING_FILE,\n FOLD_SETTING_NONE,\n FOLD_SETTING_PKG,\n FOLD_SETTING_VERSION,\n GQL_PAGE_SENTINEL,\n GQL_PR_STATE_CLOSED,\n GQL_PR_STATE_MERGED,\n GQL_PR_STATE_OPEN,\n NODE_MODULES,\n NPM_BUGGY_OVERRIDES_PATCHED_VERSION,\n NPM_REGISTRY_URL,\n NPX,\n OUTPUT_JSON,\n OUTPUT_MARKDOWN,\n OUTPUT_TEXT,\n PACKAGE_JSON,\n PNPM,\n REDACTED,\n REPORT_LEVEL_DEFER,\n REPORT_LEVEL_ERROR,\n REPORT_LEVEL_IGNORE,\n REPORT_LEVEL_MONITOR,\n REPORT_LEVEL_WARN,\n SOCKET_CLI_ACCEPT_RISKS,\n SOCKET_CLI_BIN_NAME,\n SOCKET_CLI_ISSUES_URL,\n SOCKET_CLI_SHADOW_ACCEPT_RISKS,\n SOCKET_CLI_SHADOW_API_TOKEN,\n SOCKET_CLI_SHADOW_BIN,\n SOCKET_CLI_SHADOW_PROGRESS,\n SOCKET_CLI_SHADOW_SILENT,\n SOCKET_CLI_VIEW_ALL_RISKS,\n SOCKET_DEFAULT_BRANCH,\n SOCKET_DEFAULT_REPOSITORY,\n SOCKET_WEBSITE_URL,\n UNKNOWN_ERROR,\n UNKNOWN_VALUE,\n V1_MIGRATION_GUIDE_URL,\n VLT,\n YARN,\n YARN_BERRY,\n YARN_CLASSIC,\n bashRcPath: undefined,\n binPath: undefined,\n binCliPath: undefined,\n blessedContribPath: undefined,\n blessedOptions: undefined,\n blessedPath: undefined,\n distCliPath: undefined,\n distPath: undefined,\n externalPath: undefined,\n githubCachePath: undefined,\n homePath: undefined,\n instrumentWithSentryPath: undefined,\n minimumVersionByAgent: undefined,\n nmBinPath: undefined,\n nodeHardenFlags: undefined,\n nodeDebugFlags: undefined,\n nodeMemoryFlags: undefined,\n npmCachePath: undefined,\n npmGlobalPrefix: undefined,\n npmNmNodeGypPath: undefined,\n processEnv: undefined,\n rootPath: undefined,\n shadowBinPath: undefined,\n shadowNpmInjectPath: undefined,\n shadowNpmBinPath: undefined,\n socketAppDataPath: undefined,\n socketCachePath: undefined,\n socketRegistryPath: undefined,\n zshRcPath: undefined,\n },\n {\n getters: {\n ...registryConstantsAttribs.getters,\n ENV: LAZY_ENV,\n bashRcPath: lazyBashRcPath,\n binCliPath: lazyBinCliPath,\n binPath: lazyBinPath,\n blessedContribPath: lazyBlessedContribPath,\n blessedOptions: lazyBlessedOptions,\n blessedPath: lazyBlessedPath,\n distCliPath: lazyDistCliPath,\n distPath: lazyDistPath,\n externalPath: lazyExternalPath,\n githubCachePath: lazyGithubCachePath,\n homePath: lazyHomePath,\n instrumentWithSentryPath: lazyInstrumentWithSentryPath,\n minimumVersionByAgent: lazyMinimumVersionByAgent,\n nmBinPath: lazyNmBinPath,\n nodeDebugFlags: lazyNodeDebugFlags,\n nodeHardenFlags: lazyNodeHardenFlags,\n nodeMemoryFlags: lazyNodeMemoryFlags,\n npmCachePath: lazyNpmCachePath,\n npmGlobalPrefix: lazyNpmGlobalPrefix,\n npmNmNodeGypPath: lazyNpmNmNodeGypPath,\n processEnv: lazyProcessEnv,\n rootPath: lazyRootPath,\n shadowBinPath: lazyShadowBinPath,\n shadowNpmBinPath: lazyShadowNpmBinPath,\n shadowNpmInjectPath: lazyShadowNpmInjectPath,\n socketAppDataPath: lazySocketAppDataPath,\n socketCachePath: lazySocketCachePath,\n socketRegistryPath: lazySocketRegistryPath,\n zshRcPath: lazyZshRcPath,\n },\n internals: {\n ...registryConstantsAttribs.internals,\n getIpc,\n getSentry() {\n return _Sentry\n },\n setSentry(Sentry: Sentry): boolean {\n if (_Sentry === undefined) {\n _Sentry = Sentry\n return true\n }\n return false\n },\n },\n },\n) as Constants\n\nexport {\n ALERT_TYPE_CRITICAL_CVE,\n ALERT_TYPE_CVE,\n ALERT_TYPE_MEDIUM_CVE,\n ALERT_TYPE_MILD_CVE,\n API_V0_URL,\n AT_LATEST,\n BIOME_JSON,\n BUN,\n CI,\n COLUMN_LIMIT,\n DOT_SOCKET,\n DOT_SOCKET_DOT_FACTS_JSON,\n DRY_RUN_BAILING_NOW,\n DRY_RUN_LABEL,\n DRY_RUN_NOT_SAVING,\n EMPTY_FILE,\n ESLINT_CONFIG_JS,\n ESNEXT,\n EXTENSIONS,\n EXTENSIONS_JSON,\n EXT_CJS,\n EXT_CMD,\n EXT_CTS,\n EXT_DTS,\n EXT_JS,\n EXT_JSON,\n EXT_LOCK,\n EXT_LOCKB,\n EXT_MD,\n EXT_MJS,\n EXT_MTS,\n EXT_PS1,\n FOLD_SETTING_FILE,\n FOLD_SETTING_NONE,\n FOLD_SETTING_PKG,\n FOLD_SETTING_VERSION,\n GITIGNORE,\n GQL_PAGE_SENTINEL,\n GQL_PR_STATE_CLOSED,\n GQL_PR_STATE_MERGED,\n GQL_PR_STATE_OPEN,\n HIDDEN_PACKAGE_LOCK_JSON,\n LATEST,\n LICENSE,\n LICENSE_GLOB,\n LICENSE_GLOB_RECURSIVE,\n LICENSE_ORIGINAL,\n LICENSE_ORIGINAL_GLOB,\n LICENSE_ORIGINAL_GLOB_RECURSIVE,\n LOCALAPPDATA,\n LOOP_SENTINEL,\n MANIFEST_JSON,\n MIT,\n NODE_AUTH_TOKEN,\n NODE_ENV,\n NODE_MODULES,\n NODE_MODULES_GLOB_RECURSIVE,\n NODE_WORKSPACES,\n NPM,\n NPM_BUGGY_OVERRIDES_PATCHED_VERSION,\n NPM_REGISTRY_URL,\n NPX,\n OUTPUT_JSON,\n OUTPUT_MARKDOWN,\n OUTPUT_TEXT,\n OVERRIDES,\n PACKAGE_DEFAULT_VERSION,\n PACKAGE_JSON,\n PACKAGE_LOCK_JSON,\n PNPM,\n PRE_COMMIT,\n README_GLOB,\n README_GLOB_RECURSIVE,\n README_MD,\n REDACTED,\n REGISTRY,\n REGISTRY_SCOPE_DELIMITER,\n REPORT_LEVEL_DEFER,\n REPORT_LEVEL_ERROR,\n REPORT_LEVEL_IGNORE,\n REPORT_LEVEL_MONITOR,\n REPORT_LEVEL_WARN,\n RESOLUTIONS,\n SOCKET_CLI_ACCEPT_RISKS,\n SOCKET_CLI_BIN_NAME,\n SOCKET_CLI_ISSUES_URL,\n SOCKET_CLI_SHADOW_ACCEPT_RISKS,\n SOCKET_CLI_SHADOW_API_TOKEN,\n SOCKET_CLI_SHADOW_BIN,\n SOCKET_CLI_SHADOW_PROGRESS,\n SOCKET_CLI_SHADOW_SILENT,\n SOCKET_CLI_VIEW_ALL_RISKS,\n SOCKET_DEFAULT_BRANCH,\n SOCKET_DEFAULT_REPOSITORY,\n SOCKET_GITHUB_ORG,\n SOCKET_IPC_HANDSHAKE,\n SOCKET_OVERRIDE_SCOPE,\n SOCKET_PUBLIC_API_TOKEN,\n SOCKET_REGISTRY_NPM_ORG,\n SOCKET_REGISTRY_PACKAGE_NAME,\n SOCKET_REGISTRY_REPO_NAME,\n SOCKET_REGISTRY_SCOPE,\n SOCKET_SECURITY_SCOPE,\n SOCKET_WEBSITE_URL,\n UNKNOWN_ERROR,\n UNKNOWN_VALUE,\n UNLICENCED,\n UNLICENSED,\n UTF8,\n V1_MIGRATION_GUIDE_URL,\n VITEST,\n VLT,\n YARN,\n YARN_BERRY,\n YARN_CLASSIC,\n YARN_LOCK,\n}\n\nexport default constants\n"],"names":["attributes","getIpc","_npmStdioPipeOptions","cwd","env","__proto__","DISABLE_GITHUB_CACHE","GITHUB_BASE_REF","GITHUB_REF_NAME","GITHUB_REF_TYPE","GITHUB_REPOSITORY","LOCALAPPDATA","NODE_EXTRA_CA_CERTS","envAsString","PATH","SOCKET_CLI_ACCEPT_RISKS","SOCKET_CLI_API_BASE_URL","SOCKET_CLI_API_PROXY","SOCKET_CLI_API_TIMEOUT","SOCKET_CLI_API_TOKEN","SOCKET_CLI_CONFIG","SOCKET_CLI_GIT_USER_NAME","SOCKET_CLI_GITHUB_TOKEN","SOCKET_CLI_NO_API_TOKEN","SOCKET_CLI_NPM_PATH","SOCKET_CLI_ORG_SLUG","SOCKET_CLI_VIEW_ALL_RISKS","TERM","XDG_DATA_HOME","smartCSR","term","useBCE","constants","entries","WIN32","logger","dataHome","ENV","bashRcPath","binPath","binCliPath","blessedContribPath","blessedOptions","blessedPath","distCliPath","distPath","externalPath","githubCachePath","homePath","instrumentWithSentryPath","minimumVersionByAgent","nmBinPath","nodeHardenFlags","nodeDebugFlags","nodeMemoryFlags","npmCachePath","npmGlobalPrefix","npmNmNodeGypPath","processEnv","rootPath","shadowBinPath","shadowNpmInjectPath","shadowNpmBinPath","socketAppDataPath","socketCachePath","socketRegistryPath","zshRcPath","getters","internals","getSentry","_Sentry"],"mappings":";;;;;;;;;;;;AAYA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEE;AACEA;;AAEAC;AACF;AACF;AAgFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmGA;AAEA;AACA;;AAEIC;AACEC;;;AAGJ;AACA;AACF;AAEA;;AACUC;AAAI;AACZ;AACA;AAGA;AACA;AACA;AACA;AACA;;;AAKA;AACA;;AAEEC;AACA;;AAEA;AACA;AACAC;AACA;AACA;;AAGA;AACA;AACA;AACA;AACAC;AACA;AACA;AACA;AACA;AACAC;AACA;AACA;AACAC;AACA;AACA;AACAC;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;;AAEA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;;AAIA;AACA;AACA;AACAC;AACA;AACA;;AAIA;AACA;;AAOA;AACA;AACA;AACA;AACAC;AAEE;AACA;AACAC;AACF;AACA;AACA;AACAC;AACA;AACAC;AACA;AACA;AACAC;AAEE;AACAH;AAGF;AACA;AACAI;AAEE;AACAJ;AACA;AACA;AACAA;AAIF;AACA;AACAK;AACA;AACA;AACAC;AAEE;;AAIF;AACAC;AACA;;AAIA;AACAC;AAIA;AACA;;AAMA;AACA;AACA;AACA;AACAC;AAEE;AACAT;AAEF;AACAU;AACA;AACAC;AACA;AACAC;AAEE;AACAZ;AACF;AACAa;AACA;AACAC;AACA;AACA;AACAC;AACF;AACF;AAEA;AAEA;AAEA;AAEA;AAGA;AAEIC;AACAC;AACAC;AACF;AAEF;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAGA;AAEI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGJ;AAEA;;AAGA;AACA;AACA;AAEI;AACA;AACAC;AAEM;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIV;AACE;AAGA;AACA;AACA;AAIF;AAEA;AACE;AACA;AACA;AAKF;AAEA;AACE;AACA;AACA;AAKF;AAEA;AAMA;;AAKkB;AAAQ;AAAS;AACzB;AACE;AACF;AACA;AACE;AACEC;AACF;;;AAGF;AACA;AACF;AAOR;AAEA;AAEA;AAGA;AAGA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQC;AAAM;AACd;;AAIE;AACE;AACAC;AACF;AACEC;AAIF;AACF;;AAEF;AAEA;AAEA;AAGA;AAEA;;;;;;;;;;;;;AAcIC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACF;AAEEC;;AAEE9B;AACAC;AACAE;AACAD;AACAE;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAE;AACAD;AACAE;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAE;AACAD;AACAE;AACAC;AACAC;AACAC;;AAEFE;;;AAGEC;AACE;;;;AAIEC;AACA;AACF;AACA;AACF;AACF;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","debugId":"7c213afa-7345-4ad2-8082-d65d34995557"}
package/dist/flags.js CHANGED
@@ -124,46 +124,53 @@ const commonFlags = {
124
124
  config: {
125
125
  type: 'string',
126
126
  default: '',
127
- hidden: true,
128
- description: 'Override the local config with this JSON'
127
+ description: 'Override the local config with this JSON',
128
+ hidden: true
129
129
  },
130
130
  dryRun: {
131
131
  type: 'boolean',
132
132
  default: false,
133
+ description: 'Do input validation for a command and exit 0 when input is ok',
133
134
  // Only show in root command.
134
- hidden: true,
135
- description: 'Do input validation for a command and exit 0 when input is ok'
135
+ hidden: true
136
136
  },
137
137
  help: {
138
138
  type: 'boolean',
139
139
  default: false,
140
140
  shortFlag: 'h',
141
- hidden: true,
142
- description: 'Print this help'
141
+ description: 'Print this help',
142
+ hidden: true
143
143
  },
144
144
  maxOldSpaceSize: {
145
145
  type: 'number',
146
146
  get default() {
147
147
  return getMaxOldSpaceSizeFlag();
148
148
  },
149
- hidden: true,
150
- description: `Set Node's V8 ${vendor.terminalLinkExports('--max-old-space-size', 'https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-mib')} option`
149
+ description: `Set Node's V8 ${vendor.terminalLinkExports('--max-old-space-size', 'https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-mib')} option`,
150
+ hidden: true
151
151
  },
152
152
  maxSemiSpaceSize: {
153
153
  type: 'number',
154
154
  get default() {
155
155
  return getMaxSemiSpaceSizeFlag();
156
156
  },
157
- hidden: true,
158
- description: `Set Node's V8 ${vendor.terminalLinkExports('--max-semi-space-size', 'https://nodejs.org/api/cli.html#--max-semi-space-sizesize-in-mib')} option`
157
+ description: `Set Node's V8 ${vendor.terminalLinkExports('--max-semi-space-size', 'https://nodejs.org/api/cli.html#--max-semi-space-sizesize-in-mib')} option`,
158
+ hidden: true
159
159
  },
160
+ // I know this would be `--no-banner` but that doesn't work with cdxgen.
161
+ // Mostly for internal usage anyways.
160
162
  nobanner: {
161
- // I know this would be `--no-banner` but that doesn't work with cdxgen.
162
- // Mostly for internal usage anyways.
163
163
  type: 'boolean',
164
164
  default: false,
165
- hidden: true,
166
- description: 'Hide the Socket banner'
165
+ description: 'Hide the Socket banner',
166
+ hidden: true
167
+ },
168
+ // Hidden to allow custom documenting of the negated `--no-spinner` variant.
169
+ spinner: {
170
+ type: 'boolean',
171
+ default: true,
172
+ description: 'Hide the console spinner',
173
+ hidden: true
167
174
  }
168
175
  };
169
176
  const outputFlags = {
@@ -183,5 +190,5 @@ const outputFlags = {
183
190
 
184
191
  exports.commonFlags = commonFlags;
185
192
  exports.outputFlags = outputFlags;
186
- //# debugId=d16a4726-ecb1-4fcc-a55e-4033366430a4
193
+ //# debugId=b66b8ede-e183-47e8-b952-5c3d3f774449
187
194
  //# sourceMappingURL=flags.js.map
package/dist/flags.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sources":["../src/flags.mts"],"sourcesContent":["import os from 'node:os'\n\nimport meow from 'meow'\nimport terminalLink from 'terminal-link'\n\nimport constants from './constants.mts'\n\nimport type { Flag } from 'meow'\n\n// Meow doesn't expose this.\nexport type AnyFlag = StringFlag | BooleanFlag | NumberFlag\n\nexport type BooleanFlag =\n | Flag<'boolean', boolean>\n | Flag<'boolean', boolean[], true>\n\nexport type NumberFlag = Flag<'number', number> | Flag<'number', number[], true>\n\nexport type StringFlag = Flag<'string', string> | Flag<'string', string[], true>\n\nexport type MeowFlag = AnyFlag & { description: string; hidden?: boolean }\n\n// We use this description in getFlagListOutput, meow doesn't care.\nexport type MeowFlags = Record<string, MeowFlag>\n\ntype RawSpaceSizeFlags = {\n maxOldSpaceSize: number\n maxSemiSpaceSize: number\n}\n\nlet _rawSpaceSizeFlags: RawSpaceSizeFlags | undefined\nfunction getRawSpaceSizeFlags(): RawSpaceSizeFlags {\n if (_rawSpaceSizeFlags === undefined) {\n const cli = meow({\n argv: process.argv.slice(2),\n // Prevent meow from potentially exiting early.\n autoHelp: false,\n autoVersion: false,\n flags: {\n maxOldSpaceSize: {\n type: 'number',\n default: 0,\n },\n maxSemiSpaceSize: {\n type: 'number',\n default: 0,\n },\n },\n importMeta: { url: import.meta.url } as ImportMeta,\n })\n _rawSpaceSizeFlags = {\n maxOldSpaceSize: cli.flags['maxOldSpaceSize'],\n maxSemiSpaceSize: cli.flags['maxSemiSpaceSize'],\n }\n }\n return _rawSpaceSizeFlags\n}\n\nlet _maxOldSpaceSizeFlag: number | undefined\nexport function getMaxOldSpaceSizeFlag(): number {\n if (_maxOldSpaceSizeFlag === undefined) {\n _maxOldSpaceSizeFlag = getRawSpaceSizeFlags().maxOldSpaceSize\n if (!_maxOldSpaceSizeFlag) {\n const match = /(?<=--max-old-space-size=)\\d+/.exec(\n constants.ENV.NODE_OPTIONS,\n )?.[0]\n _maxOldSpaceSizeFlag = match ? Number(match) : 0\n }\n if (!_maxOldSpaceSizeFlag) {\n // Default value determined by available system memory.\n _maxOldSpaceSizeFlag = Math.floor(\n // Total system memory in MiB.\n (os.totalmem() / 1024 / 1024) *\n // Set 75% of total memory (safe buffer to avoid system pressure).\n 0.75,\n )\n }\n }\n return _maxOldSpaceSizeFlag\n}\n// Ensure export because dist/flags.js is required in src/constants.mts.\n// eslint-disable-next-line n/exports-style\nif (typeof exports === 'object' && exports !== null) {\n // eslint-disable-next-line n/exports-style\n exports.getMaxOldSpaceSizeFlag = getMaxOldSpaceSizeFlag\n}\n\nlet _maxSemiSpaceSizeFlag: number | undefined\nexport function getMaxSemiSpaceSizeFlag(): number {\n if (_maxSemiSpaceSizeFlag === undefined) {\n _maxSemiSpaceSizeFlag = getRawSpaceSizeFlags().maxSemiSpaceSize\n if (!_maxSemiSpaceSizeFlag) {\n const match = /(?<=--max-semi-space-size=)\\d+/.exec(\n constants.ENV.NODE_OPTIONS,\n )?.[0]\n _maxSemiSpaceSizeFlag = match ? Number(match) : 0\n }\n if (!_maxSemiSpaceSizeFlag) {\n const maxOldSpaceSize = getMaxOldSpaceSizeFlag()\n // Dynamically scale semi-space size based on max-old-space-size.\n // https://nodejs.org/api/cli.html#--max-semi-space-sizesize-in-mib\n if (maxOldSpaceSize <= 8192) {\n // Use tiered values for smaller heaps to avoid excessive young\n // generation size. This helps stay within safe memory limits on\n // constrained systems or CI.\n if (maxOldSpaceSize <= 512) {\n _maxSemiSpaceSizeFlag = 4\n } else if (maxOldSpaceSize <= 1024) {\n _maxSemiSpaceSizeFlag = 8\n } else if (maxOldSpaceSize <= 2048) {\n _maxSemiSpaceSizeFlag = 16\n } else if (maxOldSpaceSize <= 4096) {\n _maxSemiSpaceSizeFlag = 32\n } else {\n _maxSemiSpaceSizeFlag = 64\n }\n } else {\n // For large heaps (> 8 GiB), compute semi-space size using a log-scaled\n // function.\n //\n // The idea:\n // - log2(16384 MiB) = 14 → semi = 14 * 8 = 112\n // - log2(32768 MiB) = 15 → semi = 15 * 8 = 120\n // - Scales gradually as heap increases, avoiding overly large jumps\n //\n // Each 1 MiB of semi-space adds ~3 MiB to the total young generation\n // (V8 uses 3 spaces). So this keeps semi-space proportional, without\n // over committing.\n //\n // Also note: V8 won’t benefit much from >256 MiB semi-space unless\n // you’re allocating large short-lived objects very frequently\n // (e.g. large arrays, buffers).\n const log2OldSpace = Math.log2(maxOldSpaceSize)\n const scaledSemiSpace = Math.floor(log2OldSpace) * 8\n _maxSemiSpaceSizeFlag = scaledSemiSpace\n }\n }\n }\n return _maxSemiSpaceSizeFlag\n}\n// Ensure export because dist/flags.js is required in src/constants.mts.\n// eslint-disable-next-line n/exports-style\nif (typeof exports === 'object' && exports !== null) {\n // eslint-disable-next-line n/exports-style\n exports.getMaxSemiSpaceSizeFlag = getMaxSemiSpaceSizeFlag\n}\n\nexport const commonFlags: MeowFlags = {\n config: {\n type: 'string',\n default: '',\n hidden: true,\n description: 'Override the local config with this JSON',\n },\n dryRun: {\n type: 'boolean',\n default: false,\n // Only show in root command.\n hidden: true,\n description:\n 'Do input validation for a command and exit 0 when input is ok',\n },\n help: {\n type: 'boolean',\n default: false,\n shortFlag: 'h',\n hidden: true,\n description: 'Print this help',\n },\n maxOldSpaceSize: {\n type: 'number',\n get default() {\n return getMaxOldSpaceSizeFlag()\n },\n hidden: true,\n description: `Set Node's V8 ${terminalLink('--max-old-space-size', 'https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-mib')} option`,\n },\n maxSemiSpaceSize: {\n type: 'number',\n get default() {\n return getMaxSemiSpaceSizeFlag()\n },\n hidden: true,\n description: `Set Node's V8 ${terminalLink('--max-semi-space-size', 'https://nodejs.org/api/cli.html#--max-semi-space-sizesize-in-mib')} option`,\n },\n nobanner: {\n // I know this would be `--no-banner` but that doesn't work with cdxgen.\n // Mostly for internal usage anyways.\n type: 'boolean',\n default: false,\n hidden: true,\n description: 'Hide the Socket banner',\n },\n}\n\nexport const outputFlags: MeowFlags = {\n json: {\n type: 'boolean',\n default: false,\n description: 'Output result as json',\n shortFlag: 'j',\n },\n markdown: {\n type: 'boolean',\n default: false,\n description: 'Output result as markdown',\n shortFlag: 'm',\n },\n}\n\nexport const validationFlags: MeowFlags = {\n all: {\n type: 'boolean',\n default: false,\n description: 'Include all issues',\n },\n strict: {\n type: 'boolean',\n default: false,\n description: 'Exits with an error code if any matching issues are found',\n },\n}\n"],"names":["autoHelp","autoVersion","flags","maxOldSpaceSize","type","default","maxSemiSpaceSize","importMeta","url","_rawSpaceSizeFlags","_maxOldSpaceSizeFlag","os","_maxSemiSpaceSizeFlag","config","hidden","description","dryRun","help","shortFlag","nobanner","json","markdown"],"mappings":";;;;;;;AASA;;AAaA;;AAQA;AACA;;;;AAIM;AACAA;AACAC;AACAC;AACEC;AACEC;AACAC;;AAEFC;AACEF;AACAC;AACF;;AAEFE;AAAcC;AAAqB;AACrC;AACAC;AACEN;AACAG;;AAEJ;AACA;AACF;AAEA;AACO;;AAEHI;;AAEE;;AAIF;;AAEE;;AAEE;AACCC;AACC;AACA;AAEN;AACF;AACA;AACF;AACA;AACA;AACA;AACE;;AAEF;AAEA;AACO;;AAEHC;;AAEE;;AAIF;;AAEE;AACA;AACA;;AAEE;AACA;AACA;;AAEEA;AACF;AACEA;AACF;AACEA;AACF;AACEA;AACF;AACEA;AACF;AACF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAA;AACF;AACF;AACF;AACA;AACF;AACA;AACA;AACA;AACE;;AAEF;AAEO;AACLC;AACET;AACAC;AACAS;AACAC;;AAEFC;AACEZ;AACAC;AACA;AACAS;AACAC;;AAGFE;AACEb;AACAC;AACAa;AACAJ;AACAC;;AAEFZ;AACEC;;;;AAIAU;AACAC;;AAEFT;AACEF;;;;AAIAU;AACAC;;AAEFI;AACE;AACA;AACAf;AACAC;AACAS;AACAC;AACF;AACF;AAEO;AACLK;AACEhB;AACAC;AACAU;AACAG;;AAEFG;AACEjB;AACAC;AACAU;AACAG;AACF;AACF;;;","debugId":"d16a4726-ecb1-4fcc-a55e-4033366430a4"}
1
+ {"version":3,"file":"flags.js","sources":["../src/flags.mts"],"sourcesContent":["import os from 'node:os'\n\nimport meow from 'meow'\nimport terminalLink from 'terminal-link'\n\nimport constants from './constants.mts'\n\nimport type { Flag } from 'meow'\n\n// Meow doesn't expose this.\nexport type AnyFlag = StringFlag | BooleanFlag | NumberFlag\n\nexport type BooleanFlag =\n | Flag<'boolean', boolean>\n | Flag<'boolean', boolean[], true>\n\nexport type NumberFlag = Flag<'number', number> | Flag<'number', number[], true>\n\nexport type StringFlag = Flag<'string', string> | Flag<'string', string[], true>\n\nexport type MeowFlag = AnyFlag & { description: string; hidden?: boolean }\n\n// We use this description in getFlagListOutput, meow doesn't care.\nexport type MeowFlags = Record<string, MeowFlag>\n\ntype RawSpaceSizeFlags = {\n maxOldSpaceSize: number\n maxSemiSpaceSize: number\n}\n\nlet _rawSpaceSizeFlags: RawSpaceSizeFlags | undefined\nfunction getRawSpaceSizeFlags(): RawSpaceSizeFlags {\n if (_rawSpaceSizeFlags === undefined) {\n const cli = meow({\n argv: process.argv.slice(2),\n // Prevent meow from potentially exiting early.\n autoHelp: false,\n autoVersion: false,\n flags: {\n maxOldSpaceSize: {\n type: 'number',\n default: 0,\n },\n maxSemiSpaceSize: {\n type: 'number',\n default: 0,\n },\n },\n importMeta: { url: import.meta.url } as ImportMeta,\n })\n _rawSpaceSizeFlags = {\n maxOldSpaceSize: cli.flags['maxOldSpaceSize'],\n maxSemiSpaceSize: cli.flags['maxSemiSpaceSize'],\n }\n }\n return _rawSpaceSizeFlags\n}\n\nlet _maxOldSpaceSizeFlag: number | undefined\nexport function getMaxOldSpaceSizeFlag(): number {\n if (_maxOldSpaceSizeFlag === undefined) {\n _maxOldSpaceSizeFlag = getRawSpaceSizeFlags().maxOldSpaceSize\n if (!_maxOldSpaceSizeFlag) {\n const match = /(?<=--max-old-space-size=)\\d+/.exec(\n constants.ENV.NODE_OPTIONS,\n )?.[0]\n _maxOldSpaceSizeFlag = match ? Number(match) : 0\n }\n if (!_maxOldSpaceSizeFlag) {\n // Default value determined by available system memory.\n _maxOldSpaceSizeFlag = Math.floor(\n // Total system memory in MiB.\n (os.totalmem() / 1024 / 1024) *\n // Set 75% of total memory (safe buffer to avoid system pressure).\n 0.75,\n )\n }\n }\n return _maxOldSpaceSizeFlag\n}\n// Ensure export because dist/flags.js is required in src/constants.mts.\n// eslint-disable-next-line n/exports-style\nif (typeof exports === 'object' && exports !== null) {\n // eslint-disable-next-line n/exports-style\n exports.getMaxOldSpaceSizeFlag = getMaxOldSpaceSizeFlag\n}\n\nlet _maxSemiSpaceSizeFlag: number | undefined\nexport function getMaxSemiSpaceSizeFlag(): number {\n if (_maxSemiSpaceSizeFlag === undefined) {\n _maxSemiSpaceSizeFlag = getRawSpaceSizeFlags().maxSemiSpaceSize\n if (!_maxSemiSpaceSizeFlag) {\n const match = /(?<=--max-semi-space-size=)\\d+/.exec(\n constants.ENV.NODE_OPTIONS,\n )?.[0]\n _maxSemiSpaceSizeFlag = match ? Number(match) : 0\n }\n if (!_maxSemiSpaceSizeFlag) {\n const maxOldSpaceSize = getMaxOldSpaceSizeFlag()\n // Dynamically scale semi-space size based on max-old-space-size.\n // https://nodejs.org/api/cli.html#--max-semi-space-sizesize-in-mib\n if (maxOldSpaceSize <= 8192) {\n // Use tiered values for smaller heaps to avoid excessive young\n // generation size. This helps stay within safe memory limits on\n // constrained systems or CI.\n if (maxOldSpaceSize <= 512) {\n _maxSemiSpaceSizeFlag = 4\n } else if (maxOldSpaceSize <= 1024) {\n _maxSemiSpaceSizeFlag = 8\n } else if (maxOldSpaceSize <= 2048) {\n _maxSemiSpaceSizeFlag = 16\n } else if (maxOldSpaceSize <= 4096) {\n _maxSemiSpaceSizeFlag = 32\n } else {\n _maxSemiSpaceSizeFlag = 64\n }\n } else {\n // For large heaps (> 8 GiB), compute semi-space size using a log-scaled\n // function.\n //\n // The idea:\n // - log2(16384 MiB) = 14 → semi = 14 * 8 = 112\n // - log2(32768 MiB) = 15 → semi = 15 * 8 = 120\n // - Scales gradually as heap increases, avoiding overly large jumps\n //\n // Each 1 MiB of semi-space adds ~3 MiB to the total young generation\n // (V8 uses 3 spaces). So this keeps semi-space proportional, without\n // over committing.\n //\n // Also note: V8 won’t benefit much from >256 MiB semi-space unless\n // you’re allocating large short-lived objects very frequently\n // (e.g. large arrays, buffers).\n const log2OldSpace = Math.log2(maxOldSpaceSize)\n const scaledSemiSpace = Math.floor(log2OldSpace) * 8\n _maxSemiSpaceSizeFlag = scaledSemiSpace\n }\n }\n }\n return _maxSemiSpaceSizeFlag\n}\n// Ensure export because dist/flags.js is required in src/constants.mts.\n// eslint-disable-next-line n/exports-style\nif (typeof exports === 'object' && exports !== null) {\n // eslint-disable-next-line n/exports-style\n exports.getMaxSemiSpaceSizeFlag = getMaxSemiSpaceSizeFlag\n}\n\nexport const commonFlags: MeowFlags = {\n config: {\n type: 'string',\n default: '',\n description: 'Override the local config with this JSON',\n hidden: true,\n },\n dryRun: {\n type: 'boolean',\n default: false,\n description:\n 'Do input validation for a command and exit 0 when input is ok',\n // Only show in root command.\n hidden: true,\n },\n help: {\n type: 'boolean',\n default: false,\n shortFlag: 'h',\n description: 'Print this help',\n hidden: true,\n },\n maxOldSpaceSize: {\n type: 'number',\n get default() {\n return getMaxOldSpaceSizeFlag()\n },\n description: `Set Node's V8 ${terminalLink('--max-old-space-size', 'https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-mib')} option`,\n hidden: true,\n },\n maxSemiSpaceSize: {\n type: 'number',\n get default() {\n return getMaxSemiSpaceSizeFlag()\n },\n description: `Set Node's V8 ${terminalLink('--max-semi-space-size', 'https://nodejs.org/api/cli.html#--max-semi-space-sizesize-in-mib')} option`,\n hidden: true,\n },\n\n // I know this would be `--no-banner` but that doesn't work with cdxgen.\n // Mostly for internal usage anyways.\n nobanner: {\n type: 'boolean',\n default: false,\n description: 'Hide the Socket banner',\n hidden: true,\n },\n // Hidden to allow custom documenting of the negated `--no-spinner` variant.\n spinner: {\n type: 'boolean',\n default: true,\n description: 'Hide the console spinner',\n hidden: true,\n },\n}\n\nexport const outputFlags: MeowFlags = {\n json: {\n type: 'boolean',\n default: false,\n description: 'Output result as json',\n shortFlag: 'j',\n },\n markdown: {\n type: 'boolean',\n default: false,\n description: 'Output result as markdown',\n shortFlag: 'm',\n },\n}\n\nexport const validationFlags: MeowFlags = {\n all: {\n type: 'boolean',\n default: false,\n description: 'Include all issues',\n },\n strict: {\n type: 'boolean',\n default: false,\n description: 'Exits with an error code if any matching issues are found',\n },\n}\n"],"names":["autoHelp","autoVersion","flags","maxOldSpaceSize","type","default","maxSemiSpaceSize","importMeta","url","_rawSpaceSizeFlags","_maxOldSpaceSizeFlag","os","_maxSemiSpaceSizeFlag","config","description","hidden","dryRun","help","shortFlag","nobanner","spinner","json","markdown"],"mappings":";;;;;;;AASA;;AAaA;;AAQA;AACA;;;;AAIM;AACAA;AACAC;AACAC;AACEC;AACEC;AACAC;;AAEFC;AACEF;AACAC;AACF;;AAEFE;AAAcC;AAAqB;AACrC;AACAC;AACEN;AACAG;;AAEJ;AACA;AACF;AAEA;AACO;;AAEHI;;AAEE;;AAIF;;AAEE;;AAEE;AACCC;AACC;AACA;AAEN;AACF;AACA;AACF;AACA;AACA;AACA;AACE;;AAEF;AAEA;AACO;;AAEHC;;AAEE;;AAIF;;AAEE;AACA;AACA;;AAEE;AACA;AACA;;AAEEA;AACF;AACEA;AACF;AACEA;AACF;AACEA;AACF;AACEA;AACF;AACF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAA;AACF;AACF;AACF;AACA;AACF;AACA;AACA;AACA;AACE;;AAEF;AAEO;AACLC;AACET;AACAC;AACAS;AACAC;;AAEFC;AACEZ;AACAC;AACAS;AAEA;AACAC;;AAEFE;AACEb;AACAC;AACAa;AACAJ;AACAC;;AAEFZ;AACEC;;;;;AAKAW;;AAEFT;AACEF;;;;;AAKAW;;AAGF;AACA;AACAI;AACEf;AACAC;AACAS;AACAC;;AAEF;AACAK;AACEhB;AACAC;AACAS;AACAC;AACF;AACF;AAEO;AACLM;AACEjB;AACAC;AACAS;AACAI;;AAEFI;AACElB;AACAC;AACAS;AACAI;AACF;AACF;;;","debugId":"b66b8ede-e183-47e8-b952-5c3d3f774449"}