@socketsecurity/cli 0.10.0 → 0.10.1

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.
@@ -254,7 +254,7 @@ const ttyServerPromise = chalkPromise.then(async (chalk) => {
254
254
  const npmEntrypoint = fs.realpathSync(`${process.argv[1]}`)
255
255
  /**
256
256
  * @param {string} filepath
257
- * @returns {string}
257
+ * @returns {string | null}
258
258
  */
259
259
  function findRoot (filepath) {
260
260
  if (path.basename(filepath) === 'npm') {
@@ -262,21 +262,36 @@ function findRoot (filepath) {
262
262
  }
263
263
  const parent = path.dirname(filepath)
264
264
  if (parent === filepath) {
265
- process.exit(127)
265
+ return null
266
266
  }
267
267
  return findRoot(parent)
268
268
  }
269
269
  const npmDir = findRoot(path.dirname(npmEntrypoint))
270
- const arboristLibClassPath = path.join(npmDir, 'node_modules', '@npmcli', 'arborist', 'lib', 'arborist', 'index.js')
270
+ if (npmDir === null) {
271
+ console.error('Unable to find npm cli install directory, this is potentiall a bug with socket-npm caused by changes to npm cli.')
272
+ console.error(`Searched parent directories of ${npmEntrypoint}`)
273
+ process.exit(127)
274
+ }
275
+ let arboristLibClassPath
276
+ try {
277
+ arboristLibClassPath = path.join(npmDir, 'node_modules', '@npmcli', 'arborist', 'lib', 'arborist', 'index.js')
278
+ } catch (e) {
279
+ console.error('Unable to integrate with npm cli internals, this is potentially a bug with socket-npm caused by changes to npm cli.')
280
+ process.exit(127);
281
+ }
271
282
 
272
- const npmVersion = process.env.NPM_VERSION.split('.')
273
283
  let npmlog
274
284
 
275
- if(npmVersion[0] === '10' && npmVersion[1] >= '6'){
276
- const { log } = require(path.join(npmDir, 'node_modules', 'proc-log', 'lib', 'index.js'))
277
- npmlog = log
278
- } else {
285
+ try {
279
286
  npmlog = require(path.join(npmDir, 'node_modules', 'npmlog', 'lib', 'log.js'))
287
+ } catch {
288
+ try {
289
+ const { log } = require(path.join(npmDir, 'node_modules', 'proc-log', 'lib', 'index.js'))
290
+ npmlog = log
291
+ } catch {
292
+ console.error('Unable to integrate with npm cli logging infrastructure, this is potentially a bug with socket-npm caused by changes to npm cli.')
293
+ process.exit(127);
294
+ }
280
295
  }
281
296
 
282
297
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socketsecurity/cli",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "description": "CLI tool for Socket.dev",
5
5
  "homepage": "http://github.com/SocketDev/socket-cli-js",
6
6
  "repository": {
@@ -101,15 +101,14 @@
101
101
  "engines": {
102
102
  "node": "^20.9.0 || >=21.1.0"
103
103
  },
104
-
105
104
  "scripts": {
106
- "check:dependency-check": "dependency-check '*.js' 'lib/shadow/*.cjs' '*.mjs' 'test/**/*.js' --no-dev --ignore-module node:* --ignore-module @cyclonedx/* --ignore-module synp",
105
+ "check:dependency-check": "dependency-check '*.js' 'lib/shadow/*.cjs' '*.mjs' 'test/*.js' --no-dev --ignore-module node:* --ignore-module @cyclonedx/* --ignore-module synp",
107
106
  "check:installed-check": "installed-check -i eslint-plugin-jsdoc",
108
107
  "check:lint": "eslint --report-unused-disable-directives .",
109
108
  "check:tsc": "tsc",
110
109
  "check:type-coverage": "type-coverage --detail --strict --at-least 95 --ignore-files 'test/*'",
111
110
  "check": "run-p -c --aggregate-output check:*",
112
- "prepare": "husky install",
111
+ "prepare": "husky",
113
112
  "test:unit": "c8 --reporter=lcov --reporter text node --test",
114
113
  "test-ci": "run-s test:*",
115
114
  "test": "run-s check test:*",