Skip to content

Commit 695fd3a

Browse files
committed
chore: release v3.0.1
- Add convenience exports (getDefaultLogger, Logger, LOG_SYMBOLS, getDefaultSpinner, Spinner) to main index - Fix critical spinner crashes from removed logger export - Remove empty SocketRegistry class and exports - Update all spinner internal logger calls to use getDefaultLogger()
1 parent 499ca7a commit 695fd3a

6 files changed

Lines changed: 41 additions & 71 deletions

File tree

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.0.1](https://github.com/SocketDev/socket-lib/releases/tag/v3.0.1) - 2025-11-01
9+
10+
### Added
11+
12+
- **Convenience exports from main index**: Added logger and spinner exports to ease v2→v3 migration
13+
- Logger: `getDefaultLogger()`, `Logger`, `LOG_SYMBOLS` now available from `@socketsecurity/lib`
14+
- Spinner: `getDefaultSpinner()`, `Spinner` now available from `@socketsecurity/lib`
15+
- Both main index (`@socketsecurity/lib`) and subpath (`@socketsecurity/lib/logger`, `@socketsecurity/lib/spinner`) imports now work
16+
- Both import paths return the same singleton instances
17+
18+
### Fixed
19+
20+
- **Critical: Spinner crashes when calling logger**: Fixed spinner internal calls to use `getDefaultLogger()` instead of removed `logger` export
21+
- Spinner methods (`start()`, `stop()`, `success()`, `fail()`, etc.) no longer crash with "logger is not defined" errors
22+
- All 5 internal logger access points updated to use the correct v3 API
23+
- Resolves runtime errors when using spinners with hoisted variables
24+
25+
### Changed
26+
27+
- **Migration path improvement**: Users can now import logger/spinner from either main index or subpaths, reducing breaking change impact from v3.0.0
28+
829
## [3.0.0](https://github.com/SocketDev/socket-lib/releases/tag/v3.0.0) - 2025-11-01
930

1031
### Added

package.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@socketsecurity/lib",
3-
"version": "3.0.0",
3+
"version": "3.0.1",
44
"license": "MIT",
55
"description": "Core utilities and infrastructure for Socket.dev security tools",
66
"keywords": [
@@ -356,10 +356,6 @@
356356
"types": "./dist/packages/provenance.d.ts",
357357
"default": "./dist/packages/provenance.js"
358358
},
359-
"./packages/registry": {
360-
"types": "./dist/packages/registry.d.ts",
361-
"default": "./dist/packages/registry.js"
362-
},
363359
"./packages/specs": {
364360
"types": "./dist/packages/specs.d.ts",
365361
"default": "./dist/packages/specs.js"

src/index.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
/**
2-
* @fileoverview Main entry point for Socket Registry v2.0.
2+
* @fileoverview Main entry point for @socketsecurity/lib.
33
* Clean, organized exports for better developer experience.
44
*/
55

6-
// Direct exports for commonly used items
7-
// Alias for backward compatibility with GitHub version
8-
export {
9-
SocketRegistry,
10-
SocketRegistry as SocketSecurityRegistry,
11-
} from './packages/registry'
6+
// Export logger utilities for convenience
7+
export { getDefaultLogger, Logger, LOG_SYMBOLS } from './logger'
8+
// Export spinner utilities for convenience
9+
export { getDefaultSpinner, Spinner } from './spinner'
1210
// Export types
1311
export * from './types'
1412

@@ -47,4 +45,4 @@ export function getManifestData(ecosystem?: string, packageName?: string) {
4745
}
4846

4947
// Version export
50-
export const version = '2.0.0'
48+
export const version = '3.0.1'

src/packages/registry.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/spinner.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -641,10 +641,11 @@ export function Spinner(options?: SpinnerOptions | undefined): Spinner {
641641
const normalized = normalizeText(text)
642642
super[methodName](normalized)
643643
const {
644+
getDefaultLogger,
644645
incLogCallCountSymbol,
645646
lastWasBlankSymbol,
646-
logger,
647647
} = /*@__PURE__*/ require('./logger.js')
648+
const logger = getDefaultLogger()
648649
if (methodName === 'stop') {
649650
if (wasSpinning && normalized) {
650651
logger[lastWasBlankSymbol](isBlankString(normalized))
@@ -719,8 +720,12 @@ export function Spinner(options?: SpinnerOptions | undefined): Spinner {
719720
text = ''
720721
}
721722

722-
const { LOG_SYMBOLS, logger } = /*@__PURE__*/ require('./logger.js')
723+
const {
724+
LOG_SYMBOLS,
725+
getDefaultLogger,
726+
} = /*@__PURE__*/ require('./logger.js')
723727
// Note: Status messages always go to stderr.
728+
const logger = getDefaultLogger()
724729
logger.error(`${LOG_SYMBOLS[symbolType]} ${text}`, ...extras)
725730
return this
726731
}
@@ -909,7 +914,8 @@ export function Spinner(options?: SpinnerOptions | undefined): Spinner {
909914
* @returns This spinner for chaining
910915
*/
911916
log(...args: unknown[]) {
912-
const { logger } = /*@__PURE__*/ require('./logger.js')
917+
const { getDefaultLogger } = /*@__PURE__*/ require('./logger.js')
918+
const logger = getDefaultLogger()
913919
logger.log(...args)
914920
return this
915921
}
@@ -1037,8 +1043,9 @@ export function Spinner(options?: SpinnerOptions | undefined): Spinner {
10371043
* ```
10381044
*/
10391045
step(text?: string | undefined, ...extras: unknown[]) {
1040-
const { logger } = /*@__PURE__*/ require('./logger.js')
1046+
const { getDefaultLogger } = /*@__PURE__*/ require('./logger.js')
10411047
if (typeof text === 'string') {
1048+
const logger = getDefaultLogger()
10421049
// Add blank line before step for visual separation.
10431050
logger.error('')
10441051
// Use error (stderr) to align with logger.step() default stream.
@@ -1066,7 +1073,8 @@ export function Spinner(options?: SpinnerOptions | undefined): Spinner {
10661073
substep(text?: string | undefined, ...extras: unknown[]) {
10671074
if (typeof text === 'string') {
10681075
// Add 2-space indent for substep.
1069-
const { logger } = /*@__PURE__*/ require('./logger.js')
1076+
const { getDefaultLogger } = /*@__PURE__*/ require('./logger.js')
1077+
const logger = getDefaultLogger()
10701078
// Use error (stderr) to align with logger.substep() default stream.
10711079
logger.error(` ${text}`, ...extras)
10721080
}

test/packages/registry.test.ts

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)