@fenge/eslint-config
Version:
A super strict eslint config for linting js/ts/package.json.
35 lines • 4.26 kB
JavaScript
import * as pkg from "eslint-plugin-pkg-json";
import * as publint from "eslint-plugin-publint";
export function packagejson() {
return [
{
name: "fenge/packagejson",
files: ["**/package.json"],
processor: "pkg-json/processor",
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-types-dependency-in-workspace-root": "error",
"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3BhY2thZ2Vqc29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxNQUFNLFVBQVUsV0FBVztJQUN6QixPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLEtBQUssRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzFCLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxHQUFHO2dCQUNmLE9BQU87YUFDUjtZQUNELEtBQUssRUFBRTtnQkFDTCx5QkFBeUIsRUFBRSxPQUFPO2dCQUNsQyxtQ0FBbUMsRUFBRSxPQUFPO2dCQUM1Qyw0QkFBNEIsRUFBRSxPQUFPO2dCQUNyQyw0Q0FBNEMsRUFBRSxPQUFPO2dCQUNyRCw4QkFBOEIsRUFBRSxPQUFPO2dCQUN2QyxrQ0FBa0MsRUFBRSxPQUFPO2dCQUMzQyxnREFBZ0QsRUFBRSxPQUFPO2dCQUN6RCxvQkFBb0IsRUFBRSxPQUFPO2dCQUM3QixpQ0FBaUMsRUFBRSxPQUFPO2dCQUMxQywrQkFBK0IsRUFBRSxPQUFPO2dCQUN4QywyQkFBMkIsRUFBRSxPQUFPO2dCQUNwQyw0QkFBNEIsRUFBRSxPQUFPO2dCQUNyQyw4QkFBOEIsRUFBRSxPQUFPO2dCQUN2QyxzQkFBc0IsRUFBRSxPQUFPO2dCQUMvQixpQ0FBaUM7Z0JBQ2pDLGlCQUFpQixFQUFFLE9BQU87Z0JBQzFCLGVBQWUsRUFBRSxPQUFPO2FBQ3pCO1NBQ0Y7S0FDTyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBrZyBmcm9tIFwiZXNsaW50LXBsdWdpbi1wa2ctanNvblwiO1xuaW1wb3J0ICogYXMgcHVibGludCBmcm9tIFwiZXNsaW50LXBsdWdpbi1wdWJsaW50XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWNrYWdlanNvbigpIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBuYW1lOiBcImZlbmdlL3BhY2thZ2Vqc29uXCIsXG4gICAgICBmaWxlczogW1wiKiovcGFja2FnZS5qc29uXCJdLFxuICAgICAgcHJvY2Vzc29yOiBcInBrZy1qc29uL3Byb2Nlc3NvclwiLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBcInBrZy1qc29uXCI6IHBrZyxcbiAgICAgICAgcHVibGludCxcbiAgICAgIH0sXG4gICAgICBydWxlczoge1xuICAgICAgICBcInBrZy1qc29uL2JvdHRvbS1kZWZhdWx0XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9leGFjdC1kZXBlbmRlbmN5LXZlcnNpb25cIjogXCJlcnJvclwiLFxuICAgICAgICBcInBrZy1qc29uL25vLWNvbmZsaWN0LXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9uby1kZXBlbmRlbmNpZXMtaW4td29ya3NwYWNlLXJvb3RcIjogXCJlcnJvclwiLFxuICAgICAgICBcInBrZy1qc29uL25vLWxpZmVjeWNsZS1zY3JpcHRcIjogXCJlcnJvclwiLFxuICAgICAgICBcInBrZy1qc29uL25vLW5vbnN0YW5kYXJkLXByb3BlcnR5XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9uby10eXBlcy1kZXBlbmRlbmN5LWluLXdvcmtzcGFjZS1yb290XCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi90b3AtdHlwZXNcIjogXCJlcnJvclwiLFxuICAgICAgICBcInBrZy1qc29uL3ByaXZhdGUtd29ya3NwYWNlLXJvb3RcIjogXCJlcnJvclwiLFxuICAgICAgICBcInBrZy1qc29uL3JlcXVpcmVkLWRldi1lbmdpbmVzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9yZXF1aXJlZC1lbmdpbmVzXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwa2ctanNvbi9yZXF1aXJlZC1oYXNoYmFuZ1wiOiBcImVycm9yXCIsXG4gICAgICAgIFwicGtnLWpzb24vcmVxdWlyZWQtcmVwb3NpdG9yeVwiOiBcImVycm9yXCIsXG4gICAgICAgIFwicGtnLWpzb24vdHlwZS1tb2R1bGVcIjogXCJlcnJvclwiLFxuICAgICAgICAvLyBcInB1YmxpbnQvc3VnZ2VzdGlvblwiOiBcImVycm9yXCIsXG4gICAgICAgIFwicHVibGludC93YXJuaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJwdWJsaW50L2Vycm9yXCI6IFwiZXJyb3JcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgXSBhcyBjb25zdDtcbn1cbiJdfQ==