mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
add first test cases related to the 'paths' config Note that the test cases and configuration format is not the same as the original ESLint rule. What is the oxc team strategy to develop such a rule? Is it ok to adapt the config format ? --- I started a discussion here : https://github.com/oxc-project/oxc/discussions/7534#discussion-7574282 I copy/paste the content here. Maybe it is more relevant? I am working to implement [this no-restricted-imports rule](https://eslint.org/docs/latest/rules/no-restricted-imports). I have several problems: How to handle multiple format configuration in rust? The eslint config can be: "fs", ["fs"], or {paths: [{name: "fs"}]}. But Rust needs only one type. I don't know how to do this in rust. Is it ok to cover only the {paths: [{name: "fs"}]} case ? How to parse this config with the from_configuration method? Here is what I have done: ``` fn from_configuration(value: serde_json::Value) -> Self { let mut paths = Vec::new(); let mut patterns = Vec::new(); if let Some(obj) = value.as_object() { // Handle paths array if let Some(paths_value) = obj.get("paths") { if let Some(paths_array) = paths_value.as_array() { for path_value in paths_array { if let Ok(path) = serde_json::from_value(path_value.clone()) { paths.push(path); } } } } // Handle patterns array if let Some(patterns_value) = obj.get("patterns") { if let Some(patterns_array) = patterns_value.as_array() { for pattern_value in patterns_array { if let Ok(pattern) = serde_json::from_value(pattern_value.clone()) { patterns.push(pattern); } } } } } Self { paths, patterns } } ```` But here is my result: ``` [RestrictedPath { name: "foo", import_names: None, message: None }] -------- rule config -------- { "paths": [ { "name": "foo", "importNames": [ "AllowedObject" ] } ] } ``` Note the "None" values |
||
|---|---|---|
| .. | ||
| examples | ||
| fixtures | ||
| src | ||
| tests | ||
| Cargo.toml | ||
| CHANGELOG.md | ||