socket 0.14.102 → 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.
@@ -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.102:51e000d:e352a2ef:pub' // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_VERSION_HASH']".
903
+ const cliVersion = '0.14.103:d303e97:2b3cd4a5: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,12 @@ 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()
3727
3763
  await spawn.spawn('git', ['fetch', '--depth=1', 'origin', baseBranch], {
3728
3764
  cwd
3729
3765
  })
@@ -3741,12 +3777,12 @@ async function checkoutBaseBranchIfAvailable(baseBranch, cwd = process.cwd()) {
3741
3777
  debug.debugLog(e)
3742
3778
  }
3743
3779
  }
3744
- async function createAndPushBranchIfNeeded(
3780
+ async function gitCreateAndPushBranchIfNeeded(
3745
3781
  branch,
3746
3782
  commitMsg,
3747
3783
  cwd = process.cwd()
3748
3784
  ) {
3749
- if (await branchExists(branch, cwd)) {
3785
+ if (await gitBranchExists(branch, cwd)) {
3750
3786
  logger.logger.warn(`Branch "${branch}" already exists. Skipping creation.`)
3751
3787
  return false
3752
3788
  }
@@ -3764,37 +3800,20 @@ async function createAndPushBranchIfNeeded(
3764
3800
  })
3765
3801
  return true
3766
3802
  }
3767
- function getBaseBranch() {
3768
- // Lazily access constants.ENV[GITHUB_REF_NAME].
3769
- return (
3770
- constants.ENV[GITHUB_REF_NAME] ??
3771
- // GitHub defaults to branch name "main"
3772
- // 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
3773
- 'main'
3774
- )
3775
- }
3776
- function getSocketBranchName(purl, toVersion) {
3777
- const purlObj = packageurlJs.PackageURL.fromString(purl)
3778
- const namespace = formatBranchName(purlObj.namespace ?? '')
3779
- const name = formatBranchName(purlObj.name)
3780
- const version = formatBranchName(toVersion)
3781
- const fullName = `${namespace ? `${namespace}-` : ''}${name}`
3782
- return `socket-fix-${fullName}-${version}`
3783
- }
3784
- function getSocketPullRequestTitle(purl, toVersion) {
3785
- const purlObj = packageurlJs.PackageURL.fromString(purl)
3786
- const pkgName = getPkgNameFromPurlObj(purlObj)
3787
- return `Bump ${pkgName} from ${purlObj.version} to ${toVersion}`
3788
- }
3789
- function getSocketPullRequestBody(purl, toVersion) {
3790
- const purlObj = packageurlJs.PackageURL.fromString(purl)
3791
- const pkgName = getPkgNameFromPurlObj(purlObj)
3792
- 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
+ })
3793
3807
  }
3794
- function getSocketCommitMessage(purl, toVersion) {
3795
- const purlObj = packageurlJs.PackageURL.fromString(purl)
3796
- const pkgName = getPkgNameFromPurlObj(purlObj)
3797
- 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
3798
3817
  }
3799
3818
 
3800
3819
  const { GITHUB_ACTIONS, GITHUB_REPOSITORY, SOCKET_SECURITY_GITHUB_PAT } =
@@ -3971,6 +3990,7 @@ async function npmFix(
3971
3990
  })
3972
3991
  // Lazily access constants.ENV[CI].
3973
3992
  const isCi = constants.ENV[CI$1]
3993
+ const isRepo = await isInGitRepo(cwd)
3974
3994
  await arb.buildIdealTree()
3975
3995
  for (const { 0: name, 1: infos } of infoByPkg) {
3976
3996
  const hasUpgrade = !!registry.getManifestData(NPM$f, name)
@@ -4056,10 +4076,10 @@ async function npmFix(
4056
4076
  : undefined)
4057
4077
  }
4058
4078
  spinner?.info(`Installing ${toSpec}`)
4059
- const baseBranch = getBaseBranch()
4079
+ const baseBranch = getBaseGitBranch()
4060
4080
 
4061
4081
  // eslint-disable-next-line no-await-in-loop
4062
- await checkoutBaseBranchIfAvailable(baseBranch, cwd)
4082
+ await gitCheckoutBaseBranchIfAvailable(baseBranch, cwd)
4063
4083
  let error
4064
4084
  let errored = false
4065
4085
  let installed = false
@@ -4097,7 +4117,7 @@ async function npmFix(
4097
4117
  }
