Skip to content

Commit 2cb2339

Browse files
committed
docs(changelog): tighten 3.2.2 → 4.0.1
1 parent b1885b4 commit 2cb2339

1 file changed

Lines changed: 31 additions & 122 deletions

File tree

CHANGELOG.md

Lines changed: 31 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -574,239 +574,148 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
574574

575575
### Changed
576576

577-
- Removed # path imports and replaced with relative paths
577+
- Replaced `#`-path imports with relative paths
578578

579579
## [4.0.0](https://github.com/SocketDev/socket-lib/releases/tag/v4.0.0) - 2025-11-15
580580

581581
### Changed
582582

583-
- **paths**: Reorganized path utilities into dedicated `paths/*` submodules for improved modularity
584-
- **imports**: Converted lazy require() calls to ES6 static imports for better tree-shaking and bundler compatibility
583+
- **BREAKING**: `paths` reorganized into dedicated `paths/*` submodules
584+
- Lazy `require()` calls converted to ES6 static imports for better tree-shaking
585585

586586
## [3.5.0](https://github.com/SocketDev/socket-lib/releases/tag/v3.5.0) - 2025-11-14
587587

588588
### Added
589589

590-
- **argv/quote**: New utilities for quoting command-line arguments when using `spawn()` with `shell: true`
591-
- `posixQuote(arg)`: Quote arguments for POSIX shells (bash, sh, zsh) using single quotes
592-
- `win32Quote(arg)`: Quote arguments for Windows cmd.exe using double quotes
590+
- `argv/quote``posixQuote(arg)` (single-quote for bash/sh/zsh) and `win32Quote(arg)` (double-quote for cmd.exe). Use when invoking `spawn()` with `shell: true`
593591

594592
## [3.4.0](https://github.com/SocketDev/socket-lib/releases/tag/v3.4.0) - 2025-11-14
595593

596594
### Added
597595

598-
- **Spinner**: New `skip()` and `skipAndStop()` methods for displaying skipped operations
599-
- `skip(text)`: Display skip message alongside spinner (e.g., "Skipping optional step...")
600-
- `skipAndStop(text)`: Display skip message and stop spinner in one call
601-
- Uses cyan ↻ (refresh/reload) symbol with @ ASCII fallback
602-
- Normalizes text formatting consistently with other spinner methods
603-
- Useful for communicating skipped steps during long-running operations
604-
605-
- **Logger**: New `skip()` method and symbol for skipped operations
606-
- `LOG_SYMBOLS.skip`: New cyan ↻ symbol for skip output (@ ASCII fallback)
607-
- `skip(message)`: Display skip messages with dedicated symbol
608-
- Complements existing info/step/success/error/warning/reason methods
596+
- `Spinner` `skip(text)` / `skipAndStop(text)` — display skip messages with cyan ↻ symbol
597+
- `Logger` `skip(message)` and `LOG_SYMBOLS.skip`
609598

610599
## [3.3.11](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.11) - 2025-11-14
611600

612601
### Fixed
613602

614-
- **prompts**: Fix "inquirerPrompt is not a function" error in interactive prompts
615-
- Properly handle inquirer modules with multiple exports (select, search)
603+
- `prompts` — "inquirerPrompt is not a function" when inquirer modules expose multiple exports (select, search)
616604

617605
## [3.3.10](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.10) - 2025-11-14
618606

619607
### Fixed
620608

621-
- **deps**: Add string-width and wrap-ansi overrides for bundling compatibility
622-
- Forces string-width@8.1.0 and wrap-ansi@9.0.2 for compatibility with strip-ansi@7.1.2
609+
- `string-width@8.1.0` and `wrap-ansi@9.0.2` overrides for `strip-ansi@7.1.2` compatibility
623610

624611
## [3.3.9](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.9) - 2025-11-14
625612

626613
### Fixed
627614

628-
- **deps**: Add strip-ansi override to fix bundling compatibility
629-
- Forces strip-ansi@7.1.2 for compatibility with ansi-regex@6.2.2
615+
- `strip-ansi@7.1.2` override for `ansi-regex@6.2.2` compatibility
630616

631617
## [3.3.8](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.8) - 2025-11-14
632618

633619
### Fixed
634620

635-
- **spinner**: Clear remaining artifacts after withSpinner stops
636-
- Fixed rogue spinner characters persisting after spinner completes
621+
- `spinner` — clear remaining artifacts after `withSpinner` stops (rogue spinner characters)
637622

638623
## [3.3.7](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.7) - 2025-11-13
639624

640625
### Changed
641626

642-
- **refactor**: Add explicit `.js` extensions to external require calls
643-
- Improves module resolution clarity and compatibility with modern bundlers
644-
- Updated 18 require calls across 10 source files
627+
- Explicit `.js` extensions on external `require()` calls for modern bundler compat
645628

646629
## [3.3.6](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.6) - 2025-11-13
647630

648631
### Changed
649632

