@verdaccio/e2e-cli 3.0.0 → 3.2.0
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.
- package/bin/e2e-cli.js +6 -26
- package/build/adapters/adapter.d.ts +1 -0
- package/build/adapters/bun.d.ts +2 -0
- package/build/adapters/deno.d.ts +2 -0
- package/build/adapters/index.d.ts +5 -0
- package/build/adapters/npm.d.ts +2 -0
- package/build/adapters/pnpm.d.ts +2 -0
- package/build/adapters/yarn-modern.d.ts +2 -0
- package/build/cjs/_virtual/_rolldown/runtime.cjs +23 -0
- package/build/cjs/adapters/bun.cjs +64 -0
- package/build/cjs/adapters/bun.cjs.map +1 -0
- package/build/cjs/adapters/deno.cjs +61 -0
- package/build/cjs/adapters/deno.cjs.map +1 -0
- package/build/cjs/adapters/index.cjs +10 -0
- package/build/cjs/adapters/npm.cjs +85 -0
- package/build/cjs/adapters/npm.cjs.map +1 -0
- package/build/cjs/adapters/pnpm.cjs +114 -0
- package/build/cjs/adapters/pnpm.cjs.map +1 -0
- package/build/cjs/adapters/yarn-modern.cjs +207 -0
- package/build/cjs/adapters/yarn-modern.cjs.map +1 -0
- package/build/cjs/index.cjs +186 -11
- package/build/cjs/index.cjs.map +1 -0
- package/build/cjs/reporter.cjs +113 -0
- package/build/cjs/reporter.cjs.map +1 -0
- package/build/cjs/runner.cjs +141 -0
- package/build/cjs/runner.cjs.map +1 -0
- package/build/cjs/scenarios/index.cjs +25 -0
- package/build/cjs/scenarios/index.cjs.map +1 -0
- package/build/cjs/scenarios/install-multiple-deps.cjs +119 -0
- package/build/cjs/scenarios/install-multiple-deps.cjs.map +1 -0
- package/build/cjs/scenarios/metadata.cjs +121 -0
- package/build/cjs/scenarios/metadata.cjs.map +1 -0
- package/build/cjs/scenarios/minimum-release-age.cjs +111 -0
- package/build/cjs/scenarios/minimum-release-age.cjs.map +1 -0
- package/build/cjs/scenarios/search.cjs +200 -0
- package/build/cjs/scenarios/search.cjs.map +1 -0
- package/build/cjs/scenarios/tarballs.cjs +170 -0
- package/build/cjs/scenarios/tarballs.cjs.map +1 -0
- package/build/cjs/scenarios/uplink-failure.cjs +141 -0
- package/build/cjs/scenarios/uplink-failure.cjs.map +1 -0
- package/build/cjs/tests/audit.cjs +60 -0
- package/build/cjs/tests/audit.cjs.map +1 -0
- package/build/cjs/tests/ci.cjs +83 -0
- package/build/cjs/tests/ci.cjs.map +1 -0
- package/build/cjs/tests/deprecate.cjs +108 -0
- package/build/cjs/tests/deprecate.cjs.map +1 -0
- package/build/cjs/tests/dist-tags.cjs +43 -0
- package/build/cjs/tests/dist-tags.cjs.map +1 -0
- package/build/cjs/tests/index.cjs +49 -0
- package/build/cjs/tests/index.cjs.map +1 -0
- package/build/cjs/tests/info.cjs +31 -0
- package/build/cjs/tests/info.cjs.map +1 -0
- package/build/cjs/tests/install.cjs +30 -0
- package/build/cjs/tests/install.cjs.map +1 -0
- package/build/cjs/tests/login.cjs +126 -0
- package/build/cjs/tests/login.cjs.map +1 -0
- package/build/cjs/tests/ping.cjs +26 -0
- package/build/cjs/tests/ping.cjs.map +1 -0
- package/build/cjs/tests/publish.cjs +36 -0
- package/build/cjs/tests/publish.cjs.map +1 -0
- package/build/cjs/tests/search.cjs +23 -0
- package/build/cjs/tests/search.cjs.map +1 -0
- package/build/cjs/tests/unpublish.cjs +40 -0
- package/build/cjs/tests/unpublish.cjs.map +1 -0
- package/build/cjs/utils/e2e-config.cjs +59 -0
- package/build/cjs/utils/e2e-config.cjs.map +1 -0
- package/build/cjs/utils/http-client.cjs +111 -0
- package/build/cjs/utils/http-client.cjs.map +1 -0
- package/build/cjs/utils/info.cjs +25 -0
- package/build/cjs/utils/info.cjs.map +1 -0
- package/build/cjs/utils/mock-uplink.cjs +196 -0
- package/build/cjs/utils/mock-uplink.cjs.map +1 -0
- package/build/cjs/utils/pending-checks.cjs +21 -0
- package/build/cjs/utils/pending-checks.cjs.map +1 -0
- package/build/cjs/utils/process.cjs +96 -0
- package/build/cjs/utils/process.cjs.map +1 -0
- package/build/cjs/utils/project.cjs +55 -0
- package/build/cjs/utils/project.cjs.map +1 -0
- package/build/cjs/utils/publish.cjs +117 -0
- package/build/cjs/utils/publish.cjs.map +1 -0
- package/build/cjs/utils/registry-client.cjs +56 -0
- package/build/cjs/utils/registry-client.cjs.map +1 -0
- package/build/esm/adapters/bun.js +62 -0
- package/build/esm/adapters/bun.js.map +1 -0
- package/build/esm/adapters/deno.js +59 -0
- package/build/esm/adapters/deno.js.map +1 -0
- package/build/esm/adapters/index.js +6 -0
- package/build/esm/adapters/npm.js +83 -0
- package/build/esm/adapters/npm.js.map +1 -0
- package/build/esm/adapters/pnpm.js +112 -0
- package/build/esm/adapters/pnpm.js.map +1 -0
- package/build/esm/adapters/yarn-modern.js +204 -0
- package/build/esm/adapters/yarn-modern.js.map +1 -0
- package/build/esm/index.js +174 -10
- package/build/esm/index.js.map +1 -0
- package/build/esm/reporter.js +108 -0
- package/build/esm/reporter.js.map +1 -0
- package/build/esm/runner.js +138 -0
- package/build/esm/runner.js.map +1 -0
- package/build/esm/scenarios/index.js +19 -0
- package/build/esm/scenarios/index.js.map +1 -0
- package/build/esm/scenarios/install-multiple-deps.js +117 -0
- package/build/esm/scenarios/install-multiple-deps.js.map +1 -0
- package/build/esm/scenarios/metadata.js +119 -0
- package/build/esm/scenarios/metadata.js.map +1 -0
- package/build/esm/scenarios/minimum-release-age.js +108 -0
- package/build/esm/scenarios/minimum-release-age.js.map +1 -0
- package/build/esm/scenarios/search.js +198 -0
- package/build/esm/scenarios/search.js.map +1 -0
- package/build/esm/scenarios/tarballs.js +168 -0
- package/build/esm/scenarios/tarballs.js.map +1 -0
- package/build/esm/scenarios/uplink-failure.js +139 -0
- package/build/esm/scenarios/uplink-failure.js.map +1 -0
- package/build/esm/tests/audit.js +57 -0
- package/build/esm/tests/audit.js.map +1 -0
- package/build/esm/tests/ci.js +80 -0
- package/build/esm/tests/ci.js.map +1 -0
- package/build/esm/tests/deprecate.js +105 -0
- package/build/esm/tests/deprecate.js.map +1 -0
- package/build/esm/tests/dist-tags.js +41 -0
- package/build/esm/tests/dist-tags.js.map +1 -0
- package/build/esm/tests/index.js +37 -0
- package/build/esm/tests/index.js.map +1 -0
- package/build/esm/tests/info.js +29 -0
- package/build/esm/tests/info.js.map +1 -0
- package/build/esm/tests/install.js +28 -0
- package/build/esm/tests/install.js.map +1 -0
- package/build/esm/tests/login.js +122 -0
- package/build/esm/tests/login.js.map +1 -0
- package/build/esm/tests/ping.js +24 -0
- package/build/esm/tests/ping.js.map +1 -0
- package/build/esm/tests/publish.js +34 -0
- package/build/esm/tests/publish.js.map +1 -0
- package/build/esm/tests/search.js +21 -0
- package/build/esm/tests/search.js.map +1 -0
- package/build/esm/tests/unpublish.js +38 -0
- package/build/esm/tests/unpublish.js.map +1 -0
- package/build/esm/utils/e2e-config.js +58 -0
- package/build/esm/utils/e2e-config.js.map +1 -0
- package/build/esm/utils/http-client.js +105 -0
- package/build/esm/utils/http-client.js.map +1 -0
- package/build/esm/utils/info.js +24 -0
- package/build/esm/utils/info.js.map +1 -0
- package/build/esm/utils/mock-uplink.js +194 -0
- package/build/esm/utils/mock-uplink.js.map +1 -0
- package/build/esm/utils/pending-checks.js +21 -0
- package/build/esm/utils/pending-checks.js.map +1 -0
- package/build/esm/utils/process.js +92 -0
- package/build/esm/utils/process.js.map +1 -0
- package/build/esm/utils/project.js +50 -0
- package/build/esm/utils/project.js.map +1 -0
- package/build/esm/utils/publish.js +113 -0
- package/build/esm/utils/publish.js.map +1 -0
- package/build/esm/utils/registry-client.js +53 -0
- package/build/esm/utils/registry-client.js.map +1 -0
- package/build/index.d.ts +6 -15
- package/build/reporter.d.ts +7 -0
- package/build/runner.d.ts +13 -0
- package/build/scenarios/index.d.ts +9 -0
- package/build/scenarios/install-multiple-deps.d.ts +2 -0
- package/build/scenarios/metadata.d.ts +2 -0
- package/build/scenarios/minimum-release-age.d.ts +11 -0
- package/build/scenarios/search.d.ts +2 -0
- package/build/scenarios/tarballs.d.ts +2 -0
- package/build/scenarios/uplink-failure.d.ts +2 -0
- package/build/tests/audit.d.ts +2 -0
- package/build/tests/ci.d.ts +2 -0
- package/build/tests/deprecate.d.ts +2 -0
- package/build/tests/dist-tags.d.ts +2 -0
- package/build/tests/index.d.ts +15 -0
- package/build/tests/info.d.ts +2 -0
- package/build/tests/install.d.ts +2 -0
- package/build/tests/login.d.ts +2 -0
- package/build/tests/ping.d.ts +2 -0
- package/build/tests/publish.d.ts +2 -0
- package/build/tests/search.d.ts +2 -0
- package/build/tests/unpublish.d.ts +2 -0
- package/build/types.d.ts +91 -0
- package/build/utils/e2e-config.d.ts +21 -0
- package/build/utils/http-client.d.ts +49 -0
- package/build/utils/index.d.ts +4 -0
- package/build/utils/info.d.ts +14 -0
- package/build/utils/mock-uplink.d.ts +47 -0
- package/build/utils/pending-checks.d.ts +12 -0
- package/build/utils/process.d.ts +11 -0
- package/build/utils/project.d.ts +6 -0
- package/build/utils/publish.d.ts +17 -0
- package/build/utils/registry-client.d.ts +15 -0
- package/package.json +16 -14
- package/Cargo.lock +0 -1591
- package/Cargo.toml +0 -19
- package/build/bin/verdaccio-e2e +0 -0
- package/scripts/build-js-package.mjs +0 -25
- package/src/e2e_tests/audit.rs +0 -51
- package/src/e2e_tests/ci.rs +0 -32
- package/src/e2e_tests/deprecate.rs +0 -64
- package/src/e2e_tests/dist_tags.rs +0 -56
- package/src/e2e_tests/info.rs +0 -43
- package/src/e2e_tests/install.rs +0 -27
- package/src/e2e_tests/login.rs +0 -64
- package/src/e2e_tests/mod.rs +0 -104
- package/src/e2e_tests/ping.rs +0 -33
- package/src/e2e_tests/publish.rs +0 -68
- package/src/e2e_tests/search.rs +0 -14
- package/src/e2e_tests/unpublish.rs +0 -37
- package/src/main.rs +0 -1411
- package/src/scenarios/install_multiple_deps.rs +0 -99
- package/src/scenarios/minimum_release_age.rs +0 -45
- package/src/scenarios/mod.rs +0 -11
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
use super::prelude::*;
|
|
2
|
-
|
|
3
|
-
pub(crate) fn scenario_install_multiple_deps(ctx: &mut TestContext<'_>) -> Result<()> {
|
|
4
|
-
let id = ctx.run_id.clone();
|
|
5
|
-
let mut project_cwd = PathBuf::new();
|
|
6
|
-
sub_test(ctx, "publish seed packages", |ctx| {
|
|
7
|
-
for i in 1..=5 {
|
|
8
|
-
publish_seed(
|
|
9
|
-
ctx,
|
|
10
|
-
&format!("@verdaccio/seed-{id}-{i}"),
|
|
11
|
-
"1.0.0",
|
|
12
|
-
BTreeMap::new(),
|
|
13
|
-
)?;
|
|
14
|
-
}
|
|
15
|
-
let shared = format!("@verdaccio/seed-shared-{id}");
|
|
16
|
-
publish_seed(ctx, &shared, "1.0.0", BTreeMap::new())?;
|
|
17
|
-
let mut deps = BTreeMap::new();
|
|
18
|
-
deps.insert(format!("@verdaccio/seed-{id}-1"), "1.0.0".into());
|
|
19
|
-
deps.insert(format!("@verdaccio/seed-{id}-2"), "1.0.0".into());
|
|
20
|
-
deps.insert(shared, "1.0.0".into());
|
|
21
|
-
publish_seed(ctx, &format!("@verdaccio/seed-mid-{id}"), "1.0.0", deps)
|
|
22
|
-
})?;
|
|
23
|
-
sub_test(ctx, "install all dependencies in consumer project", |ctx| {
|
|
24
|
-
let mut deps = BTreeMap::new();
|
|
25
|
-
for i in 1..=5 {
|
|
26
|
-
deps.insert(format!("@verdaccio/seed-{id}-{i}"), "1.0.0".into());
|
|
27
|
-
}
|
|
28
|
-
deps.insert(format!("@verdaccio/seed-mid-{id}"), "1.0.0".into());
|
|
29
|
-
deps.insert(format!("@verdaccio/seed-shared-{id}"), "1.0.0".into());
|
|
30
|
-
project_cwd = prepare_project(
|
|
31
|
-
ctx,
|
|
32
|
-
&format!("@verdaccio/consumer-{id}"),
|
|
33
|
-
"1.0.0",
|
|
34
|
-
deps,
|
|
35
|
-
BTreeMap::new(),
|
|
36
|
-
)?;
|
|
37
|
-
let mut args = vec!["install".into()];
|
|
38
|
-
args.extend(registry_arg(&ctx.adapter, &ctx.registry_url));
|
|
39
|
-
exec_adapter(ctx, Some(&project_cwd), args)?;
|
|
40
|
-
Ok(())
|
|
41
|
-
})?;
|
|
42
|
-
sub_test(ctx, "verify installed packages", |ctx| {
|
|
43
|
-
for i in 1..=5 {
|
|
44
|
-
let name = format!("@verdaccio/seed-{id}-{i}");
|
|
45
|
-
let info = info_pkg(ctx, &project_cwd, &name)?;
|
|
46
|
-
assert_eq_json(info.get("name"), name.as_str(), "Expected package name")?;
|
|
47
|
-
assert_eq_json(info.get("version"), "1.0.0", "Expected version")?;
|
|
48
|
-
}
|
|
49
|
-
let mid = format!("@verdaccio/seed-mid-{id}");
|
|
50
|
-
let info = info_pkg(ctx, &project_cwd, &mid)?;
|
|
51
|
-
assert_eq_json(info.get("name"), mid.as_str(), "Expected mid package")?;
|
|
52
|
-
let deps = info
|
|
53
|
-
.get("dependencies")
|
|
54
|
-
.and_then(Value::as_object)
|
|
55
|
-
.ok_or_else(|| anyhow!("Expected dependencies"))?;
|
|
56
|
-
assert_eq_json(
|
|
57
|
-
deps.get(&format!("@verdaccio/seed-{id}-1")),
|
|
58
|
-
"1.0.0",
|
|
59
|
-
"Intermediate dependency mismatch",
|
|
60
|
-
)?;
|
|
61
|
-
assert_eq_json(
|
|
62
|
-
deps.get(&format!("@verdaccio/seed-{id}-2")),
|
|
63
|
-
"1.0.0",
|
|
64
|
-
"Intermediate dependency mismatch",
|
|
65
|
-
)?;
|
|
66
|
-
assert_eq_json(
|
|
67
|
-
deps.get(&format!("@verdaccio/seed-shared-{id}")),
|
|
68
|
-
"1.0.0",
|
|
69
|
-
"Intermediate dependency mismatch",
|
|
70
|
-
)
|
|
71
|
-
})?;
|
|
72
|
-
sub_test(ctx, "update and re-install", |ctx| {
|
|
73
|
-
let leaf = format!("@verdaccio/seed-{id}-1");
|
|
74
|
-
let shared = format!("@verdaccio/seed-shared-{id}");
|
|
75
|
-
publish_seed(ctx, &leaf, "2.0.0", BTreeMap::new())?;
|
|
76
|
-
publish_seed(ctx, &shared, "2.0.0", BTreeMap::new())?;
|
|
77
|
-
let mut deps = BTreeMap::new();
|
|
78
|
-
deps.insert(leaf.clone(), "^1.0.0".into());
|
|
79
|
-
deps.insert(shared, "^1.0.0".into());
|
|
80
|
-
let temp = prepare_project(
|
|
81
|
-
ctx,
|
|
82
|
-
&format!("@verdaccio/consumer-update-{id}"),
|
|
83
|
-
"1.0.0",
|
|
84
|
-
deps,
|
|
85
|
-
BTreeMap::new(),
|
|
86
|
-
)?;
|
|
87
|
-
let mut args = vec!["install".into()];
|
|
88
|
-
args.extend(registry_arg(&ctx.adapter, &ctx.registry_url));
|
|
89
|
-
exec_adapter(ctx, Some(&temp), args)?;
|
|
90
|
-
let info = info_pkg(ctx, &temp, &leaf)?;
|
|
91
|
-
let latest = info
|
|
92
|
-
.pointer("/dist-tags/latest")
|
|
93
|
-
.or_else(|| info.get("version"))
|
|
94
|
-
.and_then(Value::as_str)
|
|
95
|
-
.unwrap_or("");
|
|
96
|
-
assert_eq_str(latest, "2.0.0")
|
|
97
|
-
})?;
|
|
98
|
-
Ok(())
|
|
99
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
use super::prelude::*;
|
|
2
|
-
|
|
3
|
-
pub(crate) fn scenario_minimum_release_age(ctx: &mut TestContext<'_>) -> Result<()> {
|
|
4
|
-
let id = ctx.run_id.clone();
|
|
5
|
-
let excluded_scoped = format!("@verdaccio/release-age-{id}");
|
|
6
|
-
let excluded_unscoped = format!("verdaccio-release-age-{id}");
|
|
7
|
-
let blocked = format!("e2e-release-age-blocked-{id}");
|
|
8
|
-
sub_test(ctx, "publish fresh packages", |ctx| {
|
|
9
|
-
publish_seed(ctx, &excluded_scoped, "1.0.0", BTreeMap::new())?;
|
|
10
|
-
publish_seed(ctx, &excluded_unscoped, "1.0.0", BTreeMap::new())?;
|
|
11
|
-
publish_seed(ctx, &blocked, "1.0.0", BTreeMap::new())
|
|
12
|
-
})?;
|
|
13
|
-
sub_test(ctx, "excluded packages bypass the cooldown", |ctx| {
|
|
14
|
-
let mut deps = BTreeMap::new();
|
|
15
|
-
deps.insert(excluded_scoped.clone(), "1.0.0".into());
|
|
16
|
-
deps.insert(excluded_unscoped.clone(), "1.0.0".into());
|
|
17
|
-
let temp =
|
|
18
|
-
prepare_cooldown_consumer(ctx, &format!("@verdaccio/consumer-excluded-{id}"), deps)?;
|
|
19
|
-
let mut args = vec!["install".into()];
|
|
20
|
-
args.extend(registry_arg(&ctx.adapter, &ctx.registry_url));
|
|
21
|
-
exec_adapter(ctx, Some(&temp), args)?;
|
|
22
|
-
Ok(())
|
|
23
|
-
})?;
|
|
24
|
-
sub_test(ctx, "non-excluded fresh package is blocked", |ctx| {
|
|
25
|
-
let mut deps = BTreeMap::new();
|
|
26
|
-
deps.insert(blocked.clone(), "1.0.0".into());
|
|
27
|
-
let temp = prepare_cooldown_consumer(ctx, &format!("e2e-consumer-blocked-{id}"), deps)?;
|
|
28
|
-
let mut args = vec!["install".into(), "--no-frozen-lockfile".into()];
|
|
29
|
-
args.extend(registry_arg(&ctx.adapter, &ctx.registry_url));
|
|
30
|
-
let error = exec_adapter(ctx, Some(&temp), args)
|
|
31
|
-
.err()
|
|
32
|
-
.map(|err| format!("{err:#}"))
|
|
33
|
-
.unwrap_or_default();
|
|
34
|
-
assert_true(
|
|
35
|
-
!error.is_empty(),
|
|
36
|
-
"Expected install of fresh non-excluded package to be blocked",
|
|
37
|
-
)?;
|
|
38
|
-
assert_true(
|
|
39
|
-
error.to_ascii_lowercase().contains("minimumreleaseage")
|
|
40
|
-
|| error.contains("NO_MATURE_MATCHING_VERSION"),
|
|
41
|
-
&format!("Expected minimumReleaseAge cooldown error, got: {error}"),
|
|
42
|
-
)
|
|
43
|
-
})?;
|
|
44
|
-
Ok(())
|
|
45
|
-
}
|
package/src/scenarios/mod.rs
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
pub(crate) mod install_multiple_deps;
|
|
2
|
-
pub(crate) mod minimum_release_age;
|
|
3
|
-
|
|
4
|
-
pub(crate) mod prelude {
|
|
5
|
-
pub(crate) use anyhow::{anyhow, Result};
|
|
6
|
-
pub(crate) use serde_json::Value;
|
|
7
|
-
pub(crate) use std::collections::BTreeMap;
|
|
8
|
-
pub(crate) use std::path::PathBuf;
|
|
9
|
-
|
|
10
|
-
pub(crate) use crate::*;
|
|
11
|
-
}
|