@fenge/eslint-config
Version:
A super strict eslint config for linting js/ts/package.json.
40 lines • 4.82 kB
JavaScript
import * as pkg from "eslint-plugin-pkg-json";
import parser from "eslint-plugin-pkg-json/jsonc-eslint-parser";
import * as publint from "eslint-plugin-publint";
export function packagejson() {
return [
{
name: "fenge/packagejson",
files: ["**/package.json"],
languageOptions: {
parser,
},
plugins: {
"pkg-json": pkg,
publint,
},
rules: {
"pkg-json/bottom-default": "error",
"pkg-json/exact-dependency-version": "error",
"pkg-json/no-conflict-types": "error",
"pkg-json/no-dependencies-in-workspace-root": "error",
"pkg-json/no-lifecycle-script": "error",
"pkg-json/no-nonstandard-property": "error",
"pkg-json/no-restricted-deps": "error",
"pkg-json/no-types-dependency-in-workspace-root": "error",
"pkg-json/no-types-deps": "warn",
"pkg-json/top-types": "error",
"pkg-json/private-workspace-root": "error",
"pkg-json/required-dev-engines": "error",
"pkg-json/required-engines": "error",
"pkg-json/required-hashbang": "error",
"pkg-json/required-repository": "error",
"pkg-json/type-module": "error",
"publint/suggestion": "error",
"publint/warning": "error",
"publint/error": "error",
},
},
];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3BhY2thZ2Vqc29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxNQUFNLE1BQU0sNENBQTRDLENBQUM7QUFDaEUsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxNQUFNLFVBQVUsV0FBVztJQUN6QixPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLEtBQUssRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzFCLGVBQWUsRUFBRTtnQkFDZixNQUFNO2FBQ1A7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsVUFBVSxFQUFFLEdBQUc7Z0JBQ2YsT0FBTzthQUNSO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLHlCQUF5QixFQUFFLE9BQU87Z0JBQ2xDLG1DQUFtQyxFQUFFLE9BQU87Z0JBQzVDLDRCQUE0QixFQUFFLE9BQU87Z0JBQ3JDLDRDQUE0QyxFQUFFLE9BQU87Z0JBQ3JELDhCQUE4QixFQUFFLE9BQU87Z0JBQ3ZDLGtDQUFrQyxFQUFFLE9BQU87Z0JBQzNDLDZCQUE2QixFQUFFLE9BQU87Z0JBQ3RDLGdEQUFnRCxFQUFFLE9BQU87Z0JBQ3pELHdCQUF3QixFQUFFLE1BQU07Z0JBQ2hDLG9CQUFvQixFQUFFLE9BQU87Z0JBQzdCLGlDQUFpQyxFQUFFLE9BQU87Z0JBQzFDLCtCQUErQixFQUFFLE9BQU87Z0JBQ3hDLDJCQUEyQixFQUFFLE9BQU87Z0JBQ3BDLDRCQUE0QixFQUFFLE9BQU87Z0JBQ3JDLDhCQUE4QixFQUFFLE9BQU87Z0JBQ3ZDLHNCQUFzQixFQUFFLE9BQU87Z0JBQy9CLG9CQUFvQixFQUFFLE9BQU87Z0JBQzdCLGlCQUFpQixFQUFFLE9BQU87Z0JBQzFCLGVBQWUsRUFBRSxPQUFPO2FBQ3pCO1NBQ0Y7S0FDTyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBrZyBmcm9tIFwiZXNsaW50LXBsdWdpbi1wa2ctanNvblwiO1xuaW1wb3J0IHBhcnNlciBmcm9tIFwiZXNsaW50LXBsdWdpbi1wa2ctanNvbi9qc29uYy1lc2xpbnQtcGFyc2VyXCI7XG5pbXBvcnQgKiBhcyBwdWJsaW50IGZyb20gXCJlc2xpbnQtcGx1Z2luLXB1YmxpbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhY2thZ2Vqc29uKCkge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIG5hbWU6IFwiZmVuZ2UvcGFja2FnZWpzb25cIixcbiAgICAgIGZpbGVzOiBbXCIqKi9wYWNrYWdlLmpzb25cIl0sXG4gICAgICBsYW5ndWFnZU9wdGlvbnM6IHtcbiAgICAgICAgcGFyc2VyLFxuICAgICAgfSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgXCJwa2ctanNvblwiOiBwa2csXG4gICAgICAgIHB1YmxpbnQsXG4gICAgICB9LFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJwa2ctanNvbi9ib3R0b20tZGVmYXVsdFwiOiBcImVycm9yXCIsXG4gICAgICAgIFwicGtnLWpzb24vZXhhY3QtZGVwZW5kZW5jeS12ZXJzaW9uXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9uby1jb25mbGljdC10eXBlc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwicGtnLWpzb24vbm8tZGVwZW5kZW5jaWVzLWluLXdvcmtzcGFjZS1yb290XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9uby1saWZlY3ljbGUtc2NyaXB0XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9uby1ub25zdGFuZGFyZC1wcm9wZXJ0eVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwicGtnLWpzb24vbm8tcmVzdHJpY3RlZC1kZXBzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9uby10eXBlcy1kZXBlbmRlbmN5LWluLXdvcmtzcGFjZS1yb290XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9uby10eXBlcy1kZXBzXCI6IFwid2FyblwiLFxuICAgICAgICBcInBrZy1qc29uL3RvcC10eXBlc1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwicGtnLWpzb24vcHJpdmF0ZS13b3Jrc3BhY2Utcm9vdFwiOiBcImVycm9yXCIsXG4gICAgICAgIFwicGtnLWpzb24vcmVxdWlyZWQtZGV2LWVuZ2luZXNcIjogXCJlcnJvclwiLFxuICAgICAgICBcInBrZy1qc29uL3JlcXVpcmVkLWVuZ2luZXNcIjogXCJlcnJvclwiLFxuICAgICAgICBcInBrZy1qc29uL3JlcXVpcmVkLWhhc2hiYW5nXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9yZXF1aXJlZC1yZXBvc2l0b3J5XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi90eXBlLW1vZHVsZVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwicHVibGludC9zdWdnZXN0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwdWJsaW50L3dhcm5pbmdcIjogXCJlcnJvclwiLFxuICAgICAgICBcInB1YmxpbnQvZXJyb3JcIjogXCJlcnJvclwiLFxuICAgICAgfSxcbiAgICB9LFxuICBdIGFzIGNvbnN0O1xufVxuIl19