4098
4118
  if (!errored && shouldOpenPr) {
4099
4119
  // eslint-disable-next-line no-await-in-loop
4100
- await createAndPushBranchIfNeeded(
4120
+ await gitCreateAndPushBranchIfNeeded(
4101
4121
  branch,
4102
4122
  getSocketCommitMessage(fromPurl, toVersion),
4103
4123
  cwd
@@ -4121,12 +4141,18 @@ async function npmFix(
4121
4141
  if (errored) {
4122
4142
  spinner?.error(`Reverting ${toSpec}`, error)
4123
4143
  }
4144
+ if (isRepo) {
4145
+ // eslint-disable-next-line no-await-in-loop
4146
+ await gitHardReset(cwd)
4147
+ }
4124
4148
  if (saved) {
4125
4149
  editablePkgJson.update(revertData)
4126
- // eslint-disable-next-line no-await-in-loop
4127
- await editablePkgJson.save()
4150
+ if (!isRepo) {
4151
+ // eslint-disable-next-line no-await-in-loop
4152
+ await editablePkgJson.save()
4153
+ }
4128
4154
  }
4129
- if (installed) {
4155
+ if (!isRepo && installed) {
4130
4156
  // eslint-disable-next-line no-await-in-loop
4131
4157
  await install$1(revertTree, {
4132
4158
  cwd
@@ -4388,6 +4414,7 @@ async function pnpmFix(
4388
4414
  })
4389
4415
  // Lazily access constants.ENV[CI].
4390
4416
  const isCi = constants.ENV[CI]
4417
+ const isRepo = await isInGitRepo(cwd)
4391
4418
  let actualTree = await getActualTree(cwd)
4392
4419
  for (const { 0: name, 1: infos } of infoByPkg) {
4393
4420
  if (registry.getManifestData(NPM$c, name)) {
@@ -4452,6 +4479,7 @@ async function pnpmFix(
4452
4479
  )
4453
4480
  const toSpec = `${name}@${toVersionRange}`
4454
4481
  const branch = isCi ? getSocketBranchName(fromPurl, toVersion) : ''
4482
+ const baseBranch = isCi ? getBaseGitBranch() : ''
4455
4483
  const { owner, repo } = isCi
4456
4484
  ? getGitHubEnvRepoInfo()
4457
4485
  : {
@@ -4502,10 +4530,10 @@ async function pnpmFix(
4502
4530
  : undefined)
4503
4531
  }
4504
4532
  spinner?.info(`Installing ${toSpec}`)
4505
- const baseBranch = getBaseBranch()
4506
-
4507
- // eslint-disable-next-line no-await-in-loop
4508
- await checkoutBaseBranchIfAvailable(baseBranch, cwd)
4533
+ if (isCi) {
4534
+ // eslint-disable-next-line no-await-in-loop
4535
+ await gitCheckoutBaseBranchIfAvailable(baseBranch, cwd)
4536
+ }
4509
4537
  let error
4510
4538
  let errored = false
4511
4539
  let installed = false
@@ -4544,7 +4572,7 @@ async function pnpmFix(
4544
4572
  }
4545
4573
  if (!errored && shouldOpenPr) {
4546
4574
  // eslint-disable-next-line no-await-in-loop
4547
- await createAndPushBranchIfNeeded(
4575
+ await gitCreateAndPushBranchIfNeeded(
4548
4576
  branch,
4549
4577
  getSocketCommitMessage(fromPurl, toVersion),
4550
4578
  cwd
@@ -4568,12 +4596,21 @@ async function pnpmFix(
4568
4596
  if (errored) {
4569
4597
  spinner?.error(`Reverting ${toSpec}`, error)
4570
4598
  }
4599
+ if (isRepo) {
4600
+ // eslint-disable-next-line no-await-in-loop
4601
+ await gitHardReset(cwd)
4602
+ }
4571
4603
  if (saved) {
4572
4604
  editablePkgJson.update(revertData)
4573
- // eslint-disable-next-line no-await-in-loop
4574
- await editablePkgJson.save()
4605
+ if (!isRepo) {
4606
+ // eslint-disable-next-line no-await-in-loop
4607
+ await editablePkgJson.save()
4608
+ }
4575
4609
  }
4576
- if (installed) {
4610
+ if (isRepo) {
4611
+ // eslint-disable-next-line no-await-in-loop
4612
+ actualTree = await getActualTree(cwd)
4613
+ } else if (installed) {
4577
4614
  // eslint-disable-next-line no-await-in-loop
4578
4615
  actualTree = await install(pkgEnvDetails, {
4579
4616
  spinner
@@ -11502,7 +11539,7 @@ void (async () => {
11502
11539
  await vendor.updater({
11503
11540
  name: SOCKET_CLI_BIN_NAME,
11504
11541
  // The '@rollup/plugin-replace' will replace "process.env['INLINED_SOCKET_CLI_VERSION']".
11505
- version: '0.14.102',
11542
+ version: '0.14.103',
11506
11543
  ttl: 86_400_000 /* 24 hours in milliseconds */
11507
11544
  })
11508
11545
  try {
@@ -11570,5 +11607,5 @@ void (async () => {
11570
11607
  await shadowNpmInject.captureException(e)
11571
11608
  }
11572
11609
  })()
11573
- //# debugId=53c889d4-b512-4df3-9241-7d2b2c18c461
11610
+ //# debugId=3fc5326e-42e3-4bc1-b11e-317bbdc355b6
11574
11611
  //# sourceMappingURL=cli.js.map