socketsecurity 2.2.57__tar.gz → 2.2.59__tar.gz

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.
Files changed (88) hide show
  1. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/PKG-INFO +1 -1
  2. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/pyproject.toml +1 -1
  3. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/__init__.py +1 -1
  4. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/__init__.py +16 -11
  5. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/CODEOWNERS +0 -0
  6. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/PULL_REQUEST_TEMPLATE/bug-fix.md +0 -0
  7. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -0
  8. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/PULL_REQUEST_TEMPLATE/improvement.md +0 -0
  9. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  10. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/workflows/docker-stable.yml +0 -0
  11. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/workflows/pr-preview.yml +0 -0
  12. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/workflows/release.yml +0 -0
  13. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.github/workflows/version-check.yml +0 -0
  14. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.gitignore +0 -0
  15. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.hooks/sync_version.py +0 -0
  16. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.pre-commit-config.yaml +0 -0
  17. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/.python-version +0 -0
  18. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/CHANGELOG.md +0 -0
  19. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/Dockerfile +0 -0
  20. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/LICENSE +0 -0
  21. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/Makefile +0 -0
  22. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/README.md +0 -0
  23. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/docs/README.md +0 -0
  24. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/pytest.ini +0 -0
  25. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/scripts/build_container.sh +0 -0
  26. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/scripts/build_container_flexible.sh +0 -0
  27. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/scripts/deploy-test-docker.sh +0 -0
  28. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/scripts/deploy-test-pypi.sh +0 -0
  29. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/scripts/docker-entrypoint.sh +0 -0
  30. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/scripts/run.sh +0 -0
  31. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/config.py +0 -0
  32. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/classes.py +0 -0
  33. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/cli_client.py +0 -0
  34. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/exceptions.py +0 -0
  35. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/git_interface.py +0 -0
  36. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/helper/__init__.py +0 -0
  37. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/lazy_file_loader.py +0 -0
  38. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/logging.py +0 -0
  39. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/messages.py +0 -0
  40. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/resource_utils.py +0 -0
  41. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/scm/__init__.py +0 -0
  42. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/scm/base.py +0 -0
  43. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/scm/client.py +0 -0
  44. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/scm/github.py +0 -0
  45. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/scm/gitlab.py +0 -0
  46. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/scm_comments.py +0 -0
  47. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/socket_config.py +0 -0
  48. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/tools/reachability.py +0 -0
  49. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/core/utils.py +0 -0
  50. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/output.py +0 -0
  51. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/plugins/__init__.py +0 -0
  52. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/plugins/base.py +0 -0
  53. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/plugins/jira.py +0 -0
  54. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/plugins/manager.py +0 -0
  55. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/plugins/slack.py +0 -0
  56. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/plugins/teams.py +0 -0
  57. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/plugins/webhook.py +0 -0
  58. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/socketsecurity/socketcli.py +0 -0
  59. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/__init__.py +0 -0
  60. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/core/conftest.py +0 -0
  61. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/core/create_diff_input.json +0 -0
  62. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/core/test_diff_generation.py +0 -0
  63. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/core/test_package_and_alerts.py +0 -0
  64. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/core/test_sdk_methods.py +0 -0
  65. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/core/test_supporting_methods.py +0 -0
  66. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/fullscans/create_response.json +0 -0
  67. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/fullscans/diff/stream_diff.json +0 -0
  68. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/fullscans/diff/stream_diff_full.json +0 -0
  69. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/fullscans/head_scan/metadata.json +0 -0
  70. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/fullscans/head_scan/stream_scan.json +0 -0
  71. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/fullscans/head_scan/stream_scan_full.json +0 -0
  72. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/fullscans/new_scan/metadata.json +0 -0
  73. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/fullscans/new_scan/stream_scan.json +0 -0
  74. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/repos/repo_info_error.json +0 -0
  75. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/repos/repo_info_no_head.json +0 -0
  76. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/repos/repo_info_success.json +0 -0
  77. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/data/settings/security-policy.json +0 -0
  78. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/unit/__init__.py +0 -0
  79. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/unit/test_cli_config.py +0 -0
  80. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/unit/test_client.py +0 -0
  81. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/unit/test_config.py +0 -0
  82. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/unit/test_gitlab_auth.py +0 -0
  83. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/unit/test_gitlab_auth_fallback.py +0 -0
  84. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/tests/unit/test_output.py +0 -0
  85. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/uv.lock +0 -0
  86. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/workflows/bitbucket-pipelines.yml +0 -0
  87. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/workflows/github-actions.yml +0 -0
  88. {socketsecurity-2.2.57 → socketsecurity-2.2.59}/workflows/gitlab-ci.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: socketsecurity
