dependabot-bun 0.296.0 → 0.296.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/helpers/.eslintrc +11 -0
- data/helpers/README.md +29 -0
- data/helpers/build +26 -0
- data/helpers/jest.config.js +5 -0
- data/helpers/lib/npm/conflicting-dependency-parser.js +78 -0
- data/helpers/lib/npm/index.js +9 -0
- data/helpers/lib/npm/vulnerability-auditor.js +291 -0
- data/helpers/lib/npm6/helpers.js +25 -0
- data/helpers/lib/npm6/index.js +9 -0
- data/helpers/lib/npm6/peer-dependency-checker.js +111 -0
- data/helpers/lib/npm6/remove-dependencies-from-lockfile.js +22 -0
- data/helpers/lib/npm6/subdependency-updater.js +78 -0
- data/helpers/lib/npm6/updater.js +199 -0
- data/helpers/lib/pnpm/index.js +5 -0
- data/helpers/lib/pnpm/lockfile-parser.js +82 -0
- data/helpers/lib/yarn/conflicting-dependency-parser.js +176 -0
- data/helpers/lib/yarn/fix-duplicates.js +80 -0
- data/helpers/lib/yarn/helpers.js +54 -0
- data/helpers/lib/yarn/index.js +14 -0
- data/helpers/lib/yarn/lockfile-parser.js +21 -0
- data/helpers/lib/yarn/peer-dependency-checker.js +132 -0
- data/helpers/lib/yarn/replace-lockfile-declaration.js +57 -0
- data/helpers/lib/yarn/subdependency-updater.js +83 -0
- data/helpers/lib/yarn/updater.js +209 -0
- data/helpers/package-lock.json +28519 -0
- data/helpers/package.json +29 -0
- data/helpers/patches/npm++pacote+9.5.12.patch +14 -0
- data/helpers/run.js +30 -0
- data/helpers/test/npm6/conflicting-dependency-parser.test.js +66 -0
- data/helpers/test/npm6/fixtures/conflicting-dependency-parser/deeply-nested/package-lock.json +591 -0
- data/helpers/test/npm6/fixtures/conflicting-dependency-parser/deeply-nested/package.json +14 -0
- data/helpers/test/npm6/fixtures/conflicting-dependency-parser/nested/package-lock.json +188 -0
- data/helpers/test/npm6/fixtures/conflicting-dependency-parser/nested/package.json +14 -0
- data/helpers/test/npm6/fixtures/conflicting-dependency-parser/simple/package-lock.json +27 -0
- data/helpers/test/npm6/fixtures/conflicting-dependency-parser/simple/package.json +14 -0
- data/helpers/test/npm6/fixtures/updater/original/package-lock.json +16 -0
- data/helpers/test/npm6/fixtures/updater/original/package.json +9 -0
- data/helpers/test/npm6/fixtures/updater/updated/package-lock.json +16 -0
- data/helpers/test/npm6/helpers.js +21 -0
- data/helpers/test/npm6/updater.test.js +30 -0
- data/helpers/test/pnpm/fixtures/parser/empty_version/pnpm-lock.yaml +72 -0
- data/helpers/test/pnpm/fixtures/parser/no_lockfile_change/pnpm-lock.yaml +2744 -0
- data/helpers/test/pnpm/fixtures/parser/only_dev_dependencies/pnpm-lock.yaml +16 -0
- data/helpers/test/pnpm/fixtures/parser/peer_disambiguation/pnpm-lock.yaml +855 -0
- data/helpers/test/pnpm/lockfile-parser.test.js +62 -0
- data/helpers/test/yarn/conflicting-dependency-parser.test.js +83 -0
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/deeply-nested/package.json +14 -0
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/deeply-nested/yarn.lock +496 -0
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/dev-dependencies/package.json +14 -0
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/dev-dependencies/yarn.lock +21 -0
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/nested/package.json +14 -0
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/nested/yarn.lock +183 -0
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/simple/package.json +14 -0
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/simple/yarn.lock +21 -0
- data/helpers/test/yarn/fixtures/updater/illegal_character/package.json +8 -0
- data/helpers/test/yarn/fixtures/updater/illegal_character/yarn.lock +14 -0
- data/helpers/test/yarn/fixtures/updater/original/package.json +6 -0
- data/helpers/test/yarn/fixtures/updater/original/yarn.lock +11 -0
- data/helpers/test/yarn/fixtures/updater/updated/yarn.lock +12 -0
- data/helpers/test/yarn/fixtures/updater/with-version-comments/package.json +5 -0
- data/helpers/test/yarn/fixtures/updater/with-version-comments/yarn.lock +13 -0
- data/helpers/test/yarn/helpers.js +18 -0
- data/helpers/test/yarn/updater.test.js +117 -0
- data/lib/dependabot/bun/bun_package_manager.rb +47 -0
- data/lib/dependabot/bun/constraint_helper.rb +359 -0
- data/lib/dependabot/bun/dependency_files_filterer.rb +157 -0
- data/lib/dependabot/bun/file_fetcher/path_dependency_builder.rb +184 -0
- data/lib/dependabot/bun/file_fetcher.rb +343 -38
- data/lib/dependabot/bun/file_parser/bun_lock.rb +3 -11
- data/lib/dependabot/bun/file_parser/lockfile_parser.rb +105 -0
- data/lib/dependabot/bun/file_parser.rb +477 -0
- data/lib/dependabot/bun/file_updater/bun_lockfile_updater.rb +144 -0
- data/lib/dependabot/bun/file_updater/npmrc_builder.rb +256 -0
- data/lib/dependabot/bun/file_updater/package_json_preparer.rb +88 -0
- data/lib/dependabot/bun/file_updater/package_json_updater.rb +378 -0
- data/lib/dependabot/bun/file_updater.rb +203 -0
- data/lib/dependabot/bun/helpers.rb +41 -27
- data/lib/dependabot/bun/language.rb +2 -2
- data/lib/dependabot/bun/metadata_finder.rb +214 -0
- data/lib/dependabot/bun/native_helpers.rb +19 -0
- data/lib/dependabot/bun/package_manager.rb +261 -27
- data/lib/dependabot/bun/package_name.rb +118 -0
- data/lib/dependabot/bun/pnpm_package_manager.rb +55 -0
- data/lib/dependabot/bun/registry_helper.rb +188 -0
- data/lib/dependabot/bun/registry_parser.rb +93 -0
- data/lib/dependabot/bun/requirement.rb +134 -2
- data/lib/dependabot/bun/sub_dependency_files_filterer.rb +82 -0
- data/lib/dependabot/bun/update_checker/conflicting_dependency_resolver.rb +59 -0
- data/lib/dependabot/bun/update_checker/dependency_files_builder.rb +79 -0
- data/lib/dependabot/bun/update_checker/latest_version_finder.rb +448 -0
- data/lib/dependabot/bun/update_checker/library_detector.rb +76 -0
- data/lib/dependabot/bun/update_checker/registry_finder.rb +279 -0
- data/lib/dependabot/bun/update_checker/requirements_updater.rb +206 -0
- data/lib/dependabot/bun/update_checker/subdependency_version_resolver.rb +154 -0
- data/lib/dependabot/bun/update_checker/version_resolver.rb +583 -0
- data/lib/dependabot/bun/update_checker/vulnerability_auditor.rb +164 -0
- data/lib/dependabot/bun/update_checker.rb +455 -0
- data/lib/dependabot/bun/version.rb +128 -2
- data/lib/dependabot/bun/version_selector.rb +61 -0
- data/lib/dependabot/bun.rb +338 -26
- metadata +101 -27
- data/lib/dependabot/javascript/file_fetcher_helper.rb +0 -245
- data/lib/dependabot/javascript/requirement.rb +0 -141
- data/lib/dependabot/javascript/version.rb +0 -135
- data/lib/dependabot/javascript.rb +0 -8
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"name": "@dependabot/helper",
|
3
|
+
"private": true,
|
4
|
+
"bin": {
|
5
|
+
"helper": "run.js"
|
6
|
+
},
|
7
|
+
"scripts": {
|
8
|
+
"lint": "eslint .",
|
9
|
+
"test": "jest",
|
10
|
+
"postinstall": "patch-package"
|
11
|
+
},
|
12
|
+
"dependencies": {
|
13
|
+
"@dependabot/yarn-lib": "^1.22.22",
|
14
|
+
"@npmcli/arborist": "^8.0.0",
|
15
|
+
"detect-indent": "^6.1.0",
|
16
|
+
"nock": "^13.5.6",
|
17
|
+
"npm": "6.14.18",
|
18
|
+
"@pnpm/lockfile-file": "^9.1.2",
|
19
|
+
"@pnpm/dependency-path": "^5.1.1",
|
20
|
+
"semver": "^7.6.3",
|
21
|
+
"patch-package": "^8.0.0"
|
22
|
+
},
|
23
|
+
"devDependencies": {
|
24
|
+
"eslint": "^9.16.0",
|
25
|
+
"eslint-config-prettier": "^9.1.0",
|
26
|
+
"jest": "^29.7.0",
|
27
|
+
"prettier": "^3.4.2"
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
diff --git a/node_modules/npm/node_modules/pacote/lib/util/git.js b/node_modules/npm/node_modules/pacote/lib/util/git.js
|
2
|
+
index 7642eb2..7bb3324 100644
|
3
|
+
--- a/node_modules/npm/node_modules/pacote/lib/util/git.js
|
4
|
+
+++ b/node_modules/npm/node_modules/pacote/lib/util/git.js
|
5
|
+
@@ -25,7 +25,8 @@ const GOOD_ENV_VARS = new Set([
|
6
|
+
'GIT_SSH',
|
7
|
+
'GIT_SSH_COMMAND',
|
8
|
+
'GIT_SSL_CAINFO',
|
9
|
+
- 'GIT_SSL_NO_VERIFY'
|
10
|
+
+ 'GIT_SSL_NO_VERIFY',
|
11
|
+
+ 'GIT_CONFIG_GLOBAL'
|
12
|
+
])
|
13
|
+
|
14
|
+
const GIT_TRANSIENT_ERRORS = [
|
data/helpers/run.js
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
|
3
|
+
const process = require('process');
|
4
|
+
|
5
|
+
function output(obj) {
|
6
|
+
process.stdout.write(JSON.stringify(obj));
|
7
|
+
}
|
8
|
+
|
9
|
+
const input = [];
|
10
|
+
process.stdin.on("data", (data) => input.push(data));
|
11
|
+
process.stdin.on("end", () => {
|
12
|
+
const request = JSON.parse(input.join(""));
|
13
|
+
const [manager, functionName] = request.function.split(":");
|
14
|
+
const helpers = require(`./lib/${manager}`);
|
15
|
+
const func = helpers[functionName];
|
16
|
+
if (!func) {
|
17
|
+
output({ error: `Invalid function ${request.function}` });
|
18
|
+
process.exit(1);
|
19
|
+
}
|
20
|
+
|
21
|
+
func
|
22
|
+
.apply(null, request.args)
|
23
|
+
.then((result) => {
|
24
|
+
output({ result: result });
|
25
|
+
})
|
26
|
+
.catch((error) => {
|
27
|
+
output({ error: error.message });
|
28
|
+
process.exit(1);
|
29
|
+
});
|
30
|
+
});
|
@@ -0,0 +1,66 @@
|
|
1
|
+
const path = require("path");
|
2
|
+
const os = require("os");
|
3
|
+
const fs = require("fs");
|
4
|
+
const {
|
5
|
+
findConflictingDependencies,
|
6
|
+
} = require("../../lib/npm/conflicting-dependency-parser");
|
7
|
+
const helpers = require("./helpers");
|
8
|
+
|
9
|
+
describe("findConflictingDependencies", () => {
|
10
|
+
let tempDir;
|
11
|
+
beforeEach(() => {
|
12
|
+
tempDir = fs.mkdtempSync(os.tmpdir() + path.sep);
|
13
|
+
});
|
14
|
+
afterEach(() => fs.rm(tempDir, { recursive: true }, () => {}));
|
15
|
+
|
16
|
+
it("finds conflicting dependencies", async () => {
|
17
|
+
helpers.copyDependencies("conflicting-dependency-parser/simple", tempDir);
|
18
|
+
|
19
|
+
const result = await findConflictingDependencies(tempDir, "abind", "2.0.0");
|
20
|
+
expect(result).toEqual([
|
21
|
+
{
|
22
|
+
explanation: "objnest@4.1.2 requires abind@^1.0.0",
|
23
|
+
name: "objnest",
|
24
|
+
version: "4.1.2",
|
25
|
+
requirement: "^1.0.0",
|
26
|
+
},
|
27
|
+
]);
|
28
|
+
});
|
29
|
+
|
30
|
+
it("finds the top-level conflicting dependency", async () => {
|
31
|
+
helpers.copyDependencies("conflicting-dependency-parser/nested", tempDir);
|
32
|
+
|
33
|
+
const result = await findConflictingDependencies(tempDir, "abind", "2.0.0");
|
34
|
+
expect(result).toEqual([
|
35
|
+
{
|
36
|
+
explanation: "askconfig@4.0.4 requires abind@^1.0.4 via objnest@5.0.10",
|
37
|
+
name: "objnest",
|
38
|
+
version: "5.0.10",
|
39
|
+
requirement: "^1.0.4",
|
40
|
+
},
|
41
|
+
]);
|
42
|
+
});
|
43
|
+
|
44
|
+
it("explains a deeply nested dependency", async () => {
|
45
|
+
helpers.copyDependencies(
|
46
|
+
"conflicting-dependency-parser/deeply-nested",
|
47
|
+
tempDir
|
48
|
+
);
|
49
|
+
|
50
|
+
const result = await findConflictingDependencies(tempDir, "abind", "2.0.0");
|
51
|
+
expect(result).toEqual([
|
52
|
+
{
|
53
|
+
explanation: "apass@1.1.0 requires abind@^1.0.0 via cipherjson@2.1.0",
|
54
|
+
name: "cipherjson",
|
55
|
+
version: "2.1.0",
|
56
|
+
requirement: "^1.0.0",
|
57
|
+
},
|
58
|
+
{
|
59
|
+
explanation: `apass@1.1.0 requires abind@^1.0.0 via a transitive dependency on objnest@3.0.9`,
|
60
|
+
name: "objnest",
|
61
|
+
version: "3.0.9",
|
62
|
+
requirement: "^1.0.0",
|
63
|
+
},
|
64
|
+
]);
|
65
|
+
});
|
66
|
+
});
|