@socketsecurity/cli-with-sentry 0.14.101 → 0.14.103

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.
@@ -41,7 +41,7 @@ const relConstantsPath = './constants'
41
41
  Sentry.setTag(
42
42
  'version',
43
43
  // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_VERSION_HASH']".
44
- '0.14.101:26533ef:6809fc78:pub'
44
+ '0.14.103:d303e97:055c3aba:pub'
45
45
  )
46
46
  const constants = require(relConstantsPath)
47
47
  if (constants.ENV.SOCKET_CLI_DEBUG) {
@@ -56,5 +56,5 @@ const relConstantsPath = './constants'
56
56
  } = constants
57
57
  setSentry(Sentry)
58
58
  }
59
- //# debugId=578e3a6a-a686-4c39-98eb-2a1a2c2085ec
59
+ //# debugId=1792fa0d-ceff-4792-b3c3-8926ecb7baa5
60
60
  //# sourceMappingURL=instrument-with-sentry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-with-sentry.js","sources":["../../src/instrument-with-sentry.ts"],"sourcesContent":["// This should ONLY be included in the special Sentry build!\n// Otherwise the Sentry dependency won't even be present in the manifest.\n\nimport { logger } from '@socketsecurity/registry/lib/logger'\n\n// Require constants with require(relConstantsPath) instead of require('./constants')\n// so Rollup doesn't generate a constants2.js chunk.\nconst relConstantsPath = './constants'\n// The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_SENTRY_BUILD']\".\nif (process.env['INLINED_SOCKET_CLI_SENTRY_BUILD']) {\n const Sentry = require('@sentry/node')\n Sentry.init({\n onFatalError(error: Error) {\n // Defer module loads until after Sentry.init is called.\n if (require(relConstantsPath).ENV.SOCKET_CLI_DEBUG) {\n logger.fail('[DEBUG] [Sentry onFatalError]:', error)\n }\n },\n dsn: 'https://66736701db8e4ffac046bd09fa6aaced@o555220.ingest.us.sentry.io/4508846967619585',\n enabled: true,\n integrations: []\n })\n Sentry.setTag(\n 'environment',\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_PUBLISHED_BUILD']\".\n process.env['INLINED_SOCKET_CLI_PUBLISHED_BUILD']\n ? 'pub'\n : // The NODE_ENV convention is used by apps to define the runtime environment.\n // https://nodejs.org/en/learn/getting-started/nodejs-the-difference-between-development-and-production\n process.env['NODE_ENV']\n )\n Sentry.setTag(\n 'version',\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_VERSION_HASH']\".\n process.env['INLINED_SOCKET_CLI_VERSION_HASH']\n )\n const constants = require(relConstantsPath)\n if (constants.ENV.SOCKET_CLI_DEBUG) {\n Sentry.setTag('debugging', true)\n logger.log('[DEBUG] Set up Sentry.')\n } else {\n Sentry.setTag('debugging', false)\n }\n const {\n kInternalsSymbol,\n [kInternalsSymbol as unknown as 'Symbol(kInternalsSymbol)']: { setSentry }\n } = constants\n setSentry(Sentry)\n} else if (require(relConstantsPath).ENV.SOCKET_CLI_DEBUG) {\n logger.log('[DEBUG] Sentry disabled explicitly.')\n}\n"],"names":["logger","dsn","enabled","integrations","process","Sentry","setSentry"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;;;AAIA;AACA;AACA;AACA;AACoD;AAClD;;;AAGI;;AAEEA;AACF;;AAEFC;AACAC;AACAC;AACF;;AAGE;AACAC;;AAQA;AACAA;AAEF;AACA;AACEC;AACAL;AACF;AACEK;AACF;;;AAGE;AAA+DC;AAAU;AAC3E;;AAEF","debugId":"578e3a6a-a686-4c39-98eb-2a1a2c2085ec"}
