dependabot-bun 0.296.2 → 0.296.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/.eslintrc +11 -0
  3. data/helpers/README.md +29 -0
  4. data/helpers/build +26 -0
  5. data/helpers/jest.config.js +5 -0
  6. data/helpers/lib/npm/conflicting-dependency-parser.js +78 -0
  7. data/helpers/lib/npm/index.js +9 -0
  8. data/helpers/lib/npm/vulnerability-auditor.js +291 -0
  9. data/helpers/lib/npm6/helpers.js +25 -0
  10. data/helpers/lib/npm6/index.js +9 -0
  11. data/helpers/lib/npm6/peer-dependency-checker.js +111 -0
  12. data/helpers/lib/npm6/remove-dependencies-from-lockfile.js +22 -0
  13. data/helpers/lib/npm6/subdependency-updater.js +78 -0
  14. data/helpers/lib/npm6/updater.js +199 -0
  15. data/helpers/lib/pnpm/index.js +5 -0
  16. data/helpers/lib/pnpm/lockfile-parser.js +82 -0
  17. data/helpers/lib/yarn/conflicting-dependency-parser.js +176 -0
  18. data/helpers/lib/yarn/fix-duplicates.js +80 -0
  19. data/helpers/lib/yarn/helpers.js +54 -0
  20. data/helpers/lib/yarn/index.js +14 -0
  21. data/helpers/lib/yarn/lockfile-parser.js +21 -0
  22. data/helpers/lib/yarn/peer-dependency-checker.js +132 -0
  23. data/helpers/lib/yarn/replace-lockfile-declaration.js +57 -0
  24. data/helpers/lib/yarn/subdependency-updater.js +83 -0
  25. data/helpers/lib/yarn/updater.js +209 -0
  26. data/helpers/package-lock.json +28519 -0
  27. data/helpers/package.json +29 -0
  28. data/helpers/patches/npm++pacote+9.5.12.patch +14 -0
  29. data/helpers/run.js +30 -0
  30. data/helpers/test/npm6/conflicting-dependency-parser.test.js +66 -0
  31. data/helpers/test/npm6/fixtures/conflicting-dependency-parser/deeply-nested/package-lock.json +591 -0
  32. data/helpers/test/npm6/fixtures/conflicting-dependency-parser/deeply-nested/package.json +14 -0
  33. data/helpers/test/npm6/fixtures/conflicting-dependency-parser/nested/package-lock.json +188 -0
  34. data/helpers/test/npm6/fixtures/conflicting-dependency-parser/nested/package.json +14 -0
  35. data/helpers/test/npm6/fixtures/conflicting-dependency-parser/simple/package-lock.json +27 -0
  36. data/helpers/test/npm6/fixtures/conflicting-dependency-parser/simple/package.json +14 -0
  37. data/helpers/test/npm6/fixtures/updater/original/package-lock.json +16 -0
  38. data/helpers/test/npm6/fixtures/updater/original/package.json +9 -0
  39. data/helpers/test/npm6/fixtures/updater/updated/package-lock.json +16 -0
  40. data/helpers/test/npm6/helpers.js +21 -0
  41. data/helpers/test/npm6/updater.test.js +30 -0
  42. data/helpers/test/pnpm/fixtures/parser/empty_version/pnpm-lock.yaml +72 -0
  43. data/helpers/test/pnpm/fixtures/parser/no_lockfile_change/pnpm-lock.yaml +2744 -0
  44. data/helpers/test/pnpm/fixtures/parser/only_dev_dependencies/pnpm-lock.yaml +16 -0
  45. data/helpers/test/pnpm/fixtures/parser/peer_disambiguation/pnpm-lock.yaml +855 -0
  46. data/helpers/test/pnpm/lockfile-parser.test.js +62 -0
  47. data/helpers/test/yarn/conflicting-dependency-parser.test.js +83 -0
  48. data/helpers/test/yarn/fixtures/conflicting-dependency-parser/deeply-nested/package.json +14 -0
  49. data/helpers/test/yarn/fixtures/conflicting-dependency-parser/deeply-nested/yarn.lock +496 -0
  50. data/helpers/test/yarn/fixtures/conflicting-dependency-parser/dev-dependencies/package.json +14 -0
  51. data/helpers/test/yarn/fixtures/conflicting-dependency-parser/dev-dependencies/yarn.lock +21 -0
  52. data/helpers/test/yarn/fixtures/conflicting-dependency-parser/nested/package.json +14 -0
  53. data/helpers/test/yarn/fixtures/conflicting-dependency-parser/nested/yarn.lock +183 -0
  54. data/helpers/test/yarn/fixtures/conflicting-dependency-parser/simple/package.json +14 -0
  55. data/helpers/test/yarn/fixtures/conflicting-dependency-parser/simple/yarn.lock +21 -0
  56. data/helpers/test/yarn/fixtures/updater/illegal_character/package.json +8 -0
  57. data/helpers/test/yarn/fixtures/updater/illegal_character/yarn.lock +14 -0
  58. data/helpers/test/yarn/fixtures/updater/original/package.json +6 -0
  59. data/helpers/test/yarn/fixtures/updater/original/yarn.lock +11 -0
  60. data/helpers/test/yarn/fixtures/updater/updated/yarn.lock +12 -0
  61. data/helpers/test/yarn/fixtures/updater/with-version-comments/package.json +5 -0
  62. data/helpers/test/yarn/fixtures/updater/with-version-comments/yarn.lock +13 -0
  63. data/helpers/test/yarn/helpers.js +18 -0
  64. data/helpers/test/yarn/updater.test.js +117 -0
  65. data/lib/dependabot/bun/bun_package_manager.rb +47 -0
  66. data/lib/dependabot/bun/constraint_helper.rb +359 -0
  67. data/lib/dependabot/bun/dependency_files_filterer.rb +157 -0
  68. data/lib/dependabot/bun/file_fetcher/path_dependency_builder.rb +184 -0
  69. data/lib/dependabot/bun/file_fetcher.rb +402 -0
  70. data/lib/dependabot/bun/file_parser/bun_lock.rb +140 -0
  71. data/lib/dependabot/bun/file_parser/lockfile_parser.rb +105 -0
  72. data/lib/dependabot/bun/file_parser.rb +477 -0
  73. data/lib/dependabot/bun/file_updater/bun_lockfile_updater.rb +144 -0
  74. data/lib/dependabot/bun/file_updater/npmrc_builder.rb +256 -0
  75. data/lib/dependabot/bun/file_updater/package_json_preparer.rb +88 -0
  76. data/lib/dependabot/bun/file_updater/package_json_updater.rb +378 -0
  77. data/lib/dependabot/bun/file_updater.rb +203 -0
  78. data/lib/dependabot/bun/helpers.rb +93 -0
  79. data/lib/dependabot/bun/language.rb +45 -0
  80. data/lib/dependabot/bun/metadata_finder.rb +214 -0
  81. data/lib/dependabot/bun/native_helpers.rb +19 -0
  82. data/lib/dependabot/bun/package_manager.rb +280 -0
  83. data/lib/dependabot/bun/package_name.rb +118 -0
  84. data/lib/dependabot/bun/pnpm_package_manager.rb +55 -0
  85. data/lib/dependabot/bun/registry_helper.rb +188 -0
  86. data/lib/dependabot/bun/registry_parser.rb +93 -0
  87. data/lib/dependabot/bun/requirement.rb +146 -0
  88. data/lib/dependabot/bun/sub_dependency_files_filterer.rb +82 -0
  89. data/lib/dependabot/bun/update_checker/conflicting_dependency_resolver.rb +59 -0
  90. data/lib/dependabot/bun/update_checker/dependency_files_builder.rb +79 -0
  91. data/lib/dependabot/bun/update_checker/latest_version_finder.rb +448 -0
  92. data/lib/dependabot/bun/update_checker/library_detector.rb +76 -0
  93. data/lib/dependabot/bun/update_checker/registry_finder.rb +279 -0
  94. data/lib/dependabot/bun/update_checker/requirements_updater.rb +206 -0
  95. data/lib/dependabot/bun/update_checker/subdependency_version_resolver.rb +154 -0
  96. data/lib/dependabot/bun/update_checker/version_resolver.rb +583 -0
  97. data/lib/dependabot/bun/update_checker/vulnerability_auditor.rb +164 -0
  98. data/lib/dependabot/bun/update_checker.rb +455 -0
  99. data/lib/dependabot/bun/version.rb +138 -0
  100. data/lib/dependabot/bun/version_selector.rb +61 -0
  101. data/lib/dependabot/bun.rb +337 -35
  102. metadata +108 -65
  103. data/lib/dependabot/javascript/bun/file_fetcher.rb +0 -77
  104. data/lib/dependabot/javascript/bun/file_parser/bun_lock.rb +0 -156
  105. data/lib/dependabot/javascript/bun/file_parser/lockfile_parser.rb +0 -55
  106. data/lib/dependabot/javascript/bun/file_parser.rb +0 -74
  107. data/lib/dependabot/javascript/bun/file_updater/lockfile_updater.rb +0 -138
  108. data/lib/dependabot/javascript/bun/file_updater.rb +0 -75
  109. data/lib/dependabot/javascript/bun/helpers.rb +0 -72
  110. data/lib/dependabot/javascript/bun/package_manager.rb +0 -48
  111. data/lib/dependabot/javascript/bun/requirement.rb +0 -11
  112. data/lib/dependabot/javascript/bun/update_checker/conflicting_dependency_resolver.rb +0 -64
  113. data/lib/dependabot/javascript/bun/update_checker/dependency_files_builder.rb +0 -47
  114. data/lib/dependabot/javascript/bun/update_checker/latest_version_finder.rb +0 -450
  115. data/lib/dependabot/javascript/bun/update_checker/library_detector.rb +0 -76
  116. data/lib/dependabot/javascript/bun/update_checker/requirements_updater.rb +0 -203
  117. data/lib/dependabot/javascript/bun/update_checker/subdependency_version_resolver.rb +0 -144
  118. data/lib/dependabot/javascript/bun/update_checker/version_resolver.rb +0 -525
  119. data/lib/dependabot/javascript/bun/update_checker/vulnerability_auditor.rb +0 -165
  120. data/lib/dependabot/javascript/bun/update_checker.rb +0 -440
  121. data/lib/dependabot/javascript/bun/version.rb +0 -11
  122. data/lib/dependabot/javascript/shared/constraint_helper.rb +0 -359
  123. data/lib/dependabot/javascript/shared/dependency_files_filterer.rb +0 -164
  124. data/lib/dependabot/javascript/shared/file_fetcher.rb +0 -283
  125. data/lib/dependabot/javascript/shared/file_parser/lockfile_parser.rb +0 -106
  126. data/lib/dependabot/javascript/shared/file_parser.rb +0 -454
  127. data/lib/dependabot/javascript/shared/file_updater/npmrc_builder.rb +0 -394
  128. data/lib/dependabot/javascript/shared/file_updater/package_json_preparer.rb +0 -87
  129. data/lib/dependabot/javascript/shared/file_updater/package_json_updater.rb +0 -376
  130. data/lib/dependabot/javascript/shared/file_updater.rb +0 -179
  131. data/lib/dependabot/javascript/shared/language.rb +0 -45
  132. data/lib/dependabot/javascript/shared/metadata_finder.rb +0 -209
  133. data/lib/dependabot/javascript/shared/native_helpers.rb +0 -21
  134. data/lib/dependabot/javascript/shared/package_manager_detector.rb +0 -72
  135. data/lib/dependabot/javascript/shared/package_name.rb +0 -118
  136. data/lib/dependabot/javascript/shared/registry_helper.rb +0 -190
  137. data/lib/dependabot/javascript/shared/registry_parser.rb +0 -93
  138. data/lib/dependabot/javascript/shared/requirement.rb +0 -144
  139. data/lib/dependabot/javascript/shared/sub_dependency_files_filterer.rb +0 -79
  140. data/lib/dependabot/javascript/shared/update_checker/dependency_files_builder.rb +0 -87
  141. data/lib/dependabot/javascript/shared/update_checker/registry_finder.rb +0 -358
  142. data/lib/dependabot/javascript/shared/version.rb +0 -133
  143. data/lib/dependabot/javascript/shared/version_selector.rb +0 -60
  144. data/lib/dependabot/javascript.rb +0 -39
