mirror of
https://github.com/denoland/deno.git
synced 2025-02-07 23:06:50 -05:00
fix: respect unstable "temporal" configuration in config file (#22134)
Actual fix happened in https://github.com/denoland/deno/pull/22782, but this commit adds additional tests and cleans up V8 flags passed on init. Closes https://github.com/denoland/deno/issues/22123 Closes https://github.com/denoland/deno/issues/22560 Closes https://github.com/denoland/deno/issues/22557
This commit is contained in:
parent
2d5b19277b
commit
2ed984ba3a
6 changed files with 52 additions and 21 deletions
13
cli/main.rs
13
cli/main.rs
|
@ -372,18 +372,7 @@ pub fn main() {
|
||||||
// Using same default as VSCode:
|
// Using same default as VSCode:
|
||||||
// https://github.com/microsoft/vscode/blob/48d4ba271686e8072fc6674137415bc80d936bc7/extensions/typescript-language-features/src/configuration/configuration.ts#L213-L214
|
// https://github.com/microsoft/vscode/blob/48d4ba271686e8072fc6674137415bc80d936bc7/extensions/typescript-language-features/src/configuration/configuration.ts#L213-L214
|
||||||
DenoSubcommand::Lsp => vec!["--max-old-space-size=3072".to_string()],
|
DenoSubcommand::Lsp => vec!["--max-old-space-size=3072".to_string()],
|
||||||
_ => {
|
_ => vec![],
|
||||||
if flags.unstable_config.legacy_flag_enabled
|
|
||||||
|| flags
|
|
||||||
.unstable_config
|
|
||||||
.features
|
|
||||||
.contains(&"temporal".to_string())
|
|
||||||
{
|
|
||||||
vec!["--harmony-temporal".to_string()]
|
|
||||||
} else {
|
|
||||||
vec![]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
init_v8_flags(&default_v8_flags, &flags.v8_flags, get_v8_flags_from_env());
|
init_v8_flags(&default_v8_flags, &flags.v8_flags, get_v8_flags_from_env());
|
||||||
deno_core::JsRuntime::init_platform(None);
|
deno_core::JsRuntime::init_platform(None);
|
||||||
|
|
|
@ -87,12 +87,7 @@ pub static UNSTABLE_GRANULAR_FLAGS: &[(
|
||||||
"Enable unstable net APIs",
|
"Enable unstable net APIs",
|
||||||
7,
|
7,
|
||||||
),
|
),
|
||||||
(
|
("temporal", "Enable unstable Temporal API", 8),
|
||||||
"temporal",
|
|
||||||
"Enable unstable Temporal API",
|
|
||||||
// Not used in JS
|
|
||||||
8,
|
|
||||||
),
|
|
||||||
(
|
(
|
||||||
"unsafe-proto",
|
"unsafe-proto",
|
||||||
"Enable unsafe __proto__ support. This is a security risk.",
|
"Enable unsafe __proto__ support. This is a security risk.",
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||||
|
|
||||||
|
use deno_core::serde_json;
|
||||||
use test_util as util;
|
use test_util as util;
|
||||||
use util::assert_contains;
|
use util::assert_contains;
|
||||||
use util::assert_not_contains;
|
use util::assert_not_contains;
|
||||||
|
@ -1140,6 +1141,7 @@ fn granular_unstable_features() {
|
||||||
"--output",
|
"--output",
|
||||||
&exe.to_string_lossy(),
|
&exe.to_string_lossy(),
|
||||||
"--unstable-kv",
|
"--unstable-kv",
|
||||||
|
"--unstable-temporal",
|
||||||
"./compile/unstable_features.ts",
|
"./compile/unstable_features.ts",
|
||||||
])
|
])
|
||||||
.run();
|
.run();
|
||||||
|
@ -1147,7 +1149,41 @@ fn granular_unstable_features() {
|
||||||
output.skip_output_check();
|
output.skip_output_check();
|
||||||
let output = context.new_command().name(&exe).run();
|
let output = context.new_command().name(&exe).run();
|
||||||
output.assert_exit_code(0);
|
output.assert_exit_code(0);
|
||||||
output.assert_matches_text("Kv {}\n");
|
output.assert_matches_text("Kv {}\nObject [Temporal] {}\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn granular_unstable_features_config_file() {
|
||||||
|
let context = TestContextBuilder::new().build();
|
||||||
|
let dir = context.temp_dir();
|
||||||
|
let exe = if cfg!(windows) {
|
||||||
|
dir.path().join("app.exe")
|
||||||
|
} else {
|
||||||
|
dir.path().join("app")
|
||||||
|
};
|
||||||
|
dir.write(
|
||||||
|
"deno.json",
|
||||||
|
serde_json::to_string_pretty(&serde_json::json!({
|
||||||
|
"unstable": ["kv", "temporal"]
|
||||||
|
}))
|
||||||
|
.unwrap(),
|
||||||
|
);
|
||||||
|
let output = context
|
||||||
|
.new_command()
|
||||||
|
.args_vec([
|
||||||
|
"compile",
|
||||||
|
"--config",
|
||||||
|
&dir.path().join("deno.json").to_string(),
|
||||||
|
"--output",
|
||||||
|
&exe.to_string_lossy(),
|
||||||
|
"./compile/unstable_features.ts",
|
||||||
|
])
|
||||||
|
.run();
|
||||||
|
output.assert_exit_code(0);
|
||||||
|
output.skip_output_check();
|
||||||
|
let output = context.new_command().name(&exe).run();
|
||||||
|
output.assert_exit_code(0);
|
||||||
|
output.assert_matches_text("Kv {}\nObject [Temporal] {}\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -5060,14 +5060,21 @@ Warning Sloppy module resolution (hint: specify path to index.tsx file in direct
|
||||||
}
|
}
|
||||||
|
|
||||||
itest!(unstable_temporal_api {
|
itest!(unstable_temporal_api {
|
||||||
args: "run --unstable-temporal --check run/unstable_temporal_api/main.ts",
|
args: "run --no-config --unstable-temporal --check run/unstable_temporal_api/main.ts",
|
||||||
|
output: "run/unstable_temporal_api/main.out",
|
||||||
|
http_server: false,
|
||||||
|
exit_code: 0,
|
||||||
|
});
|
||||||
|
|
||||||
|
itest!(unstable_temporal_api_config_file {
|
||||||
|
args: "run --check run/unstable_temporal_api/main.ts",
|
||||||
output: "run/unstable_temporal_api/main.out",
|
output: "run/unstable_temporal_api/main.out",
|
||||||
http_server: false,
|
http_server: false,
|
||||||
exit_code: 0,
|
exit_code: 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
itest!(unstable_temporal_api_missing_flag {
|
itest!(unstable_temporal_api_missing_flag {
|
||||||
args: "run run/unstable_temporal_api/missing_flag.js",
|
args: "run --no-config run/unstable_temporal_api/missing_flag.js",
|
||||||
output: "run/unstable_temporal_api/missing_flag.out",
|
output: "run/unstable_temporal_api/missing_flag.out",
|
||||||
http_server: false,
|
http_server: false,
|
||||||
exit_code: 1,
|
exit_code: 1,
|
||||||
|
|
1
tests/testdata/compile/unstable_features.ts
vendored
1
tests/testdata/compile/unstable_features.ts
vendored
|
@ -1,2 +1,3 @@
|
||||||
const db = await Deno.openKv();
|
const db = await Deno.openKv();
|
||||||
console.log(db);
|
console.log(db);
|
||||||
|
console.log(Temporal);
|
||||||
|
|
3
tests/testdata/run/unstable_temporal_api/deno.json
vendored
Normal file
3
tests/testdata/run/unstable_temporal_api/deno.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"unstable": ["temporal"]
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue