import/no-commonjs Restriction 
What it does 
Forbids the use of CommonJS require calls. Also forbids module.exports and exports.*.
Why is this bad? 
ESM modules or Typescript uses import and export syntax instead of CommonJS syntax. This rule enforces the use of more modern module systems to improve maintainability and consistency across the codebase.
Examples 
Examples of incorrect code for this rule:
var mod = require("fs");
var exports = (module.exports = {});
exports.sayHello = function() {
  return "Hello";
};
module.exports = "Hola";Examples of correct code for this rule:
var a = b && require("c");
if (typeof window !== "undefined") {
  require("somelib");
}
var fs = null;
try {
  fs = require("fs");
} catch (error) {}Allow require 
If allowRequire option is set to true, require calls are valid:
var mod = require("./mod");but module.exports is reported as usual.
Allow conditional require 
By default, conditional requires are allowed, If the allowConditionalRequire option is set to false, they will be reported.
Allow primitive modules 
If allowPrimitiveModules option is set to true, the following is valid:
module.exports = "foo";
module.exports = function rule(context) {
  return {/* ... */};
};but this is still reported:
module.exports = { x: "y" };
exports.z = function bark() {/* ... */};How to use 
To enable this rule in the CLI or using the config file, you can use:
oxlint --deny import/no-commonjs --import-plugin{
  "plugins": ["import"],
  "rules": {
    "import/no-commonjs": "error"
  }
}