@@ -0,0 +1,21 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ abind@^1.0.0:
6
+ version "1.0.5"
7
+ resolved "https://registry.npmjs.org/abind/-/abind-1.0.5.tgz#9fa11e51ebf0fe8a60a316b28a2a85a0bc08495e"
8
+ integrity sha512-dbaEZphdPje0ihqSdWg36Sb8S20TuqQomiz2593oIx+enQ9Q4vDZRjIzhnkWltGRKVKqC28kTribkgRLBexWVQ==
9
+
10
+ extend@^3.0.0:
11
+ version "3.0.2"
12
+ resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
13
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
14
+
15
+ objnest@^4.1.2:
16
+ version "4.1.4"
17
+ resolved "https://registry.npmjs.org/objnest/-/objnest-4.1.4.tgz#4a03b9a366a6d738165ae4938e1cdec6bb02b89f"
18
+ integrity sha512-8IpltsOlYtRHpiisBVx6xYkHTScU0EGHSk1tTopjUbm4RfSmMbDVkaclIs6K+Z8hFod9CxDmshDEdTs9CiUfbg==
19
+ dependencies:
20
+ abind "^1.0.0"
21
+ extend "^3.0.0"
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "test",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "askconfig": "^4.0.4"
13
+ }
14
+ }
@@ -0,0 +1,183 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ abind@^1.0.4:
6
+ version "1.0.5"
7
+ resolved "https://registry.npmjs.org/abind/-/abind-1.0.5.tgz#9fa11e51ebf0fe8a60a316b28a2a85a0bc08495e"
8
+ integrity sha512-dbaEZphdPje0ihqSdWg36Sb8S20TuqQomiz2593oIx+enQ9Q4vDZRjIzhnkWltGRKVKqC28kTribkgRLBexWVQ==
9
+
10
+ ansi-regex@^2.1.1:
11
+ version "2.1.1"
12
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
13
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
14
+
15
+ argx@^4.0.2:
16
+ version "4.0.4"
17
+ resolved "https://registry.npmjs.org/argx/-/argx-4.0.4.tgz#eac913df14181328a2d33fe4897a56e70dbbcdb8"
18
+ integrity sha512-XLWeRTNBJRzQkbMweLIxdtnvpE7iYUBraPwrIJX57FjL4D1RHLMJRM1AyEP6KZHgvjW7TSnxF8MpGic7YdTGOA==
19
+ dependencies:
20
+ iftype "^4.0.9"
21
+
22
+ askconfig@^4.0.4:
23
+ version "4.0.4"
24
+ resolved "https://registry.npmjs.org/askconfig/-/askconfig-4.0.4.tgz#d541f755848e83417c423efd139599eaff9ed762"
25
+ integrity sha512-fjB/vmAlUKxGVqcz4mLub3xF8m9rkazhqcXRvrDzeey0iaLhcAg2K8bhJL7pKjE2dFP9qDGv3+yXovYMV9XBJQ==
26
+ dependencies:
27
+ argx "^4.0.2"
28
+ cli-color "^1.4.0"
29
+ objnest "^5.0.6"
30
+
31
+ cli-color@^1.4.0:
32
+ version "1.4.0"
33
+ resolved "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f"
34
+ integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==
35
+ dependencies:
36
+ ansi-regex "^2.1.1"
37
+ d "1"
38
+ es5-ext "^0.10.46"
39
+ es6-iterator "^2.0.3"
40
+ memoizee "^0.4.14"
41
+ timers-ext "^0.1.5"
42
+
43
+ d@1, d@^1.0.1:
44
+ version "1.0.1"
45
+ resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
46
+ integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
47
+ dependencies:
48
+ es5-ext "^0.10.50"
49
+ type "^1.0.1"
50
+
51
+ es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.62, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
52
+ version "0.10.63"
53
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.63.tgz#9c222a63b6a332ac80b1e373b426af723b895bd6"
54
+ integrity sha512-hUCZd2Byj/mNKjfP9jXrdVZ62B8KuA/VoK7X8nUh5qT+AxDmcbvZz041oDVZdbIN1qW6XY9VDNwzkvKnZvK2TQ==
55
+ dependencies:
56
+ es6-iterator "^2.0.3"
57
+ es6-symbol "^3.1.3"
58
+ esniff "^2.0.1"
59
+ next-tick "^1.1.0"
60
+
61
+ es6-iterator@^2.0.3:
62
+ version "2.0.3"
63
+ resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
64
+ integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
65
+ dependencies:
66
+ d "1"
67
+ es5-ext "^0.10.35"
68
+ es6-symbol "^3.1.1"
69
+
70
+ es6-symbol@^3.1.1, es6-symbol@^3.1.3:
71
+ version "3.1.3"
72
+ resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
73
+ integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
74
+ dependencies:
75
+ d "^1.0.1"
76
+ ext "^1.1.2"
77
+
78
+ es6-weak-map@^2.0.2:
79
+ version "2.0.3"
80
+ resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
81
+ integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
82
+ dependencies:
83
+ d "1"
84
+ es5-ext "^0.10.46"
85
+ es6-iterator "^2.0.3"
86
+ es6-symbol "^3.1.1"
87
+
88
+ esniff@^2.0.1:
89
+ version "2.0.1"
90
+ resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308"
91
+ integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==
92
+ dependencies:
93
+ d "^1.0.1"
94
+ es5-ext "^0.10.62"
95
+ event-emitter "^0.3.5"
96
+ type "^2.7.2"
97
+
98
+ event-emitter@^0.3.5:
99
+ version "0.3.5"
100
+ resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
101
+ integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
102
+ dependencies:
103
+ d "1"
104
+ es5-ext "~0.10.14"
105
+
106
+ ext@^1.1.2:
107
+ version "1.4.0"
108
+ resolved "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
109
+ integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
110
+ dependencies:
111
+ type "^2.0.0"
112
+
113
+ extend@^3.0.2:
114
+ version "3.0.2"
115
+ resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
116
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
117
+
118
+ iftype@^4.0.9:
119
+ version "4.0.9"
120
+ resolved "https://registry.npmjs.org/iftype/-/iftype-4.0.9.tgz#3803c91d518a699720cfba7a9e47c0268664f106"
121
+ integrity sha512-01Klo+04dkDzY193D1GVfOdQzmpqaYFJTAlZKRztkT/BOaU7sSnvxGimSln+7DMqLUP4tpDTNFgxqVPLYZVypA==
122
+
123
+ is-promise@^2.1:
124
+ version "2.2.2"
125
+ resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
126
+ integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
127
+
128
+ lru-queue@0.1:
129
+ version "0.1.0"
130
+ resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
131
+ integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=
132
+ dependencies:
133
+ es5-ext "~0.10.2"
134
+
135
+ memoizee@^0.4.14:
136
+ version "0.4.14"
137
+ resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
138
+ integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==
139
+ dependencies:
140
+ d "1"
141
+ es5-ext "^0.10.45"
142
+ es6-weak-map "^2.0.2"
143
+ event-emitter "^0.3.5"
144
+ is-promise "^2.1"
145
+ lru-queue "0.1"
146
+ next-tick "1"
147
+ timers-ext "^0.1.5"
148
+
149
+ next-tick@1, next-tick@^1.1.0:
150
+ version "1.1.0"
151
+ resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
152
+ integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
153
+
154
+ objnest@^5.0.6:
155
+ version "5.0.10"
156
+ resolved "https://registry.npmjs.org/objnest/-/objnest-5.0.10.tgz#90e43b11870502fcb445e97fcf402499f5f75c75"
157
+ integrity sha512-sIXiWbzbaOszhnaioxGyaLvBUF86nnEX/zgTrGskEJsXEqjBwLCsVy+a7Na93mW474lvtSIc3tOYiaXgHQw7Mg==
158
+ dependencies:
159
+ abind "^1.0.4"
160
+ extend "^3.0.2"
161
+
162
+ timers-ext@^0.1.5:
163
+ version "0.1.7"
164
+ resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
165
+ integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==
166
+ dependencies:
167
+ es5-ext "~0.10.46"
168
+ next-tick "1"
169
+
170
+ type@^1.0.1:
171
+ version "1.2.0"
172
+ resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
173
+ integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
174
+
175
+ type@^2.0.0:
176
+ version "2.1.0"
177
+ resolved "https://registry.npmjs.org/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
178
+ integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
179
+
180
+ type@^2.7.2:
181
+ version "2.7.2"
182
+ resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0"
183
+ integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "test",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "objnest": "^4.1.2"
13
+ }
14
+ }
@@ -0,0 +1,21 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ abind@^1.0.0:
6
+ version "1.0.5"
7
+ resolved "https://registry.npmjs.org/abind/-/abind-1.0.5.tgz#9fa11e51ebf0fe8a60a316b28a2a85a0bc08495e"
8
+ integrity sha512-dbaEZphdPje0ihqSdWg36Sb8S20TuqQomiz2593oIx+enQ9Q4vDZRjIzhnkWltGRKVKqC28kTribkgRLBexWVQ==
9
+
10
+ extend@^3.0.0:
11
+ version "3.0.2"
12
+ resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
13
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
14
+
15
+ objnest@^4.1.2:
16
+ version "4.1.4"
17
+ resolved "https://registry.npmjs.org/objnest/-/objnest-4.1.4.tgz#4a03b9a366a6d738165ae4938e1cdec6bb02b89f"
18
+ integrity sha512-8IpltsOlYtRHpiisBVx6xYkHTScU0EGHSk1tTopjUbm4RfSmMbDVkaclIs6K+Z8hFod9CxDmshDEdTs9CiUfbg==
19
+ dependencies:
20
+ abind "^1.0.0"
21
+ extend "^3.0.0"
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "@colend-contract-helpers",
3
+ "dependencies": {
4
+ "@commitlint/cli": "^15.0.0",
5
+ "is-positive": "^3.1.0",
6
+ "left-pad": "^1.1.3"
7
+ }
8
+ }
@@ -0,0 +1,14 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+ "@commitlint/cli@^15.0.0":
5
+ version "15.0.0"
6
+ resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-15.0.0.tgz#8e78e86ee2b6955c1a5d140e734a6c171ce367ee"
7
+
8
+ "is-positive@^3.1.0":
9
+ version "3.1.0"
10
+ resolved "https://registry.yarnpkg.com/is-positive/-/is-positive-3.1.0.tgz#857db584a1ba5d1cb2980527fc3b6c435d37b0fd"
11
+
12
+ "left-pad@^1.0.0":
13
+ version "1.0.0"
14
+ resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.0.0.tgz#c84e2417581bbb8eaf2b9e3d7a122e572ab1af37"
@@ -0,0 +1,6 @@
1
+ {
2
+ "dependencies": {
3
+ "is-positive": "^3.1.0",
4
+ "left-pad": "^1.1.3"
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ is-positive@^3.1.0:
6
+ version "3.1.0"
7
+ resolved "https://registry.yarnpkg.com/is-positive/-/is-positive-3.1.0.tgz#857db584a1ba5d1cb2980527fc3b6c435d37b0fd"
8
+
9
+ left-pad@^1.0.0:
10
+ version "1.0.0"
11
+ resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.0.0.tgz#c84e2417581bbb8eaf2b9e3d7a122e572ab1af37"
@@ -0,0 +1,12 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ is-positive@^3.1.0:
6
+ version "3.1.0"
7
+ resolved "https://registry.yarnpkg.com/is-positive/-/is-positive-3.1.0.tgz#857db584a1ba5d1cb2980527fc3b6c435d37b0fd"
8
+
9
+ left-pad@^1.1.3:
10
+ version "1.1.3"
11
+ resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a"
12
+ integrity sha512-m3z9QHpSXmd2H8Z5jnSXbGONPty4dFQfH1QpGgivzrEzICgsi50j9S+aGc77EaLoHpbw0BzP5+k1pp2UajTRuw==
@@ -0,0 +1,5 @@
1
+ {
2
+ "dependencies": {
3
+ "left-pad": "^1.1.3"
4
+ }
5
+ }
@@ -0,0 +1,13 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+ # yarn v0.0.0-0
4
+ # node v0.0.0
5
+
6
+
7
+ is-positive@^3.1.0:
8
+ version "3.1.0"
9
+ resolved "https://registry.yarnpkg.com/is-positive/-/is-positive-3.1.0.tgz#857db584a1ba5d1cb2980527fc3b6c435d37b0fd"
10
+
11
+ left-pad@^1.0.0:
12
+ version "1.0.0"
13
+ resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.0.0.tgz#c84e2417581bbb8eaf2b9e3d7a122e572ab1af37"
@@ -0,0 +1,18 @@
1
+ const path = require("path");
2
+ const fs = require("fs");
3
+
4
+ module.exports = {
5
+ loadFixture: (fixturePath) =>
6
+ fs.readFileSync(path.join(__dirname, "fixtures", fixturePath)).toString(),
7
+
8
+ copyDependencies: (sourceDir, destDir) => {
9
+ const srcPackageJson = path.join(
10
+ __dirname,
11
+ `fixtures/${sourceDir}/package.json`
12
+ );
13
+ fs.copyFileSync(srcPackageJson, `${destDir}/package.json`);
14
+
15
+ const srcLockfile = path.join(__dirname, `fixtures/${sourceDir}/yarn.lock`);
16
+ fs.copyFileSync(srcLockfile, `${destDir}/yarn.lock`);
17
+ },
18
+ };
@@ -0,0 +1,117 @@
1
+ const path = require("path");
2
+ const os = require("os");
3
+ const fs = require("fs");
4
+ const { updateDependencyFiles } = require("../../lib/yarn/updater");
5
+ const helpers = require("./helpers");
6
+
7
+ describe("updater", () => {
8
+ let tempDir;
9
+ beforeEach(() => {
10
+ tempDir = fs.mkdtempSync(os.tmpdir() + path.sep);
11
+ });
12
+ afterEach(() => fs.rm(tempDir, { recursive: true }, () => {}));
13
+
14
+ function copyDependencies(sourceDir, destDir) {
15
+ const srcPackageJson = path.join(
16
+ __dirname,
17
+ `fixtures/updater/${sourceDir}/package.json`
18
+ );
19
+ fs.copyFileSync(srcPackageJson, `${destDir}/package.json`);
20
+
21
+ const srcYarnLock = path.join(
22
+ __dirname,
23
+ `fixtures/updater/${sourceDir}/yarn.lock`
24
+ );
25
+ fs.copyFileSync(srcYarnLock, `${destDir}/yarn.lock`);
26
+ }
27
+
28
+ it("generates an updated yarn.lock", async () => {
29
+ copyDependencies("original", tempDir);
30
+
31
+ const result = await updateDependencyFiles(tempDir, [
32
+ {
33
+ name: "left-pad",
34
+ version: "1.1.3",
35
+ requirements: [{ file: "package.json", groups: ["dependencies"] }],
36
+ },
37
+ ]);
38
+ expect(result).toEqual({
39
+ "yarn.lock": helpers.loadFixture("updater/updated/yarn.lock"),
40
+ });
41
+ });
42
+
43
+ it("doesn't modify existing version comments", async () => {
44
+ copyDependencies("with-version-comments", tempDir);
45
+
46
+ const result = await updateDependencyFiles(tempDir, [
47
+ {
48
+ name: "left-pad",
49
+ version: "1.1.3",
50
+ requirements: [{ file: "package.json", groups: ["dependencies"] }],
51
+ },
52
+ ]);
53
+ expect(result["yarn.lock"]).toContain("\n# yarn v0.0.0-0\n");
54
+ expect(result["yarn.lock"]).toContain("\n# node v0.0.0\n");
55
+ });
56
+
57
+ it("doesn't add version comments if they're not already there", async () => {
58
+ copyDependencies("original", tempDir);
59
+
60
+ const result = await updateDependencyFiles(tempDir, [
61
+ {
62
+ name: "left-pad",
63
+ version: "1.1.3",
64
+ requirements: [{ file: "package.json", groups: ["dependencies"] }],
65
+ },
66
+ ]);
67
+ expect(result["yarn.lock"]).not.toContain("\n# yarn v");
68
+ expect(result["yarn.lock"]).not.toContain("\n# node");
69
+ });
70
+
71
+ it("doesn't show an interactive prompt when resolution fails", async () => {
72
+ copyDependencies("original", tempDir);
73
+
74
+ expect.assertions(1);
75
+ try {
76
+ // Change this test if left-pad ever reaches v99.99.99
77
+ await updateDependencyFiles(tempDir, [
78
+ {
79
+ name: "left-pad",
80
+ version: "99.99.99",
81
+ requirements: [{ file: "package.json", groups: ["dependencies"] }],
82
+ },
83
+ ]);
84
+ } catch (error) {
85
+ expect(error).not.toBeNull();
86
+ }
87
+ });
88
+
89
+ it("with a package.json which contains illegal character '@' in the name", async () => {
90
+ copyDependencies("illegal_character", tempDir);
91
+
92
+ try {
93
+ await updateDependencyFiles(tempDir, [
94
+ {
95
+ name: "@commitlint/cli",
96
+ version: "19.3.0",
97
+ requirements: [
98
+ {
99
+ requirement: "^19.3.0",
100
+ file: "package.json",
101
+ groups: ["devDependencies"],
102
+ source:
103
+ {
104
+ type: "registry",
105
+ url: "https://registry.yarnpkg.com"
106
+ }
107
+ }
108
+ ]
109
+ }
110
+ ]
111
+ );
112
+ } catch (error) {
113
+ expect(error).not.toBeNull();
114
+ expect(error.message).toEqual("package.json: Name contains illegal characters")
115
+ }
116
+ });
117
+ });
@@ -0,0 +1,47 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module Dependabot
5
+ module Bun
6
+ class BunPackageManager < Ecosystem::VersionManager
7
+ extend T::Sig
8
+ NAME = "bun"
9
+ LOCKFILE_NAME = "bun.lock"
10
+ RC_FILENAME = ".npmrc"
11
+
12
+ # In Bun 1.1.39, the lockfile format was changed from a binary bun.lockb to a text-based bun.lock.
13
+ # https://bun.sh/blog/bun-lock-text-lockfile
14
+ MIN_SUPPORTED_VERSION = Version.new("1.1.39")
15
+ SUPPORTED_VERSIONS = T.let([MIN_SUPPORTED_VERSION].freeze, T::Array[Dependabot::Version])
16
+ DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
17
+
18
+ sig do
19
+ params(
20
+ detected_version: T.nilable(String),
21
+ raw_version: T.nilable(String),
22
+ requirement: T.nilable(Dependabot::Bun::Requirement)
23
+ ).void
24
+ end
25
+ def initialize(detected_version: nil, raw_version: nil, requirement: nil)
26
+ super(
27
+ name: NAME,
28
+ detected_version: detected_version ? Version.new(detected_version) : nil,
29
+ version: raw_version ? Version.new(raw_version) : nil,
30
+ deprecated_versions: DEPRECATED_VERSIONS,
31
+ supported_versions: SUPPORTED_VERSIONS,
32
+ requirement: requirement
33
+ )
34
+ end
35
+
36
+ sig { override.returns(T::Boolean) }
37
+ def deprecated?
38
+ false
39
+ end
40
+
41
+ sig { override.returns(T::Boolean) }
42
+ def unsupported?
43
+ false
44
+ end
45
+ end
46
+ end
47
+ end