Repository: vercel/next.js
File: turbopack/crates/turbopack-resolve/src/resolve_options_context.rs (Rust)

Code before:
use anyhow::Result;
use bincode::{Decode, Encode};
use turbo_rcstr::RcStr;
use turbo_tasks::{NonLocalValue, ResolvedVc, ValueDefault, Vc, trace::TraceRawVcs};
use turbo_tasks_fs::FileSystemPath;
use turbopack_core::{
    condition::ContextCondition,
    environment::Environment,
    resolve::{
        options::{ImportMap, ResolvedMap},
        plugin::{AfterResolvePlugin, BeforeResolvePlugin},
    },
};

#[derive(Default, Debug, Clone, TraceRawVcs, PartialEq, Eq, NonLocalValue, Encode, Decode)]
pub enum TsConfigHandling {
    /// Ignore tsconfig files
    Disabled,
    #[default]
    /// Find corresponding tsconfig files based on the location of the file
    ContextFile,
    /// Use the provided config file for all files (if it exists, otherwise fall back to
    /// ContextFile)
    Fixed(FileSystemPath),
}

#[turbo_tasks::value(shared)]
#[derive(Default, Clone)]
pub struct ResolveOptionsContext {
    pub emulate_environment: Option<ResolvedVc<Environment>>,
    pub enable_types: bool,
    pub enable_typescript: bool,
    pub enable_react: bool,
    pub enable_node_native_modules: bool,
    // Enable resolving of .mjs files without the .mjs extension
    pub enable_mjs_extension: bool,
    /// Enable resolving of the node_modules folder when within the provided
    /// directory
    pub enable_node_modules: Option<FileSystemPath>,
    /// A specific path to a tsconfig.json file to use for resolving modules. If `None`, one will
    /// be looked up through the filesystem
    pub tsconfig_path: TsConfigHandling,

Review comment (suggestion):
This also disables jsconfig files? https://github.com/vercel/next.js/blob/b186a869dd613ae56434667daa7dab36c12f217b/turbopack/crates/turbopack-resolve/src/typescript.rs#L375

```suggestion
    /// Ignore tsconfig and jsconfig files
```

Code after:
use anyhow::Result;
use bincode::{Decode, Encode};
use turbo_rcstr::RcStr;
use turbo_tasks::{NonLocalValue, ResolvedVc, ValueDefault, Vc, trace::TraceRawVcs};
use turbo_tasks_fs::FileSystemPath;
use turbopack_core::{
    condition::ContextCondition,
    environment::Environment,
    resolve::{
        options::{ImportMap, ResolvedMap},
        plugin::{AfterResolvePlugin, BeforeResolvePlugin},
    },
};

#[derive(Default, Debug, Clone, TraceRawVcs, PartialEq, Eq, NonLocalValue, Encode, Decode)]
pub enum TsConfigHandling {
    /// Ignore tsconfig and jsconfig files
    Disabled,
    #[default]
    /// Find corresponding tsconfig files based on the location of the file
    ContextFile,
    /// Use the provided config file for all files (if it exists, otherwise fall back to
    /// ContextFile)
    Fixed(FileSystemPath),
}

#[turbo_tasks::value(shared)]
#[derive(Default, Clone)]
pub struct ResolveOptionsContext {
    pub emulate_environment: Option<ResolvedVc<Environment>>,
    pub enable_types: bool,
    pub enable_typescript: bool,
    pub enable_react: bool,
    pub enable_node_native_modules: bool,
    // Enable resolving of .mjs files without the .mjs extension
    pub enable_mjs_extension: bool,
    /// Enable resolving of the node_modules folder when within the provided
    /// directory
    pub enable_node_modules: Option<FileSystemPath>,
    /// A specific path to a tsconfig.json file to use for resolving modules. If `None`, one will
    /// be looked up through the filesystem
    pub tsconfig_path: TsConfigHandling,