0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 17:34:47 -05:00

chore: fix flaky net_listen_allow_localhost_4555 (#23726)

Moves the test npm registry server port from `4558` to `426x`
This commit is contained in:
David Sherret 2024-05-07 13:21:56 -04:00 committed by GitHub
parent f3cc760f2f
commit 998036b399
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
178 changed files with 460 additions and 444 deletions

View file

@ -39,8 +39,8 @@ fn cache_matching_package_json_dep_should_not_install_all() {
.args("cache npm:@types/node@18.8.2") .args("cache npm:@types/node@18.8.2")
.run(); .run();
output.assert_matches_text(concat!( output.assert_matches_text(concat!(
"Download http://localhost:4558/@types/node\n", "Download http://localhost:4260/@types/node\n",
"Download http://localhost:4558/@types/node/node-18.8.2.tgz\n", "Download http://localhost:4260/@types/node/node-18.8.2.tgz\n",
"Initialize @types/node@18.8.2\n", "Initialize @types/node@18.8.2\n",
)); ));
} }

View file

@ -1083,8 +1083,8 @@ console.log(getValue());"#,
.run(); .run();
output.assert_exit_code(0); output.assert_exit_code(0);
output.assert_matches_text( output.assert_matches_text(
r#"Download http://localhost:4558/@denotest/esm-basic r#"Download http://localhost:4260/@denotest/esm-basic
Download http://localhost:4558/@denotest/esm-basic/1.0.0.tgz Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz
Initialize @denotest/esm-basic@1.0.0 Initialize @denotest/esm-basic@1.0.0
Check file:///[WILDCARD]/main.ts Check file:///[WILDCARD]/main.ts
Compile file:///[WILDCARD]/main.ts to [WILDCARD] Compile file:///[WILDCARD]/main.ts to [WILDCARD]

View file

@ -921,7 +921,7 @@ fn node_modules_dir_cache() {
let package_global_cache_dir = deno_dir let package_global_cache_dir = deno_dir
.path() .path()
.join("npm") .join("npm")
.join("localhost_4558") .join("localhost_4260")
.join("@denotest") .join("@denotest")
.join("dual-cjs-esm") .join("dual-cjs-esm")
.join("1.0.0"); .join("1.0.0");
@ -1507,7 +1507,7 @@ fn auto_discover_lock_file() {
.run(); .run();
output output
.assert_matches_text( .assert_matches_text(
r#"Download http://localhost:4558/@denotest/bin r#"Download http://localhost:4260/@denotest/bin
error: Integrity check failed for package: "npm:@denotest/bin@1.0.0". Unable to verify that the package error: Integrity check failed for package: "npm:@denotest/bin@1.0.0". Unable to verify that the package
is the same as when the lockfile was generated. is the same as when the lockfile was generated.
@ -1546,7 +1546,7 @@ fn peer_deps_with_copied_folders_and_lockfile() {
let grandchild_path = deno_dir let grandchild_path = deno_dir
.path() .path()
.join("npm") .join("npm")
.join("localhost_4558") .join("localhost_4260")
.join("@denotest") .join("@denotest")
.join("peer-dep-test-grandchild"); .join("peer-dep-test-grandchild");
assert!(grandchild_path.join("1.0.0").exists()); assert!(grandchild_path.join("1.0.0").exists());
@ -1660,8 +1660,8 @@ itest!(non_existent_dep {
exit_code: 1, exit_code: 1,
output_str: Some(concat!( output_str: Some(concat!(
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/non-existent-dep\n", "Download http://localhost:4260/@denotest/non-existent-dep\n",
"Download http://localhost:4558/@denotest/non-existent\n", "Download http://localhost:4260/@denotest/non-existent\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
"error: npm package '@denotest/non-existent' does not exist.\n" "error: npm package '@denotest/non-existent' does not exist.\n"
)), )),
@ -1674,14 +1674,14 @@ itest!(non_existent_dep_version {
exit_code: 1, exit_code: 1,
output_str: Some(concat!( output_str: Some(concat!(
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/non-existent-dep-version\n", "Download http://localhost:4260/@denotest/non-existent-dep-version\n",
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
// does two downloads because when failing once it max tries to // does two downloads because when failing once it max tries to
// get the latest version a second time // get the latest version a second time
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/non-existent-dep-version\n", "Download http://localhost:4260/@denotest/non-existent-dep-version\n",
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
"error: Could not find npm package '@denotest/esm-basic' matching '=99.99.99'.\n" "error: Could not find npm package '@denotest/esm-basic' matching '=99.99.99'.\n"
)), )),
@ -1706,7 +1706,7 @@ fn reload_info_not_found_cache_but_exists_remote() {
version: &str, version: &str,
) { ) {
let registry_json_path = let registry_json_path =
format!("npm/localhost_4558/{}/registry.json", package); format!("npm/localhost_4260/{}/registry.json", package);
let mut registry_json: Value = let mut registry_json: Value =
serde_json::from_str(&deno_dir.read_to_string(&registry_json_path)) serde_json::from_str(&deno_dir.read_to_string(&registry_json_path))
.unwrap(); .unwrap();
@ -1743,12 +1743,12 @@ fn reload_info_not_found_cache_but_exists_remote() {
.run(); .run();
output.assert_matches_text(concat!( output.assert_matches_text(concat!(
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"Download http://localhost:4558/@denotest/esm-import-cjs-default\n", "Download http://localhost:4260/@denotest/esm-import-cjs-default\n",
"Download http://localhost:4558/@denotest/cjs-default-export\n", "Download http://localhost:4260/@denotest/cjs-default-export\n",
"Download http://localhost:4558/@denotest/cjs-default-export/1.0.0.tgz\n", "Download http://localhost:4260/@denotest/cjs-default-export/1.0.0.tgz\n",
"Download http://localhost:4558/@denotest/esm-basic/1.0.0.tgz\n", "Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz\n",
"Download http://localhost:4558/@denotest/esm-import-cjs-default/1.0.0.tgz\n", "Download http://localhost:4260/@denotest/esm-import-cjs-default/1.0.0.tgz\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
)); ));
@ -1773,8 +1773,8 @@ fn reload_info_not_found_cache_but_exists_remote() {
let output = test_context.new_command().args("run main.ts").run(); let output = test_context.new_command().args("run main.ts").run();
output.assert_matches_text(concat!( output.assert_matches_text(concat!(
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/esm-import-cjs-default\n", "Download http://localhost:4260/@denotest/esm-import-cjs-default\n",
"Download http://localhost:4558/@denotest/cjs-default-export\n", "Download http://localhost:4260/@denotest/cjs-default-export\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
"Node esm importing node cjs\n[WILDCARD]", "Node esm importing node cjs\n[WILDCARD]",
)); ));
@ -1805,8 +1805,8 @@ fn reload_info_not_found_cache_but_exists_remote() {
let output = test_context.new_command().args("run main.ts").run(); let output = test_context.new_command().args("run main.ts").run();
output.assert_matches_text(concat!( output.assert_matches_text(concat!(
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/esm-import-cjs-default\n", "Download http://localhost:4260/@denotest/esm-import-cjs-default\n",
"Download http://localhost:4558/@denotest/cjs-default-export\n", "Download http://localhost:4260/@denotest/cjs-default-export\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
"Node esm importing node cjs\n[WILDCARD]", "Node esm importing node cjs\n[WILDCARD]",
)); ));
@ -1843,8 +1843,8 @@ fn reload_info_not_found_cache_but_exists_remote() {
let output = test_context.new_command().args("run main.ts").run(); let output = test_context.new_command().args("run main.ts").run();
output.assert_matches_text(concat!( output.assert_matches_text(concat!(
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/esm-import-cjs-default\n", "Download http://localhost:4260/@denotest/esm-import-cjs-default\n",
"Download http://localhost:4558/@denotest/cjs-default-export\n", "Download http://localhost:4260/@denotest/cjs-default-export\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Initialize @denotest/cjs-default-export@1.0.0\n", "Initialize @denotest/cjs-default-export@1.0.0\n",
@ -1880,9 +1880,9 @@ fn reload_info_not_found_cache_but_exists_remote() {
let output = test_context.new_command().args("run main.ts").run(); let output = test_context.new_command().args("run main.ts").run();
output.assert_matches_text(concat!( output.assert_matches_text(concat!(
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"Download http://localhost:4558/@denotest/esm-import-cjs-default\n", "Download http://localhost:4260/@denotest/esm-import-cjs-default\n",
"Download http://localhost:4558/@denotest/cjs-default-export\n", "Download http://localhost:4260/@denotest/cjs-default-export\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
"Initialize @denotest/esm-basic@1.0.0\n", "Initialize @denotest/esm-basic@1.0.0\n",
"Node esm importing node cjs\n[WILDCARD]", "Node esm importing node cjs\n[WILDCARD]",
@ -1918,9 +1918,9 @@ fn reload_info_not_found_cache_but_exists_remote() {
let output = test_context.new_command().args("run main.ts").run(); let output = test_context.new_command().args("run main.ts").run();
output.assert_matches_text(concat!( output.assert_matches_text(concat!(
"[UNORDERED_START]\n", "[UNORDERED_START]\n",
"Download http://localhost:4558/@denotest/cjs-default-export\n", "Download http://localhost:4260/@denotest/cjs-default-export\n",
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"Download http://localhost:4558/@denotest/esm-import-cjs-default\n", "Download http://localhost:4260/@denotest/esm-import-cjs-default\n",
"[UNORDERED_END]\n", "[UNORDERED_END]\n",
"Node esm importing node cjs\n[WILDCARD]", "Node esm importing node cjs\n[WILDCARD]",
)); ));
@ -2100,8 +2100,8 @@ fn top_level_install_package_json_explicit_opt_in() {
temp_dir.write("main.ts", "console.log(5);"); temp_dir.write("main.ts", "console.log(5);");
let output = test_context.new_command().args("cache main.ts").run(); let output = test_context.new_command().args("cache main.ts").run();
output.assert_matches_text(concat!( output.assert_matches_text(concat!(
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"Download http://localhost:4558/@denotest/esm-basic/1.0.0.tgz\n", "Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz\n",
"Initialize @denotest/esm-basic@1.0.0\n", "Initialize @denotest/esm-basic@1.0.0\n",
)); ));
@ -3087,7 +3087,7 @@ async fn test_private_npm_registry() {
let client = reqwest::Client::new(); let client = reqwest::Client::new();
let url = Url::parse("http://127.0.0.1:4559/@denotest2/basic").unwrap(); let url = Url::parse("http://127.0.0.1:4261/@denotest2/basic").unwrap();
let req = reqwest::Request::new(reqwest::Method::GET, url.clone()); let req = reqwest::Request::new(reqwest::Method::GET, url.clone());
let resp = client.execute(req).await.unwrap(); let resp = client.execute(req).await.unwrap();

View file

@ -977,8 +977,8 @@ fn lock_redirects() {
.run() .run()
.assert_matches_text(concat!( .assert_matches_text(concat!(
"Download http://localhost:4545/echo.ts\n", "Download http://localhost:4545/echo.ts\n",
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"Download http://localhost:4558/@denotest/esm-basic/1.0.0.tgz\n", "Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz\n",
"Hi, there", "Hi, there",
)); ));
util::assertions::assert_wildcard_match( util::assertions::assert_wildcard_match(
@ -2830,6 +2830,9 @@ mod permissions {
#[test] #[test]
fn net_fetch_allow_localhost_4545() { fn net_fetch_allow_localhost_4545() {
// ensure the http server is running for those tests so they run
// deterministically whether the http server is running or not
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
true, true,
"run --allow-net=localhost:4545 run/complex_permissions_test.ts netFetch http://localhost:4545/", "run --allow-net=localhost:4545 run/complex_permissions_test.ts netFetch http://localhost:4545/",
@ -2842,6 +2845,7 @@ mod permissions {
#[test] #[test]
fn net_fetch_allow_deno_land() { fn net_fetch_allow_deno_land() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
false, false,
"run --allow-net=deno.land run/complex_permissions_test.ts netFetch http://localhost:4545/", "run --allow-net=deno.land run/complex_permissions_test.ts netFetch http://localhost:4545/",
@ -2854,6 +2858,7 @@ mod permissions {
#[test] #[test]
fn net_fetch_localhost_4545_fail() { fn net_fetch_localhost_4545_fail() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
false, false,
"run --allow-net=localhost:4545 run/complex_permissions_test.ts netFetch http://localhost:4546/", "run --allow-net=localhost:4545 run/complex_permissions_test.ts netFetch http://localhost:4546/",
@ -2866,6 +2871,7 @@ mod permissions {
#[test] #[test]
fn net_fetch_localhost() { fn net_fetch_localhost() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
true, true,
"run --allow-net=localhost run/complex_permissions_test.ts netFetch http://localhost:4545/ http://localhost:4546/ http://localhost:4547/", "run --allow-net=localhost run/complex_permissions_test.ts netFetch http://localhost:4545/ http://localhost:4546/ http://localhost:4547/",
@ -2878,6 +2884,7 @@ mod permissions {
#[test] #[test]
fn net_connect_allow_localhost_ip_4555() { fn net_connect_allow_localhost_ip_4555() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
true, true,
"run --allow-net=127.0.0.1:4545 run/complex_permissions_test.ts netConnect 127.0.0.1:4545", "run --allow-net=127.0.0.1:4545 run/complex_permissions_test.ts netConnect 127.0.0.1:4545",
@ -2890,6 +2897,7 @@ mod permissions {
#[test] #[test]
fn net_connect_allow_deno_land() { fn net_connect_allow_deno_land() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
false, false,
"run --allow-net=deno.land run/complex_permissions_test.ts netConnect 127.0.0.1:4546", "run --allow-net=deno.land run/complex_permissions_test.ts netConnect 127.0.0.1:4546",
@ -2902,6 +2910,7 @@ mod permissions {
#[test] #[test]
fn net_connect_allow_localhost_ip_4545_fail() { fn net_connect_allow_localhost_ip_4545_fail() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
false, false,
"run --allow-net=127.0.0.1:4545 run/complex_permissions_test.ts netConnect 127.0.0.1:4546", "run --allow-net=127.0.0.1:4545 run/complex_permissions_test.ts netConnect 127.0.0.1:4546",
@ -2914,6 +2923,7 @@ mod permissions {
#[test] #[test]
fn net_connect_allow_localhost_ip() { fn net_connect_allow_localhost_ip() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
true, true,
"run --allow-net=127.0.0.1 run/complex_permissions_test.ts netConnect 127.0.0.1:4545 127.0.0.1:4546 127.0.0.1:4547", "run --allow-net=127.0.0.1 run/complex_permissions_test.ts netConnect 127.0.0.1:4545 127.0.0.1:4546 127.0.0.1:4547",
@ -2926,9 +2936,10 @@ mod permissions {
#[test] #[test]
fn net_listen_allow_localhost_4555() { fn net_listen_allow_localhost_4555() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
true, true,
"run --allow-net=localhost:4558 run/complex_permissions_test.ts netListen localhost:4558", "run --allow-net=localhost:4588 run/complex_permissions_test.ts netListen localhost:4588",
None, None,
None, None,
false, false,
@ -2938,6 +2949,7 @@ mod permissions {
#[test] #[test]
fn net_listen_allow_deno_land() { fn net_listen_allow_deno_land() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
false, false,
"run --allow-net=deno.land run/complex_permissions_test.ts netListen localhost:4545", "run --allow-net=deno.land run/complex_permissions_test.ts netListen localhost:4545",
@ -2950,6 +2962,7 @@ mod permissions {
#[test] #[test]
fn net_listen_allow_localhost_4555_fail() { fn net_listen_allow_localhost_4555_fail() {
let _http_guard = util::http_server();
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(
false, false,
"run --allow-net=localhost:4555 run/complex_permissions_test.ts netListen localhost:4556", "run --allow-net=localhost:4555 run/complex_permissions_test.ts netListen localhost:4556",
@ -2962,6 +2975,7 @@ mod permissions {
#[test] #[test]
fn net_listen_allow_localhost() { fn net_listen_allow_localhost() {
let _http_guard = util::http_server();
// Port 4600 is chosen to not collide with those used by // Port 4600 is chosen to not collide with those used by
// target/debug/test_server // target/debug/test_server
let (_, err) = util::run_and_collect_output( let (_, err) = util::run_and_collect_output(

View file

@ -579,8 +579,8 @@ fn vendor_npm_node_specifiers() {
output.assert_matches_text(format!( output.assert_matches_text(format!(
concat!( concat!(
"Download http://localhost:4545/vendor/npm_and_node_specifier.ts\n", "Download http://localhost:4545/vendor/npm_and_node_specifier.ts\n",
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"Download http://localhost:4558/@denotest/esm-basic/1.0.0.tgz\n", "Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz\n",
"{}\n", "{}\n",
"Initialize @denotest/esm-basic@1.0.0\n", "Initialize @denotest/esm-basic@1.0.0\n",
"{}\n\n", "{}\n\n",
@ -652,8 +652,8 @@ fn vendor_only_npm_specifiers() {
let output = context.new_command().args("vendor my_app.ts").run(); let output = context.new_command().args("vendor my_app.ts").run();
output.assert_matches_text(format!( output.assert_matches_text(format!(
concat!( concat!(
"Download http://localhost:4558/@denotest/esm-basic\n", "Download http://localhost:4260/@denotest/esm-basic\n",
"Download http://localhost:4558/@denotest/esm-basic/1.0.0.tgz\n", "Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz\n",
"{}\n", "{}\n",
"Initialize @denotest/esm-basic@1.0.0\n", "Initialize @denotest/esm-basic@1.0.0\n",
"{}\n", "{}\n",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
{"name":"normalize-range","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"normalize-range","version":"0.1.0","devDependencies":{"codeclimate-test-reporter":"^0.1.0","coveralls":"^2.11.2","istanbul":"^0.3.17","jscs":"^2.1.1","jshint":"^2.8.0","jshint-stylish":"^2.0.1","mocha":"^2.2.5"},"dist":{"shasum":"7dc10354319857a4bc115926c2c0b46584963102","tarball":"http://localhost:4558/normalize-range/normalize-range-0.1.0.tgz","integrity":"sha512-4fsB/sNmYhDAIP6QbzL9PmwCvnLfWL0Ln69oYIN2oZENUe4rLxjlXjEJuT9idgayeSJA9sMhp5mWsCTVIIpONg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2CC+fsxUBSR/x5AQclibqWsHjYaroDVX0t6mecusFSAiEAuOk6cKVrq/xKaJuUVp/RbahS2+ly1bHziRjjNc0uCTM="}]},"engines":{"node":">=0.10.0"}},"0.1.1":{"name":"normalize-range","version":"0.1.1","devDependencies":{"codeclimate-test-reporter":"^0.1.0","coveralls":"^2.11.2","istanbul":"^0.3.17","jscs":"^2.1.1","jshint":"^2.8.0","jshint-stylish":"^2.0.1","mocha":"^2.2.5"},"dist":{"shasum":"a40ffccb98fe9d3a2ebb52014b0ef42973fe0209","tarball":"http://localhost:4558/normalize-range/normalize-range-0.1.1.tgz","integrity":"sha512-E40wR+fwvuCNoAPhlT89paNVG4Dx+QFWq0P5RPjHtRU0UDWW1Zc4tYGnFqOYCrprKvoUSz0zIW0sYz6bh5gY5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/UFjvwwZGgQcE0y9dcb3t2X+D4WzSxZTxSPaqZdOIQwIgXVUyEpzKlSUVKYlirK2CltJztrd8qLEqwGvmKYTaNu0="}]},"engines":{"node":">=0.10.0"}},"0.1.2":{"name":"normalize-range","version":"0.1.2","devDependencies":{"almost-equal":"^1.0.0","codeclimate-test-reporter":"^0.1.0","coveralls":"^2.11.2","istanbul":"^0.3.17","jscs":"^2.1.1","jshint":"^2.8.0","jshint-stylish":"^2.0.1","mocha":"^2.2.5","stringify-pi":"0.0.3"},"dist":{"shasum":"2d10c06bdfd312ea9777695a4d28439456b75942","tarball":"http://localhost:4558/normalize-range/normalize-range-0.1.2.tgz","integrity":"sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/pPGFro0Dc2jy+Xczxvr24YzO9s1xQynEBZoe2bi1MAiEAu5ZcDlfU7EqSGImCiQY9jpsumxIQCyAlpFAuAnfjDw8="}]},"engines":{"node":">=0.10.0"}}},"modified":"2022-06-22T05:32:01.991Z"} {"name":"normalize-range","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"normalize-range","version":"0.1.0","devDependencies":{"codeclimate-test-reporter":"^0.1.0","coveralls":"^2.11.2","istanbul":"^0.3.17","jscs":"^2.1.1","jshint":"^2.8.0","jshint-stylish":"^2.0.1","mocha":"^2.2.5"},"dist":{"shasum":"7dc10354319857a4bc115926c2c0b46584963102","tarball":"http://localhost:4260/normalize-range/normalize-range-0.1.0.tgz","integrity":"sha512-4fsB/sNmYhDAIP6QbzL9PmwCvnLfWL0Ln69oYIN2oZENUe4rLxjlXjEJuT9idgayeSJA9sMhp5mWsCTVIIpONg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2CC+fsxUBSR/x5AQclibqWsHjYaroDVX0t6mecusFSAiEAuOk6cKVrq/xKaJuUVp/RbahS2+ly1bHziRjjNc0uCTM="}]},"engines":{"node":">=0.10.0"}},"0.1.1":{"name":"normalize-range","version":"0.1.1","devDependencies":{"codeclimate-test-reporter":"^0.1.0","coveralls":"^2.11.2","istanbul":"^0.3.17","jscs":"^2.1.1","jshint":"^2.8.0","jshint-stylish":"^2.0.1","mocha":"^2.2.5"},"dist":{"shasum":"a40ffccb98fe9d3a2ebb52014b0ef42973fe0209","tarball":"http://localhost:4260/normalize-range/normalize-range-0.1.1.tgz","integrity":"sha512-E40wR+fwvuCNoAPhlT89paNVG4Dx+QFWq0P5RPjHtRU0UDWW1Zc4tYGnFqOYCrprKvoUSz0zIW0sYz6bh5gY5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/UFjvwwZGgQcE0y9dcb3t2X+D4WzSxZTxSPaqZdOIQwIgXVUyEpzKlSUVKYlirK2CltJztrd8qLEqwGvmKYTaNu0="}]},"engines":{"node":">=0.10.0"}},"0.1.2":{"name":"normalize-range","version":"0.1.2","devDependencies":{"almost-equal":"^1.0.0","codeclimate-test-reporter":"^0.1.0","coveralls":"^2.11.2","istanbul":"^0.3.17","jscs":"^2.1.1","jshint":"^2.8.0","jshint-stylish":"^2.0.1","mocha":"^2.2.5","stringify-pi":"0.0.3"},"dist":{"shasum":"2d10c06bdfd312ea9777695a4d28439456b75942","tarball":"http://localhost:4260/normalize-range/normalize-range-0.1.2.tgz","integrity":"sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/pPGFro0Dc2jy+Xczxvr24YzO9s1xQynEBZoe2bi1MAiEAu5ZcDlfU7EqSGImCiQY9jpsumxIQCyAlpFAuAnfjDw8="}]},"engines":{"node":">=0.10.0"}}},"modified":"2022-06-22T05:32:01.991Z"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show more