1
+ {"version":3,"file":"instrument-with-sentry.js","sources":["../../src/instrument-with-sentry.ts"],"sourcesContent":["// This should ONLY be included in the special Sentry build!\n// Otherwise the Sentry dependency won't even be present in the manifest.\n\nimport { logger } from '@socketsecurity/registry/lib/logger'\n\n// Require constants with require(relConstantsPath) instead of require('./constants')\n// so Rollup doesn't generate a constants2.js chunk.\nconst relConstantsPath = './constants'\n// The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_SENTRY_BUILD']\".\nif (process.env['INLINED_SOCKET_CLI_SENTRY_BUILD']) {\n const Sentry = require('@sentry/node')\n Sentry.init({\n onFatalError(error: Error) {\n // Defer module loads until after Sentry.init is called.\n if (require(relConstantsPath).ENV.SOCKET_CLI_DEBUG) {\n logger.fail('[DEBUG] [Sentry onFatalError]:', error)\n }\n },\n dsn: 'https://66736701db8e4ffac046bd09fa6aaced@o555220.ingest.us.sentry.io/4508846967619585',\n enabled: true,\n integrations: []\n })\n Sentry.setTag(\n 'environment',\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_PUBLISHED_BUILD']\".\n process.env['INLINED_SOCKET_CLI_PUBLISHED_BUILD']\n ? 'pub'\n : // The NODE_ENV convention is used by apps to define the runtime environment.\n // https://nodejs.org/en/learn/getting-started/nodejs-the-difference-between-development-and-production\n process.env['NODE_ENV']\n )\n Sentry.setTag(\n 'version',\n // The '@rollup/plugin-replace' will replace \"process.env['INLINED_SOCKET_CLI_VERSION_HASH']\".\n process.env['INLINED_SOCKET_CLI_VERSION_HASH']\n )\n const constants = require(relConstantsPath)\n if (constants.ENV.SOCKET_CLI_DEBUG) {\n Sentry.setTag('debugging', true)\n logger.log('[DEBUG] Set up Sentry.')\n } else {\n Sentry.setTag('debugging', false)\n }\n const {\n kInternalsSymbol,\n [kInternalsSymbol as unknown as 'Symbol(kInternalsSymbol)']: { setSentry }\n } = constants\n setSentry(Sentry)\n} else if (require(relConstantsPath).ENV.SOCKET_CLI_DEBUG) {\n logger.log('[DEBUG] Sentry disabled explicitly.')\n}\n"],"names":["logger","dsn","enabled","integrations","process","Sentry","setSentry"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;;;AAIA;AACA;AACA;AACA;AACoD;AAClD;;;AAGI;;AAEEA;AACF;;AAEFC;AACAC;AACAC;AACF;;AAGE;AACAC;;AAQA;AACAA;AAEF;AACA;AACEC;AACAL;AACF;AACEK;AACF;;;AAGE;AAA+DC;AAAU;AAC3E;;AAEF","debugId":"1792fa0d-ceff-4792-b3c3-8926ecb7baa5"}
@@ -900,7 +900,7 @@ function emitBanner(name) {
900
900
  logger.logger.error(getAsciiHeader(name))
901
901
  }
902
902
  function getAsciiHeader(command) {
903
- const cliVersion = '0.14.101:26533ef:6809fc78:pub' // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_VERSION_HASH']".
903
+ const cliVersion = '0.14.103:d303e97:055c3aba:pub' // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_VERSION_HASH']".
904
904
  const nodeVersion = process$1.version
905
905
  const apiToken = shadowNpmInject.getDefaultToken()
906
906
  const shownToken = apiToken ? getLastFiveOfApiToken(apiToken) : 'no'
@@ -3708,7 +3708,39 @@ function formatBranchName(str) {
3708
3708
  function getPkgNameFromPurlObj(purlObj) {
3709
3709
  return `${purlObj.namespace ? `${purlObj.namespace}/` : ''}${purlObj.name}`
3710
3710
  }
3711
- async function branchExists(branch, cwd = process.cwd()) {
3711
+ function getBaseGitBranch() {
3712
+ // Lazily access constants.ENV[GITHUB_REF_NAME].
3713
+ return (
3714
+ constants.ENV[GITHUB_REF_NAME] ??
3715
+ // GitHub defaults to branch name "main"
3716
+ // https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches#about-the-default-branch
3717
+ 'main'
3718
+ )
3719
+ }
3720
+ function getSocketBranchName(purl, toVersion) {
3721
+ const purlObj = packageurlJs.PackageURL.fromString(purl)
3722
+ const namespace = formatBranchName(purlObj.namespace ?? '')
3723
+ const name = formatBranchName(purlObj.name)
3724
+ const version = formatBranchName(toVersion)
3725
+ const fullName = `${namespace ? `${namespace}-` : ''}${name}`
3726
+ return `socket-fix-${fullName}-${version}`
3727
+ }
3728
+ function getSocketPullRequestTitle(purl, toVersion) {
3729
+ const purlObj = packageurlJs.PackageURL.fromString(purl)
3730
+ const pkgName = getPkgNameFromPurlObj(purlObj)
3731
+ return `Bump ${pkgName} from ${purlObj.version} to ${toVersion}`
3732
+ }
3733
+ function getSocketPullRequestBody(purl, toVersion) {
3734
+ const purlObj = packageurlJs.PackageURL.fromString(purl)
3735
+ const pkgName = getPkgNameFromPurlObj(purlObj)
3736
+ return `Bumps [${pkgName}](https://socket.dev/${purlObj.type}/package/${pkgName}) from ${purlObj.version} to ${toVersion}.`
3737
+ }
3738
+ function getSocketCommitMessage(purl, toVersion) {
3739
+ const purlObj = packageurlJs.PackageURL.fromString(purl)
3740
+ const pkgName = getPkgNameFromPurlObj(purlObj)
3741
+ return `socket: Bump ${pkgName} from ${purlObj.version} to ${toVersion}`
3742
+ }
3743
+ async function gitBranchExists(branch, cwd = process.cwd()) {
3712
3744
  try {
3713
3745
  await spawn.spawn(
3714
3746
  'git',
@@ -3722,8 +3754,15 @@ async function branchExists(branch, cwd = process.cwd()) {
3722
3754
  } catch {}
3723
3755
  return false
3724
3756
  }
3725
- async function checkoutBaseBranchIfAvailable(baseBranch, cwd = process.cwd()) {
3757
+ async function gitCheckoutBaseBranchIfAvailable(
3758
+ baseBranch,
3759
+ cwd = process.cwd()
3760
+ ) {
3726
3761
  try {
3762
+ await gitHardReset()
3763
+ await spawn.spawn('git', ['fetch', '--depth=1', 'origin', baseBranch], {
3764
+ cwd
3765
+ })
3727
3766
  await spawn.spawn('git', ['checkout', baseBranch], {
3728
3767
  cwd
3729
3768
  })
@@ -3731,18 +3770,19 @@ async function checkoutBaseBranchIfAvailable(baseBranch, cwd = process.cwd()) {
3731
3770
  cwd
3732
3771
  })
3733
3772
  logger.logger.info(`Checked out and reset to ${baseBranch}`)
3734
- } catch {
3773
+ } catch (e) {
3735
3774
  logger.logger.warn(
3736
3775
  `Could not switch to ${baseBranch}. Proceeding with HEAD.`
3737
3776
  )
3777
+ debug.debugLog(e)
3738
3778
  }
3739
3779
  }
3740
- async function createAndPushBranchIfNeeded(
3780
+ async function gitCreateAndPushBranchIfNeeded(
3741
3781
  branch,
3742
3782
  commitMsg,
3743
3783
  cwd = process.cwd()
3744
3784
  ) {
3745
- if (await branchExists(branch, cwd)) {
3785
+ if (await gitBranchExists(branch, cwd)) {
3746
3786
  logger.logger.warn(`Branch "${branch}" already exists. Skipping creation.`)
3747
3787
  return false
3748
3788
  }
@@ -3760,37 +3800,20 @@ async function createAndPushBranchIfNeeded(
3760
3800
  })
3761
3801
  return true
3762
3802
  }
3763
- function getBaseBranch() {
3764
- // Lazily access constants.ENV[GITHUB_REF_NAME].
3765
- return (
3766
- constants.ENV[GITHUB_REF_NAME] ??
3767
- // GitHub defaults to branch name "main"
3768
- // https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches#about-the-default-branch
3769
- 'main'
3770
- )
3771
- }
3772
- function getSocketBranchName(purl, toVersion) {
3773
- const purlObj = packageurlJs.PackageURL.fromString(purl)
3774
- const namespace = formatBranchName(purlObj.namespace ?? '')
3775
- const name = formatBranchName(purlObj.name)
3776
- const version = formatBranchName(toVersion)
3777
- const fullName = `${namespace ? `${namespace}-` : ''}${name}`
3778
- return `socket-fix-${fullName}-${version}`
3779
- }
3780
- function getSocketPullRequestTitle(purl, toVersion) {
3781
- const purlObj = packageurlJs.PackageURL.fromString(purl)
3782
- const pkgName = getPkgNameFromPurlObj(purlObj)
3783
- return `Bump ${pkgName} from ${purlObj.version} to ${toVersion}`
3784
- }
3785
- function getSocketPullRequestBody(purl, toVersion) {
3786
- const purlObj = packageurlJs.PackageURL.fromString(purl)
3787
- const pkgName = getPkgNameFromPurlObj(purlObj)
3788
- return `Bumps [${pkgName}](https://socket.dev/${purlObj.type}/package/${pkgName}) from ${purlObj.version} to ${toVersion}.`
3803
+ async function gitHardReset(cwd = process.cwd()) {
3804
+ await spawn.spawn('git', ['reset', '--hard'], {
3805
+ cwd
3806
+ })
3789
3807
  }
3790
- function getSocketCommitMessage(purl, toVersion) {
3791
- const purlObj = packageurlJs.PackageURL.fromString(purl)
3792
- const pkgName = getPkgNameFromPurlObj(purlObj)
3793
- return `socket: Bump ${pkgName} from ${purlObj.version} to ${toVersion}`
3808
+ async function isInGitRepo(cwd = process.cwd()) {
3809
+ try {
3810
+ await spawn.spawn('git', ['rev-parse', '--is-inside-work-tree'], {
3811
+ cwd,
3812
+ stdio: 'ignore'
3813
+ })
3814
+ return true
3815
+ } catch {}
3816
+ return false
3794
3817
  }
3795
3818
 
3796
3819
  const { GITHUB_ACTIONS, GITHUB_REPOSITORY, SOCKET_SECURITY_GITHUB_PAT } =
@@ -3967,6 +3990,7 @@ async function npmFix(
3967
3990
  })
3968
3991
  // Lazily access constants.ENV[CI].
3969
3992
  const isCi = constants.ENV[CI$1]
3993
+ const isRepo = await isInGitRepo(cwd)
3970
3994
  await arb.buildIdealTree()
3971
3995
  for (const { 0: name, 1: infos } of infoByPkg) {
3972
3996
  const hasUpgrade = !!registry.getManifestData(NPM$f, name)
@@ -4052,10 +4076,10 @@ async function npmFix(
4052
4076
  : undefined)
4053
4077
  }
4054
4078
  spinner?.info(`Installing ${toSpec}`)
4055
- const baseBranch = getBaseBranch()
4079
+ const baseBranch = getBaseGitBranch()
4056
4080
 
4057
4081
  // eslint-disable-next-line no-await-in-loop
4058
- await checkoutBaseBranchIfAvailable(baseBranch, cwd)
4082
+ await gitCheckoutBaseBranchIfAvailable(baseBranch, cwd)
4059
4083
  let error
4060
4084
  let errored = false
4061
4085
  let installed = false
@@ -4093,7 +4117,7 @@ async function npmFix(
4093
4117
  }
4094
4118
  if (!errored && shouldOpenPr) {
4095
4119
  // eslint-disable-next-line no-await-in-loop
4096
- await createAndPushBranchIfNeeded(
4120
+ await gitCreateAndPushBranchIfNeeded(
4097
4121
  branch,
4098
4122
  getSocketCommitMessage(fromPurl, toVersion),
4099
4123
  cwd
@@ -4117,12 +4141,18 @@ async function npmFix(
4117
4141
  if (errored) {
4118
4142
  spinner?.error(`Reverting ${toSpec}`, error)
4119
4143
  }
4144
+ if (isRepo) {
4145
+ // eslint-disable-next-line no-await-in-loop
4146
+ await gitHardReset(cwd)
4147
+ }
4120
4148
  if (saved) {
4121
4149
  editablePkgJson.update(revertData)
4122
- // eslint-disable-next-line no-await-in-loop
4123
- await editablePkgJson.save()
4150
+ if (!isRepo) {
4151
+ // eslint-disable-next-line no-await-in-loop
4152
+ await editablePkgJson.save()
4153
+ }
4124
4154
  }
4125
- if (installed) {
4155
+ if (!isRepo && installed) {
4126
4156
  // eslint-disable-next-line no-await-in-loop
4127
4157
  await install$1(revertTree, {
4128
4158
  cwd
@@ -4388,6 +4418,7 @@ async function pnpmFix(
4388
4418
  })
4389
4419
  // Lazily access constants.ENV[CI].
4390
4420
  const isCi = constants.ENV[CI]
4421
+ const isRepo = await isInGitRepo(cwd)
4391
4422
  let actualTree = await getActualTree(cwd)
4392
4423
  for (const { 0: name, 1: infos } of infoByPkg) {
4393
4424
  if (registry.getManifestData(NPM$c, name)) {
@@ -4452,6 +4483,7 @@ async function pnpmFix(
4452
4483
  )
4453
4484
  const toSpec = `${name}@${toVersionRange}`
4454
4485
  const branch = isCi ? getSocketBranchName(fromPurl, toVersion) : ''
4486
+ const baseBranch = isCi ? getBaseGitBranch() : ''
4455
4487
  const { owner, repo } = isCi
4456
4488
  ? getGitHubEnvRepoInfo()
4457
4489
  : {
@@ -4502,10 +4534,10 @@ async function pnpmFix(
4502
4534
  : undefined)
4503
4535
  }
4504
4536
  spinner?.info(`Installing ${toSpec}`)
4505
- const baseBranch = getBaseBranch()
4506
-
4507
- // eslint-disable-next-line no-await-in-loop
4508
- await checkoutBaseBranchIfAvailable(baseBranch, cwd)
4537
+ if (isCi) {
4538
+ // eslint-disable-next-line no-await-in-loop
4539
+ await gitCheckoutBaseBranchIfAvailable(baseBranch, cwd)
4540
+ }
4509
4541
  let error
4510
4542
  let errored = false
4511
4543
  let installed = false
@@ -4544,7 +4576,7 @@ async function pnpmFix(
4544
4576
  }
4545
4577
  if (!errored && shouldOpenPr) {
4546
4578
  // eslint-disable-next-line no-await-in-loop
4547
- await createAndPushBranchIfNeeded(
4579
+ await gitCreateAndPushBranchIfNeeded(
4548
4580
  branch,
4549
4581
  getSocketCommitMessage(fromPurl, toVersion),
4550
4582
  cwd
@@ -4568,12 +4600,21 @@ async function pnpmFix(
4568
4600
  if (errored) {
4569
4601
  spinner?.error(`Reverting ${toSpec}`, error)
4570
4602
  }
4603
+ if (isRepo) {
4604
+ // eslint-disable-next-line no-await-in-loop
4605
+ await gitHardReset(cwd)
4606
+ }
4571
4607
  if (saved) {
4572
4608
  editablePkgJson.update(revertData)
4573
- // eslint-disable-next-line no-await-in-loop
4574
- await editablePkgJson.save()
4609
+ if (!isRepo) {
4610
+ // eslint-disable-next-line no-await-in-loop
4611
+ await editablePkgJson.save()
4612
+ }
4575
4613
  }
4576
- if (installed) {
4614
+ if (isRepo) {
4615
+ // eslint-disable-next-line no-await-in-loop
4616
+ actualTree = await getActualTree(cwd)
4617
+ } else if (installed) {
4577
4618
  // eslint-disable-next-line no-await-in-loop
4578
4619
  actualTree = await install(pkgEnvDetails, {
4579
4620
  spinner
@@ -11502,7 +11543,7 @@ void (async () => {
11502
11543
  await vendor.updater({
11503
11544
  name: SOCKET_CLI_BIN_NAME,
11504
11545
  // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_VERSION']".
11505
- version: '0.14.101',
11546
+ version: '0.14.103',
11506
11547
  ttl: 86_400_000 /* 24 hours in milliseconds */
11507
11548
  })
11508
11549
  try {
@@ -11570,5 +11611,5 @@ void (async () => {
11570
11611
  await shadowNpmInject.captureException(e)
11571
11612
  }
11572
11613
  })()
11573
- //# debugId=44651632-7756-496b-8acd-9d65810541dd
11614
+ //# debugId=e925b9d1-907d-4e63-b176-1eb32d8e7284
11574
11615
  //# sourceMappingURL=cli.js.map