@socketsecurity/cli-with-sentry 0.14.152 → 0.14.153

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.
@@ -12,8 +12,8 @@ declare namespace Packages {
12
12
  export class EditablePackageJson extends NPMCliPackageJson {
13
13
  content: Readonly<PackageJson>
14
14
  // @ts-ignore TypeScript doesn't like an override with a different return type.
15
- override save: () => Promise<boolean>
16
- saveSync: () => void
15
+ override save: (options?: SaveOptions | undefined) => Promise<boolean>
16
+ saveSync: (options?: SaveOptions | undefined) => boolean
17
17
  }
18
18
  export type Exports = Exclude<PackageJson['exports'], undefined>
19
19
  export type ExtractOptions = PacoteOptions & {
@@ -35,6 +35,10 @@ declare namespace Packages {
35
35
  export type PacoteOptions = PacoteOptionsRaw & {
36
36
  signal?: AbortSignal | undefined
37
37
  }
38
+ export type SaveOptions = {
39
+ ignoreWhitespace?: boolean | undefined
40
+ sort?: boolean | undefined
41
+ }
38
42
  export function collectIncompatibleLicenses(
39
43
  licenseNodes: LicenseNode[]
40
44
  ): LicenseNode[]
@@ -42,136 +42,13 @@ function getCacache() {
42
42
  return _cacache
43
43
  }
44
44
 
45
- let _fetcher
46
- /*@__NO_SIDE_EFFECTS__*/
47
- function getFetcher() {
48
- if (_fetcher === undefined) {
49
- const makeFetchHappen = /*@__PURE__*/ require('../external/make-fetch-happen')
50
- _fetcher = makeFetchHappen.defaults({
51
- cachePath: /*@__PURE__*/ require('./constants/pacote-cache-path'),
52
- // Prefer-offline: Staleness checks for cached data will be bypassed, but
53
- // missing data will be requested from the server.
54
- // https://github.com/npm/make-fetch-happen?tab=readme-ov-file#--optscache
55
- cache: 'force-cache'
56
- })
57
- }
58
- return _fetcher
59
- }
60
-
61
- let _fs
62
- /*@__NO_SIDE_EFFECTS__*/
63
- function getFs() {
64
- if (_fs === undefined) {
65
- // Use non-'node:' prefixed require to avoid Webpack errors.
66
- // eslint-disable-next-line n/prefer-node-protocol
67
- _fs = /*@__PURE__*/ require('fs')
68
- }
69
- return _fs
70
- }
71
-
72
- let _normalizePackageData
73
- /*@__NO_SIDE_EFFECTS__*/
74
- function getNormalizePackageData() {
75
- if (_normalizePackageData === undefined) {
76
- _normalizePackageData = /*@__PURE__*/ require('../external/normalize-package-data')
77
- }
78
- return _normalizePackageData
79
- }
80
-
81
- let _npmPackageArg
82
- /*@__NO_SIDE_EFFECTS__*/
83
- function getNpmPackageArg() {
84
- if (_npmPackageArg === undefined) {
85
- _npmPackageArg = /*@__PURE__*/ require('../external/npm-package-arg')
86
- }
87
- return _npmPackageArg
88
- }
89
-
90
- let _pack
91
- /*@__NO_SIDE_EFFECTS__*/
92
- function getPack() {
93
- if (_pack === undefined) {
94
- _pack = /*@__PURE__*/ require('../external/libnpmpack')
95
- }
96
- return _pack
97
- }
98
-
99
- let _PackageURL
100
- /*@__NO_SIDE_EFFECTS__*/
101
- function getPackageURL() {
102
- if (_PackageURL === undefined) {
103
- // The 'packageurl-js' package is browser safe.
104
- _PackageURL =
105
- /*@__PURE__*/ require('../external/@socketregistry/packageurl-js').PackageURL
106
- }
107
- return _PackageURL
108
- }
109
-
110
- let _pacote
111
- /*@__NO_SIDE_EFFECTS__*/
112
- function getPacote() {
113
- if (_pacote === undefined) {
114
- _pacote = /*@__PURE__*/ require('../external/pacote')
115
- }
116
- return _pacote
117
- }
118
-
119
- let _path
120
- /*@__NO_SIDE_EFFECTS__*/
121
- function getPath() {
122
- if (_path === undefined) {
123
- // Use non-'node:' prefixed require to avoid Webpack errors.
124
- // eslint-disable-next-line n/prefer-node-protocol
125
- _path = /*@__PURE__*/ require('path')
126
- }
127
- return _path
128
- }
129
-
130
- let _semver
131
- /*@__NO_SIDE_EFFECTS__*/
132
- function getSemver() {
133
- if (_semver === undefined) {
134
- // The 'semver' package is browser safe.
135
- _semver = /*@__PURE__*/ require('../external/semver')
136
- }
137
- return _semver
138
- }
139
-
140
- let _spdxCorrect
141
- /*@__NO_SIDE_EFFECTS__*/
142
- function getSpdxCorrect() {
143
- if (_spdxCorrect === undefined) {
144
- // The 'spdx-correct' package is browser safe.
145
- _spdxCorrect = /*@__PURE__*/ require('../external/spdx-correct')
146
- }
147
- return _spdxCorrect
148
- }
149
-
150
- let _spdxExpParse
151
- /*@__NO_SIDE_EFFECTS__*/
152
- function getSpdxExpParse() {
153
- if (_spdxExpParse === undefined) {
154
- // The 'spdx-expression-parse' package is browser safe.
155
- _spdxExpParse = /*@__PURE__*/ require('../external/spdx-expression-parse')
156
- }
157
- return _spdxExpParse
158
- }
159
-
160
- let _validateNpmPackageName
161
- /*@__NO_SIDE_EFFECTS__*/
162
- function getValidateNpmPackageName() {
163
- if (_validateNpmPackageName === undefined) {
164
- _validateNpmPackageName = /*@__PURE__*/ require('../external/validate-npm-package-name')
165
- }
166
- return _validateNpmPackageName
167
- }
168
-
169
45
  let _EditablePackageJsonClass
170
46
  /*@__NO_SIDE_EFFECTS__*/
171
47
  function getEditablePackageJsonClass() {
172
48
  if (_EditablePackageJsonClass === undefined) {
173
49
  const EditablePackageJsonBase = /*@__PURE__*/ require('../external/@npmcli/package-json')
174
50
  const {
51
+ parse,
175
52
  read
176
53
  } = /*@__PURE__*/ require('../external/@npmcli/package-json/lib/read-package')
177
54
  const {
@@ -187,6 +64,7 @@ function getEditablePackageJsonClass() {
187
64
  _canSave = true
188
65
  _path = undefined
189
66
  _readFileContent = ''
67
+ _readFileJson = null
190
68
 
191
69
  static async create(path, opts = {}) {
192
70
  const p = new _EditablePackageJsonClass()
@@ -284,7 +162,10 @@ function getEditablePackageJsonClass() {
284
162
  this._canSave = false
285
163
  return this
286
164
  }
287
- return this.fromJSON(this._readFileContent)
165
+ this.fromJSON(this._readFileContent)
166
+ // Add AFTER fromJSON is called in case it errors.
167
+ this._readFileJson = parse(this._readFileContent)
168
+ return this
288
169
  }
289
170
 
290
171
  async normalize(opts = {}) {
@@ -301,7 +182,7 @@ function getEditablePackageJsonClass() {
301
182
  return this
302
183
  }
303
184
 
304
- async save({ sort } = {}) {
185
+ async save({ ignoreWhitespace = false, sort = false } = {}) {
305
186
  if (!this._canSave) {
306
187
  throw new Error('No package.json to save to')
307
188
  }
@@ -310,40 +191,75 @@ function getEditablePackageJsonClass() {
310
191
  [Symbol.for('newline')]: newline,
311
192
  ...rest
312
193
  } = this.content
194
+ const content = sort ? packageSort(rest) : rest
195
+
196
+ if (
197
+ ignoreWhitespace &&
198
+ getUtil().isDeepStrictEqual(content, this._readFileJson)
199
+ ) {
200
+ return false
201
+ }
202
+
313
203
  const format = indent === undefined ? ' ' : indent
314
204
  const eol = newline === undefined ? '\n' : newline
315
- const content = sort ? packageSort(rest) : rest
316
205
  const fileContent = `${JSON.stringify(
317
206
  content,
318
207
  null,
319
208
  format
320
209
  )}\n`.replace(/\n/g, eol)
321
210
 
322
- if (fileContent.trim() === this._readFileContent.trim()) {
211
+ if (
212
+ !ignoreWhitespace &&
213
+ fileContent.trim() === this._readFileContent.trim()
214
+ ) {
323
215
  return false
324
216
  }
217
+
325
218
  const { promises: fsPromises } = getFs()
326
219
  await fsPromises.writeFile(this.filename, fileContent)
327
220
  this._readFileContent = fileContent
221
+ this._readFileJson = parse(fileContent)
328
222
  return true
329
223
  }
330
224
 
331
- async saveSync() {
225
+ async saveSync({ ignoreWhitespace = false, sort = false } = {}) {
332
226
  if (!this._canSave || this.content === undefined) {
333
227
  throw new Error('No package.json to save to')
334
228
  }
335
229
  const {
336
230
  [Symbol.for('indent')]: indent,
337
- [Symbol.for('newline')]: newline
231
+ [Symbol.for('newline')]: newline,
232
+ ...rest
338
233
  } = this.content
234
+ const content = sort ? packageSort(rest) : rest
235
+
236
+ if (
237
+ ignoreWhitespace &&
238
+ getUtil().isDeepStrictEqual(content, this._readFileJson)
239
+ ) {
240
+ return false
241
+ }
242
+
339
243
  const format = indent === undefined ? ' ' : indent
340
244
  const eol = newline === undefined ? '\n' : newline
341
- let fileContent = `${JSON.stringify(this.content, null, format)}\n`
342
- if (eol !== '\n') {
343
- fileContent = fileContent.replace(/\n/g, eol)
245
+ const fileContent = `${JSON.stringify(
246
+ content,
247
+ null,
248
+ format
249
+ )}\n`.replace(/\n/g, eol)
250
+
251
+ if (
252
+ !ignoreWhitespace &&
253
+ fileContent.trim() === this._readFileContent.trim()
254
+ ) {
255
+ return false
344
256
  }
257
+
345
258
  const fs = getFs()
346
259
  fs.writeFileSync(this.filename, fileContent)
260
+ this._readFileContent = fileContent
261
+ this._readFileJson = parse(fileContent)
262
+ return true
347
263
  }
348
264
 
349
265
  update(content) {
@@ -355,6 +271,141 @@ function getEditablePackageJsonClass() {
355
271
  return _EditablePackageJsonClass
356
272
  }
357
273
 
274
+ let _fetcher
275
+ /*@__NO_SIDE_EFFECTS__*/
276
+ function getFetcher() {
277
+ if (_fetcher === undefined) {
278
+ const makeFetchHappen = /*@__PURE__*/ require('../external/make-fetch-happen')
279
+ _fetcher = makeFetchHappen.defaults({
280
+ cachePath: /*@__PURE__*/ require('./constants/pacote-cache-path'),
281
+ // Prefer-offline: Staleness checks for cached data will be bypassed, but
282
+ // missing data will be requested from the server.
283
+ // https://github.com/npm/make-fetch-happen?tab=readme-ov-file#--optscache
284
+ cache: 'force-cache'
285
+ })
286
+ }
287
+ return _fetcher
288
+ }
289
+
290
+ let _fs
291
+ /*@__NO_SIDE_EFFECTS__*/
292
+ function getFs() {
293
+ if (_fs === undefined) {
294
+ // Use non-'node:' prefixed require to avoid Webpack errors.
295
+ // eslint-disable-next-line n/prefer-node-protocol
296
+ _fs = /*@__PURE__*/ require('fs')
297
+ }
298
+ return _fs
299
+ }
300
+
301
+ let _normalizePackageData
302
+ /*@__NO_SIDE_EFFECTS__*/
303
+ function getNormalizePackageData() {
304
+ if (_normalizePackageData === undefined) {
305
+ _normalizePackageData = /*@__PURE__*/ require('../external/normalize-package-data')
306
+ }
307
+ return _normalizePackageData
308
+ }
309
+
310
+ let _npmPackageArg
311
+ /*@__NO_SIDE_EFFECTS__*/
312
+ function getNpmPackageArg() {
313
+ if (_npmPackageArg === undefined) {
314
+ _npmPackageArg = /*@__PURE__*/ require('../external/npm-package-arg')
315
+ }
316
+ return _npmPackageArg
317
+ }
318
+
319
+ let _pack
320
+ /*@__NO_SIDE_EFFECTS__*/
321
+ function getPack() {
322
+ if (_pack === undefined) {
323
+ _pack = /*@__PURE__*/ require('../external/libnpmpack')
324
+ }
325
+ return _pack
326
+ }
327
+
328
+ let _PackageURL
329
+ /*@__NO_SIDE_EFFECTS__*/
330
+ function getPackageURL() {
331
+ if (_PackageURL === undefined) {
332
+ // The 'packageurl-js' package is browser safe.
333
+ _PackageURL =
334
+ /*@__PURE__*/ require('../external/@socketregistry/packageurl-js').PackageURL
335
+ }
336
+ return _PackageURL
337
+ }
338
+
339
+ let _pacote
340
+ /*@__NO_SIDE_EFFECTS__*/
341
+ function getPacote() {
342
+ if (_pacote === undefined) {
343
+ _pacote = /*@__PURE__*/ require('../external/pacote')
344
+ }
345
+ return _pacote
346
+ }
347
+
348
+ let _path
349
+ /*@__NO_SIDE_EFFECTS__*/
350
+ function getPath() {
351
+ if (_path === undefined) {
352
+ // Use non-'node:' prefixed require to avoid Webpack errors.
353
+ // eslint-disable-next-line n/prefer-node-protocol
354
+ _path = /*@__PURE__*/ require('path')
355
+ }
356
+ return _path
357
+ }
358
+
359
+ let _semver
360
+ /*@__NO_SIDE_EFFECTS__*/
361
+ function getSemver() {
362
+ if (_semver === undefined) {
363
+ // The 'semver' package is browser safe.
364
+ _semver = /*@__PURE__*/ require('../external/semver')
365
+ }
366
+ return _semver
367
+ }
368
+
369
+ let _spdxCorrect
370
+ /*@__NO_SIDE_EFFECTS__*/
371
+ function getSpdxCorrect() {
372
+ if (_spdxCorrect === undefined) {
373
+ // The 'spdx-correct' package is browser safe.
374
+ _spdxCorrect = /*@__PURE__*/ require('../external/spdx-correct')
375
+ }
376
+ return _spdxCorrect
377
+ }
378
+
379
+ let _spdxExpParse
380
+ /*@__NO_SIDE_EFFECTS__*/
381
+ function getSpdxExpParse() {
382
+ if (_spdxExpParse === undefined) {
383
+ // The 'spdx-expression-parse' package is browser safe.
384
+ _spdxExpParse = /*@__PURE__*/ require('../external/spdx-expression-parse')
385
+ }
386
+ return _spdxExpParse
387
+ }
388
+
389
+ let _util
390
+ /*@__NO_SIDE_EFFECTS__*/
391
+ function getUtil() {
392
+ if (_util === undefined) {
393
+ // Use non-'node:' prefixed require to avoid Webpack errors.
394
+ // eslint-disable-next-line n/prefer-node-protocol
395
+ _util = /*@__PURE__*/ require('util')
396
+ }
397
+ return _util
398
+ }
399
+
400
+ let _validateNpmPackageName
401
+ /*@__NO_SIDE_EFFECTS__*/
402
+ function getValidateNpmPackageName() {
403
+ if (_validateNpmPackageName === undefined) {
404
+ _validateNpmPackageName = /*@__PURE__*/ require('../external/validate-npm-package-name')
405
+ }
406
+ return _validateNpmPackageName
407
+ }
408
+
358
409
  /*@__NO_SIDE_EFFECTS__*/
359
410
  function collectIncompatibleLicenses(licenseNodes) {
360
411
  const result = []
@@ -457,12 +508,14 @@ function createPackageJson(sockRegPkgName, directory, options) {
457
508
  directory
458
509
  },
459
510
  ...(type ? { type } : {}),
460
- ...(entryExports ? { exports: entryExports } : {}),
511
+ ...(entryExports ? { exports: { ...entryExports } } : {}),
461
512
  ...(entryExports ? {} : { main: `${main ?? './index.js'}` }),
462
513
  sideEffects: sideEffects !== undefined && !!sideEffects,
463
- ...(isObjectObject(dependencies) ? { dependencies } : {}),
464
- ...(isObjectObject(overrides) ? { overrides } : {}),
465
- ...(isObjectObject(resolutions) ? { resolutions } : {}),
514
+ ...(isObjectObject(dependencies)
515
+ ? { dependencies: { ...dependencies } }
516
+ : {}),
517
+ ...(isObjectObject(overrides) ? { overrides: { ...overrides } } : {}),
518
+ ...(isObjectObject(resolutions) ? { resolutions: { ...resolutions } } : {}),
466
519
  ...(isObjectObject(engines)
467
520
  ? {
468
521
  engines: objectFromEntries(
@@ -486,9 +539,9 @@ function createPackageJson(sockRegPkgName, directory, options) {
486
539
  )
487
540
  }
488
541
  : { engines: { node: PACKAGE_DEFAULT_NODE_RANGE } }),
489
- files: Array.isArray(files) ? files : ['*.d.ts', '*.js'],
542
+ files: Array.isArray(files) ? files.slice() : ['*.d.ts', '*.js'],
490
543
  ...(isObjectObject(socket)
491
- ? { socket }
544
+ ? { socket: { ...socket } }
492
545
  : {
493
546
  socket: {
494
547
  // Valid categories are: cleanup, levelup, speedup, tuneup
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socketsecurity/registry",
3
- "version": "1.0.157",
3
+ "version": "1.0.159",
4
4
  "license": "MIT",
5
5
  "description": "Socket.dev registry helpers methods and metadata",
6
6
  "keywords": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socketsecurity/cli-with-sentry",
3
- "version": "0.14.152",
3
+ "version": "0.14.153",
4
4
  "description": "CLI tool for Socket.dev, includes Sentry error handling, otherwise identical to the regular `socket` package",
5
5
  "homepage": "https://github.com/SocketDev/socket-cli",
6
6
  "license": "MIT",
@@ -106,8 +106,8 @@
106
106
  "@socketregistry/is-interactive": "1.0.5",
107
107
  "@socketregistry/packageurl-js": "1.0.6",
108
108
  "@socketsecurity/config": "2.1.3",
109
- "@socketsecurity/registry": "1.0.157",
110
- "@socketsecurity/sdk": "1.4.29",
109
+ "@socketsecurity/registry": "1.0.159",
110
+ "@socketsecurity/sdk": "1.4.30",
111
111
  "@types/blessed": "0.1.25",
112
112
  "@types/cmd-shim": "5.0.2",
113
113
  "@types/micromatch": "4.0.9",
@@ -139,7 +139,7 @@
139
139
  "hpagent": "1.2.0",
140
140
  "husky": "9.1.7",
141
141
  "ignore": "7.0.4",
142
- "knip": "5.51.1",
142
+ "knip": "5.52.0",
143
143
  "lint-staged": "15.5.1",
144
144
  "magic-string": "0.30.17",
145
145
  "meow": "13.2.0",
@@ -148,7 +148,7 @@
148
148
  "nock": "14.0.4",
149
149
  "npm-package-arg": "12.0.2",
150
150
  "npm-run-all2": "7.0.2",
151
- "open": "10.1.1",
151
+ "open": "10.1.2",
152
152
  "oxlint": "0.16.8",
153
153
  "pony-cause": "2.1.11",
154
154
  "rollup": "4.40.1",