summaryrefslogtreecommitdiff
path: root/runtime/ops/bootstrap.rs
diff options
context:
space:
mode:
authorBartek Iwańczuk <biwanczuk@gmail.com>2024-01-23 15:33:07 +0100
committerGitHub <noreply@github.com>2024-01-23 15:33:07 +0100
commit427b73c3ec1e01ca8c670d403a85fcf31777d253 (patch)
treebe2fca19021b892c4137abca8f7bfc35f87f72ca /runtime/ops/bootstrap.rs
parentebe4c1421e13e61295221982900ac5b77c848227 (diff)
feat: warn when using --unstable, prefer granular flags (#21452)
This commit deprecates "--unstable" flag. When "--unstable" flag is encountered a warning like this is printed: ``` The `--unstable` flag is deprecated, use granular `--unstable-*` flags instead. Learn more at: https://docs.deno.com/runtime/manual/tools/unstable_flags ``` When "--unstable" flag is used and an unstable API is called an additional warning like this is printed for each API call: ``` The `Deno.dlopen` API was used with `--unstable` flag. The `--unstable` flag is deprecated, use granular `--unstable-ffi` instead. Learn more at: https://docs.deno.com/runtime/manual/tools/unstable_flags ``` When no "--unstable-*" flag is provided and an unstable API is called following warning is issued before exiting: ``` Unstable API 'Deno.dlopen'. The `--unstable-ffi` flag must be provided. ``` --------- Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com> Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com> Co-authored-by: Asher Gomez <ashersaupingomez@gmail.com>
Diffstat (limited to 'runtime/ops/bootstrap.rs')
-rw-r--r--runtime/ops/bootstrap.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/runtime/ops/bootstrap.rs b/runtime/ops/bootstrap.rs
index 1d4039d73..7de532a9f 100644
--- a/runtime/ops/bootstrap.rs
+++ b/runtime/ops/bootstrap.rs
@@ -17,6 +17,7 @@ deno_core::extension!(
op_bootstrap_log_level,
op_bootstrap_no_color,
op_bootstrap_is_tty,
+ op_bootstrap_unstable_args,
op_snapshot_options,
],
options = {
@@ -70,6 +71,23 @@ pub fn op_bootstrap_user_agent(state: &mut OpState) -> String {
}
#[op2]
+#[serde]
+pub fn op_bootstrap_unstable_args(state: &mut OpState) -> Vec<String> {
+ let options = state.borrow::<BootstrapOptions>();
+ if options.unstable {
+ return vec!["--unstable".to_string()];
+ }
+
+ let mut flags = Vec::new();
+ for (name, _, id) in crate::UNSTABLE_GRANULAR_FLAGS.iter() {
+ if options.unstable_features.contains(id) {
+ flags.push(format!("--unstable-{}", name));
+ }
+ }
+ flags
+}
+
+#[op2]
#[string]
pub fn op_bootstrap_language(state: &mut OpState) -> String {
state.borrow::<BootstrapOptions>().locale.clone()