650-
- **deps**: Add pnpm overrides to consolidate package versions
651-
- Force single versions: `@npmcli/arborist@9.1.6`, `@npmcli/run-script@10.0.0`, `semver@7.7.2`, `ansi-regex@6.2.2`, `lru-cache@11.2.2`
652-
- Update patch from `@npmcli/run-script@9.1.0` to `@npmcli/run-script@10.0.0`
653-
- Reduces duplicate dependencies and potential version conflicts
633+
- pnpm overrides consolidate `@npmcli/arborist@9.1.6`, `@npmcli/run-script@10.0.0`, `semver@7.7.2`, `ansi-regex@6.2.2`, `lru-cache@11.2.2` to single versions
654634

655635
## [3.3.5](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.5) - 2025-11-13
656636

657637
### Fixed
658638

659-
- **build**: Add patches to prevent node-gyp bundling issues
639+
- Patches to prevent `node-gyp` bundling issues
660640

661641
## [3.3.4](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.4) - 2025-11-13
662642

663643
### Fixed
664644

665-
- **build**: Mark node-gyp as external in npm-pack bundle
645+
- `node-gyp` marked external in `npm-pack` bundle
666646

667647
## [3.3.3](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.3) - 2025-11-13
668648

669649
### Fixed
670650

671-
- **build**: Break node-gyp string to prevent bundler issues with ESM/CJS interop
651+
- `node-gyp` string broken to prevent bundler ESM/CJS interop issues
672652

673653
## [3.3.2](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.2) - 2025-11-13
674654

675655
### Changed
676656

677-
- **dlx**: Install package dependencies after download
678-
- **external**: Optimize npm package bundle sizes (~3MB reduction)
657+
- `dlx` installs package dependencies after download
658+
- npm package bundle sizes reduced ~3 MB
679659

680660
## [3.3.1](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.1) - 2025-11-11
681661

682662
### Added
683663

684-
- Added `SOCKET_DOCS_CONTACT_URL` constant for documentation contact support page
685-
- Added `checkbox` prompt support
664+
- `SOCKET_DOCS_CONTACT_URL` constant
665+
- `checkbox` prompt support
686666

687667
## [3.3.0](https://github.com/SocketDev/socket-lib/releases/tag/v3.3.0) - 2025-11-07
688668

689669
### Added
690670

691-
- **Spinner**: New `reason()` and `reasonAndStop()` methods for displaying working/thinking output
692-
- `reason(text)`: Display reason text alongside spinner (e.g., "Analyzing dependencies...")
693-
- `reasonAndStop(text)`: Display reason text and stop spinner in one call
694-
- Normalizes text formatting consistently with other spinner methods
695-
- Useful for communicating progress steps during long-running operations
696-
697-
- **Logger**: New `reason()` method and symbol for working/thinking output
698-
- `LOG_SYMBOLS.reason`: New symbol for reason output (distinct from info/step symbols)
699-
- `reason(message)`: Display reason messages with dedicated symbol
700-
- Complements existing info/step/success/error/warning methods
671+
- `Spinner` `reason(text)` / `reasonAndStop(text)` — display working/thinking output
672+
- `Logger` `reason(message)` and `LOG_SYMBOLS.reason`
701673

702674
## [3.2.8](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.8) - 2025-11-05
703675

704676
### Fixed
705677

706-
- **build**: Fix CommonJS export script edge cases
707-
- Fixed stray semicolons after comment placeholders in transformed modules
708-
- Fixed incorrect transformation of `module.exports.default` to `module.module.exports`
709-
- Ensures external dependencies and default exports work correctly
678+
- CommonJS export script edge cases (stray semicolons after comment placeholders; incorrect `module.exports.default``module.module.exports`)
710679

711680
## [3.2.7](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.7) - 2025-11-05
712681

713682
### Fixed
714683

715-
- **build-externals**: Disable minification to preserve exports
716-
- External dependencies are no longer minified during bundling
717-
- Prevents export name mangling that breaks CommonJS interop
718-
- Fixes `semver.parse()` and `semver.major()` being undefined
719-
720-
- **build**: Fix CommonJS export interop for TypeScript default exports
721-
- Modules with `export default` now work without requiring `.default` accessor
722-
723-
### Changed
724-
725-
- **docs**: Moved packages README to correct location (`src/packages/README.md`)
684+
- External dependency minification disabled to preserve exports (was breaking `semver.parse()`, `semver.major()`)
685+
- CommonJS export interop for TypeScript `export default` no longer needs `.default` accessor
726686

727687
## [3.2.6](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.6) - 2025-11-05
728688

729689
### Fixed
730690

