{"_id":"@agilecontent/eslint-config","_rev":"5-9b7a61e81168fd148477f47cdd4bc9d2","name":"@agilecontent/eslint-config","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@agilecontent/eslint-config","version":"1.0.0","author":{"name":"Thiago 'Jedi' Cerqueira","email":"thiago.cerqueira@agilecontent.com"},"license":"Unlicense","_id":"@agilecontent/eslint-config@1.0.0","maintainers":[{"name":"agilecontent","email":"npmjs@agilecontent.com"}],"homepage":"https://github.com/agilecontent/eslint-config#readme","bugs":{"url":"https://github.com/agilecontent/eslint-config/issues"},"dist":{"shasum":"94bb4db425df446a1313fd21b7a6131882d9a7a5","tarball":"https://registry.npmjs.org/@agilecontent/eslint-config/-/eslint-config-1.0.0.tgz","fileCount":15,"integrity":"sha512-yr06YYDpMLN2mQvlz8N4Qz12C+falJsHX0UH35/uPTPHTEtWgHXdO2MsikvtTV3ZiTW/dNECR+B1QCR0mVxpLw==","signatures":[{"sig":"MEUCIQD46PN2ic87PO7U/wLfA1ZNzqvo3mFIztZxk34rjBqn6gIgD7oRkblNySxo4qM5xXe2vYnloV6pi0RB1D7g3Th5wPY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYDNJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRzRAAlTtkG7EiMPSybikb1akrbsAQnoROqxO9uwcXaiHwN+6iVQV6\r\npxwi+hLFIkAeUb2mw+h59EytTYMuxu4bgtR8B/0SNXghJzVN638xSjzJ5z/3\r\n7OCAtXpx8VGhnLgLrD8usUe8BKBcwIY208046no2EafBoY4pzCcA3+/kYu5z\r\nSw1EmxWu4os7/ZpgqWXihCihMal2gmGjw1sct8QHmSr2HKXRjXk+n4hFbwu0\r\ndRSa8Ug1P6RbBkdQwRNd2JJGa0prNQicYf4BtxADkusYsx4r/1dOVugJc8Nc\r\np27f4PkDTsutLizGeVsxai93f7LhZjjLkGbLJfj9+y7A4VSvPrr8lGjiAtwf\r\niayaNkBC7hR/bJ9A+e/Xv/urZffdyOYTWDXF7Lx5CJ3/0alJhtPiIqXoFKhl\r\nd55TeNybKS7A16dT0BjLHT6skf2KoW9F87CB6bjwu/Hwbsrh56nwxBwLMHGw\r\nO/xgT1KZt7ld7Hij/xBsx6n8RbgkH15ed7mqv+gaPL/Rt5rfkxr72fFUOrOu\r\nTnHYLfVwAqmMVcUa1Edxc4swpIxRJXzFpEiYzdXzhtHLUyMIZbvxW8RJtBOR\r\nkeyJ/oy8sqpAqCvZ5qicNsxM7HM7XRl3kGHI+CJ6OegmroAifICzw59z6V1M\r\nQA4zvKY9bD90dXAIg5DY2zAHfZCDERhHZPk=\r\n=Xwgi\r\n-----END PGP SIGNATURE-----\r\n"},"main":".eslintrc.js","gitHead":"4fa1f482827d620984a4d9472584f81aa3a77d40","scripts":{"lint":"lint-staged","prepare":"husky install"},"_npmUser":{"name":"agilecontent","email":"npmjs@agilecontent.com"},"prettier":"@agilecontent/prettier-config","repository":{"url":"git+https://github.com/agilecontent/eslint-config.git","type":"git"},"_npmVersion":"6.14.17","description":"Base config used by Agile Content","directories":{},"lint-staged":{"*.{md,json,js,ts}":"prettier --write"},"_nodeVersion":"14.20.1","dependencies":{"eslint-plugin-react":"^7.29.4","eslint-config-prettier":"^8.5.0","@typescript-eslint/parser":"^5.22.0","eslint-plugin-react-hooks":"^4.5.0","@typescript-eslint/eslint-plugin":"^5.22.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","prettier":"^2.6.2","@types/node":"^17.0.31","lint-staged":"^12.4.1","@agilecontent/prettier-config":"^1.0.0"},"peerDependencies":{"eslint":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.0_1667248969787_0.8197961970846452","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@agilecontent/eslint-config","version":"1.0.1","author":{"name":"Thiago 'Jedi' Cerqueira","email":"thiago.cerqueira@agilecontent.com"},"license":"Unlicense","_id":"@agilecontent/eslint-config@1.0.1","maintainers":[{"name":"agilecontent","email":"npmjs@agilecontent.com"}],"homepage":"https://github.com/agilecontent/eslint-config#readme","bugs":{"url":"https://github.com/agilecontent/eslint-config/issues"},"dist":{"shasum":"78e5b9cd9fbdfb5aa281d9d468c17c41909ba344","tarball":"https://registry.npmjs.org/@agilecontent/eslint-config/-/eslint-config-1.0.1.tgz","fileCount":8,"integrity":"sha512-QFSIfGDak8p/tGdo/knWzaiPsbsM8OjxSddV54e2PReCnJ/qvlIJPZBg5DdCFYSWSG9Wgp6JHOaowy6iswt0Wg==","signatures":[{"sig":"MEYCIQC9a6xPdbPaKfi499lhv78ol1eNj9PyTdV9BCVyA7V3RAIhALI7dPXR2I5KsuojecEGmhs99i54KaRENjemTlUdw5MH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYDdLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2/w/9EcXKu2cM0CC7hcxD52QQ2vFlVQn0akevLqcCqOtyIZSHqj85\r\nalrEgS8QN52VZoBQgVixQPT/0CgQN2i/nF455cI6eeDslRDkO1pwZtK9jtgT\r\nqO0GFm021snOjfgKogoWhWOCUGEXMHZzoR4316X40tqH1TcpBQzuMsaKYtHI\r\n1tNP2gyBSEWJSvWRtGt4C3h4wwlOZdnN0wvGT1oCs9edpGZ5+r9Ms3cW22PR\r\nUrvNPuE4EqnrtlOolatQY+SF+0nw3J4Cva3vA5p1QEMsj7/wKo2vqxReoAXJ\r\n5MqdfTJ21V+Eh07Bxp2tApnvJ/SANPp+2HO0OYJ0P1/C4H65SUOHp2WICd2P\r\nYflqsnsxrbZ1kjMSLNYHFLljBB9hyq4YIqf3EeIv3nrw4Zvj9AzHEXHaiOwH\r\nDxSr3ICuXddpCzVOcNaiSNg/xQRBmGgVD+YKhMytTG9w1qfwwhZdVbJKzmWj\r\nF67Cpf2F2ODczlP56VzNsYxa+usU3q0m4lNgzoEYS2zZwc/8Uv4u2xOo3jwB\r\n0kA/6ZbLktcMyVmsHhYSOxjWvd/8wDDUf7FG2rabUuCVFPtvKCIiMZSPUGx9\r\noFJdBi+cvPcTlRR5L1m5z+FoAY7c+jhdakb/Vwa+yCPSWi3SEFI/hhi106Q1\r\nfNGB4iYrq3HL5c+JCmha9r/hDXkuhxIDucs=\r\n=/ZUE\r\n-----END PGP SIGNATURE-----\r\n"},"main":".eslintrc.js","gitHead":"2e89149268f4cb3ba5fbae44de50541aee1f0e36","scripts":{"lint":"lint-staged","prepare":"husky install"},"_npmUser":{"name":"agilecontent","email":"npmjs@agilecontent.com"},"prettier":"@agilecontent/prettier-config","repository":{"url":"git+https://github.com/agilecontent/eslint-config.git","type":"git"},"_npmVersion":"8.19.2","description":"Base config used by Agile Content","directories":{},"lint-staged":{"*.{md,json,js,ts}":"prettier --write"},"_nodeVersion":"16.18.0","dependencies":{"eslint-plugin-react":"^7.29.4","eslint-config-prettier":"^8.5.0","@typescript-eslint/parser":"^5.22.0","eslint-plugin-react-hooks":"^4.5.0","@typescript-eslint/eslint-plugin":"^5.22.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","prettier":"^2.6.2","@types/node":"^17.0.31","lint-staged":"^12.4.1","@agilecontent/prettier-config":"^1.0.0"},"peerDependencies":{"eslint":">= 8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.1_1667249995140_0.030803267103650667","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@agilecontent/eslint-config","version":"1.0.2","author":{"name":"Thiago 'Jedi' Cerqueira","email":"thiago.cerqueira@agilecontent.com"},"license":"Unlicense","_id":"@agilecontent/eslint-config@1.0.2","maintainers":[{"name":"agilecontent","email":"npmjs@agilecontent.com"}],"homepage":"https://github.com/agilecontent/eslint-config#readme","bugs":{"url":"https://github.com/agilecontent/eslint-config/issues"},"dist":{"shasum":"06b4f314ccd7f268a51c2ecc5a458fddc3daf8aa","tarball":"https://registry.npmjs.org/@agilecontent/eslint-config/-/eslint-config-1.0.2.tgz","fileCount":8,"integrity":"sha512-/k080XDYf9PSZWHVXIc5k8eW4FVmwBcqjwWNrtQYakvn2iq6WnUePeAtaZ9XAMpqjNZcrML/v0qy55KPIhpiNQ==","signatures":[{"sig":"MEYCIQDZtrPJP5RLbgI3mz0XMkfv+W7EUm5uDAgHZow6ZyBsQQIhAOy1EriFDMBIi4rSo0bkNgRxUNKj29hSHiSRJa5p38Al","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5625},"main":".eslintrc.js","gitHead":"741dc923ea566b01b149996720133b0258b95b65","scripts":{"lint":"lint-staged","prepare":"husky install"},"_npmUser":{"name":"agilecontent","email":"npmjs@agilecontent.com"},"prettier":"@agilecontent/prettier-config","repository":{"url":"git+https://github.com/agilecontent/eslint-config.git","type":"git"},"_npmVersion":"9.5.1","description":"Base config used by Agile Content","directories":{},"lint-staged":{"*":"prettier -u --write"},"_nodeVersion":"18.16.0","dependencies":{"eslint-plugin-react":"^7.29.4","eslint-config-prettier":"^8.5.0","@typescript-eslint/parser":"^6.1.0","eslint-plugin-react-hooks":"^4.5.0","@typescript-eslint/eslint-plugin":"^6.1.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","prettier":"^2.6.2","@types/node":"^17.0.31","lint-staged":"^12.4.1","@agilecontent/prettier-config":"^1.0.2"},"peerDependencies":{"eslint":">= 8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.2_1689870978253_0.4849024910089499","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-10-31T20:42:49.786Z","modified":"2025-12-12T13:00:58.372Z","1.0.0":"2022-10-31T20:42:49.929Z","1.0.1":"2022-10-31T20:59:55.271Z","1.0.2":"2023-07-20T16:36:18.464Z"},"bugs":{"url":"https://github.com/agilecontent/eslint-config/issues"},"author":{"name":"Thiago 'Jedi' Cerqueira","email":"thiago.cerqueira@agilecontent.com"},"license":"Unlicense","homepage":"https://github.com/agilecontent/eslint-config#readme","repository":{"url":"git+https://github.com/agilecontent/eslint-config.git","type":"git"},"description":"Base config used by Agile Content","maintainers":[{"email":"npmjs@agilecontent.com","name":"agiletv"}],"readme":"# @agilecontent/eslint-config\n\nBase configuration for eslint, used internally by @agilecontent\n\n## How to use\n\nAdd this repository as a dev dependency, alongside eslint:\n\n```shell\nnpm i -D @agilecontent/eslint-config\n```\n\nor\n\n```\nyarn add -D @agilecontent/eslint-config\n```\n\nExtend this config in your project's. Example with .eslintrc.js:\n\n```js\nmodule.exports = {\n  extends: [\n    //...other extended config\n    '@agilecontent/eslint-config', //or '@agilecontent/eslint-config/frontend' if you use react\n  ],\n  rules: {\n    //Add you own rules here\n  },\n};\n```\n\n**IMPORTANT:** This config includes `eslint-config-prettier`, so it is very important to put this as\nthe **last** extended config\n\n## Rule reasoning\n\n### @agilecontent/eslint-config\n\n- `arrow-body-style`: if the only expression in an arrow function is a `return`, the function should\n  not have braces\n- `no-duplicate-imports`: prevents the imports to become a mess\n- `curly`: adds curly braces to single statement conditionals and loops to prevent prettier to make\n  them single line\n\n### @agilecontent/eslint-config/frontend\n\nEverything in base config, plus:\n\n- Extends `plugin:react/recommended` with recommended rules\n- Extends `plugin:react-hooks/recommended` with rules for react hooks\n- `react/prefer-stateless-function`: if a react class component only has a `render()`, it should be\n  a function component\n- `react/jsx-fragments`: makes explicit the use of react fragment, instead of the `<></>` syntax, as\n  the short syntax does not support attributes (i.e. `key=`)\n- `react/self-closing-comp`: empty components should be self closing (i.e. `<div/>` instead of\n  `<div></div>`)\n\n### @agilecontent/eslint-config/backend\n\nEverything in base config, plus:\n\n- `env.browser` set to false\n\nPlease contribute. 😁\n\n## Contributing\n\nJust create a Pull Request with the reasoning for the change in rules or config.\n\nIf adding a rule that is fixable via `--fix`, set the severity to `\"warn\"`.\n","readmeFilename":"README.md"}