3
- Version: 2.2.57
3
+ Version: 2.2.59
4
4
  Summary: Socket Security CLI for CI/CD
5
5
  Project-URL: Homepage, https://socket.dev
6
6
  Author-email: Douglas Coburn <douglas@socket.dev>
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "socketsecurity"
9
- version = "2.2.57"
9
+ version = "2.2.59"
10
10
  requires-python = ">= 3.10"
11
11
  license = {"file" = "LICENSE"}
12
12
  dependencies = [
@@ -1,3 +1,3 @@
1
1
  __author__ = 'socket.dev'
2
- __version__ = '2.2.57'
2
+ __version__ = '2.2.59'
3
3
  USER_AGENT = f'SocketPythonCLI/{__version__}'
@@ -4,13 +4,10 @@ import sys
4
4
  import tarfile
5
5
  import tempfile
6
6
  import time
7
- import io
8
7
  import json
9
8
  from dataclasses import asdict
10
- from glob import glob
11
- from io import BytesIO
12
- from pathlib import PurePath
13
- from typing import BinaryIO, Dict, List, Tuple, Set, Union, TYPE_CHECKING, Optional
9
+ from pathlib import Path, PurePath
10
+ from typing import Dict, List, Tuple, Set, TYPE_CHECKING, Optional
14
11
 
15
12
  if TYPE_CHECKING:
16
13
  from socketsecurity.config import CliConfig
@@ -315,15 +312,18 @@ class Core:
315
312
 
316
313
  for pattern in expanded_patterns:
317
314
  case_insensitive_pattern = Core.to_case_insensitive_regex(pattern)
318
- file_path = os.path.join(path, "**", case_insensitive_pattern)
319
-
320
- log.debug(f"Globbing {file_path}")
315
+
316
+ log.debug(f"Searching for pattern: {case_insensitive_pattern}")
321
317
  glob_start = time.time()
322
- glob_files = glob(file_path, recursive=True)
318
+
319
+ # Use pathlib.Path.rglob() instead of glob.glob() to properly match dotfiles/dotdirs
320
+ base_path = Path(path)
321
+ glob_files = base_path.rglob(case_insensitive_pattern)
323
322
 
324
323
  for glob_file in glob_files:
325
- if os.path.isfile(glob_file) and not Core.is_excluded(glob_file, self.config.excluded_dirs):
326
- files.add(glob_file.replace("\\", "/"))
324
+ glob_file_str = str(glob_file)
325
+ if os.path.isfile(glob_file_str) and not Core.is_excluded(glob_file_str, self.config.excluded_dirs):
326
+ files.add(glob_file_str.replace("\\", "/"))
327
327
 
328
328
  glob_end = time.time()
329
329
  log.debug(f"Globbing took {glob_end - glob_start:.4f} seconds")
@@ -414,6 +414,11 @@ class Core:
414
414
  # Expand brace patterns for each manifest pattern
415
415
  expanded_patterns = Core.expand_brace_pattern(pattern_str)
416
416
  for exp_pat in expanded_patterns:
417
+ # If pattern doesn't contain '/', prepend '**/' to match files in any subdirectory
418
+ # This ensures patterns like '*requirements.txt' match '.test/requirements.txt'
419
+ if '/' not in exp_pat:
420
+ exp_pat = f"**/{exp_pat}"
421
+
417
422
  for file in norm_files:
418
423
  # Use PurePath.match for glob-like matching
419
424
  if PurePath(file).match(exp_pat):
File without changes
File without changes