731-
- **logger**: Replace yoctocolors-cjs rgb() with manual ANSI codes
732-
- The yoctocolors-cjs package doesn't have an rgb() method
733-
- Manually construct ANSI escape sequences for RGB colors (ESC[38;2;r;g;bm...ESC[39m)
734-
- Affects `src/logger.ts` and `src/stdio/prompts.ts` applyColor() functions
691+
- `logger` and `stdio/prompts` — manual ANSI escape sequences for RGB colors (yoctocolors-cjs has no `rgb()` method)
735692

736693
## [3.2.5](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.5) - 2025-11-05
737694

738695
### Added
739696

740-
- **scripts**: Add path alias resolution script (`fix-path-aliases.mjs`)
741-
- Resolves internal path aliases (`#lib/*`, `#constants/*`, etc.) to relative paths in built CommonJS files
742-
743-
- **build**: Integrate path alias resolution into build pipeline
744-
- Add path alias plugin to esbuild config
745-
- Integrate `fix-path-aliases.mjs` into build process
746-
- Ensures path aliases work correctly in compiled CommonJS output
697+
- Path alias resolution in build pipeline — `#lib/*` / `#constants/*` aliases resolve to relative paths in compiled CommonJS
747698

748699
## [3.2.4](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.4) - 2025-11-04
749700

750701
### Added
751702

752-
- **Logger**: New `time()` method for timing operations with automatic duration reporting
753-
- Starts a named timer and returns a `stop()` function
754-
- Automatically logs completion with formatted duration (e.g., "Operation completed in 1.23s")
755-
- Useful for performance monitoring and debugging
703+
- `Logger` `time()` — start a named timer; returns `stop()` that logs completion with formatted duration
756704

757705
### Fixed
758706

759-
- **Spinner effects**: Fixed star spinner frames by adding trailing space for consistent spacing
760-
- **Build system**: Fixed external dependency bundling issues
761-
- Bundle `@npmcli/package-json` with subpath exports support
762-
- Use `src/external` files as bundle entry points for proper module resolution
763-
- Bundle libnpmexec from npm instead of using vendored version
764-
- Prevent circular dependencies with `createForceNodeModulesPlugin()` to force resolution from node_modules
765-
766-
## [3.2.3](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.3) - 2025-11-03
767-
768-
### Internal
769-
770-
- **Build system**: Added stub infrastructure for external dependency bundling
771-
- Created organized `scripts/build-externals/stubs/` directory with utility and active stubs
772-
- Added conservative stubs for unused dependencies: `encoding`/`iconv-lite` and `debug`
773-
- Reduces external bundle size by ~18KB (9KB from encoding stubs, 9KB from debug stubs)
707+
- Star spinner frames — added trailing space for consistent spacing
774708

775709
## [3.2.2](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.2) - 2025-11-03
776710

777711
### Added
778712

779-
- **DLX**: Binary permission management with chmod 0o755 for all package binaries
780-
- New `makePackageBinsExecutable()` function ensures all binaries in installed packages are executable
781-
- Aligns with npm's cmd-shim approach for binary permissions
782-
- Handles both single and multiple binary packages
783-
- No-op on Windows (permissions not needed)
784-
785-
- **DLX**: npm-compatible bin resolution via vendored `getBinFromManifest`
786-
- Cherry-picked `getBinFromManifest` from libnpmexec@10.1.8 (~1.5 KB)
787-
- Avoids 1.1 MB bundle by vendoring single function instead of full package
788-
- Provides battle-tested npm bin resolution strategy
789-
- Maintains user-friendly fallbacks for edge cases
790-
791-
### Changed
792-
793-
- **DLX**: Enhanced `findBinaryPath()` with npm's resolution strategy
794-
- Primary: npm's `getBinFromManifest` (handles standard cases and aliases)
795-
- Fallback: user-provided `binaryName` parameter
796-
- Fallback: last segment of package name
797-
- Last resort: first binary in list
713+
- `dlx` `makePackageBinsExecutable()` — chmod 0o755 on all package binaries (no-op on Windows)
714+
- `dlx` `findBinaryPath()` adopts npm's resolution strategy (vendored `getBinFromManifest` from libnpmexec)
798715

799716
### Performance
800717

801-
- **Optimized package size**: Reduced bundle size through strategic export minimization and vendoring
802-
- Vendored `getBinFromManifest` function instead of bundling full libnpmexec (~1.1 MB savings)
803-
- Minimized external module exports for better tree-shaking:
804-
- `fast-sort`: Now exports only `{ createNewSortInstance }` (2.1 KB, 96% reduction from ~56 KB)
805-
- `fast-glob`: Now exports only `{ globStream }` (82 KB bundle)
806-
- `del`: Now exports only `{ deleteAsync, deleteSync }` (100 KB bundle)
807-
- `streaming-iterables`: Now exports only `{ parallelMap, transform }` (11 KB, 93% reduction from ~168 KB)
808-
- Total savings: ~1.3 MB (1.1 MB from vendoring + 211 KB from minimized exports)
809-
- Establishes pattern for future external module additions
718+
- Bundle size reduced ~1.3 MB total — vendored `getBinFromManifest` (1.1 MB savings) + minimized exports for `fast-sort`, `fast-glob`, `del`, `streaming-iterables`
810719

811720
## [3.2.1](https://github.com/SocketDev/socket-lib/releases/tag/v3.2.1) - 2025-11-02
812721

0 commit comments

Comments
 (0)