Skip to content
← Back to rules

unicorn/prefer-structured-clone Style

💡 A suggestion is available for this rule.

What it does ​

Prefer using structuredClone to create a deep clone.

Why is this bad? ​

structuredClone is the modern way to create a deep clone of a value.

Examples ​

Examples of incorrect code for this rule:

js
const clone = JSON.parse(JSON.stringify(foo));

const clone = _.cloneDeep(foo);

Examples of correct code for this rule:

js
const clone = structuredClone(foo);

Configuration ​

This rule accepts a configuration object with the following properties:

functions ​

type: string[]

default: ["cloneDeep", "utils.clone"]

List of functions that are allowed to be used for deep cloning instead of structuredClone.

How to use ​

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "unicorn/prefer-structured-clone": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "unicorn/prefer-structured-clone": "error",
  },
});
bash
oxlint --deny unicorn/prefer-structured-clone

Version ​

This rule was added in v0.9.0.

References ​