{"_id":"@bldr-pkgs/eslint-config","_rev":"2-5585d795c73865551f140c0e8244a372","name":"@bldr-pkgs/eslint-config","dist-tags":{"latest":"2.0.2"},"versions":{"2.0.0":{"name":"@bldr-pkgs/eslint-config","version":"2.0.0","description":"Boulder's ESLint rules","main":"index.js","repository":{"type":"git","url":"git+https://github.com/boulder/bldr-eslint-config.git"},"dependencies":{"@typescript-eslint/eslint-plugin":"^5.36.2","@typescript-eslint/parser":"^5.36.2","eslint-config-airbnb":"^19.0.4","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^2.7.1","typescript":"^4.8.3"},"gitHead":"83da75c9c22d47c95b39c618f514d66f3c16bc2b","bugs":{"url":"https://github.com/boulder/bldr-eslint-config/issues"},"homepage":"https://github.com/boulder/bldr-eslint-config#readme","_id":"@bldr-pkgs/eslint-config@2.0.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-I/4bhv5BbgyYmFYirnobU+t3YNl3DTqPNJs5btbdqWhDOPzhdRc8OTj8hxgVDRLpysIV+em5YwnlY/JHVyDthQ==","shasum":"d41b095af406852ea5c0fbac9ab690ca5ec3653a","tarball":"https://registry.npmjs.org/@bldr-pkgs/eslint-config/-/eslint-config-2.0.0.tgz","fileCount":6,"unpackedSize":8345,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDArVSk/jT1iFOh06hlLp91RZyW1BtnhmKFxpwWMnAIQIhAO1sLEU4qkvKEVkc9Z/2DAV1QrIk9RvG90JNgYWpI/fX"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtH0yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo//RAAk5mA08sTOWjfQatN+nyuHH5p37mPLFFra04Me+lMKchNKFoe\r\nrLe6MUOGDi+uChbStJoMLrv5aYhM8h9+0M7xQuY6i3LQL94k4j73PtLxnYER\r\naIXNO4H5elhomrWth8Rrn/qU4B25nTXvbSUYiJ2Nh20sG1hVaZ98kS5ANTT/\r\nMYuZbO6fo+dPL1D/f1k/wGVcBnTmMRxcDnVFekMvNJRrfe5VSC40wbrRdzY5\r\nuQVmDjPfiCjuHYwD1YIwVydGEQmK8wQHu+VWWQuHARNDzm8jkGiqwcQNRF/g\r\neJfQIL6ZQHked/u68+RUg6bjw68bQaGOXvV+pS+D99MMH8qhxlC5lOWcV8mW\r\ndkC8YVMQmDYMM/JzZNt7YMNVhneTjIn4GZ+1RhJN+nTd8aOX0iiCsb0+TcPg\r\nB2VC0kDhkxdCWOE0R5Kq6ZXLgkrOl2p1cmOrvCHbJbIYSWL/LsIgon3EZuck\r\njf9csm+n2kUku8gBoM+8jOoqdSe2U5UTLSPurwTsDswnAqy6eNV7WrH9hbEI\r\nx8Mg83MPz6UWLFqEYbWw27UVkE2zye/iT9RIC2j+UJ2hyVsgSfC4wxz8oOO3\r\ns3u67vNjS0JL07bhlNJl54ghEOeCNlYHFvTzfY0To1LjP/ABFOVT8la2Y01U\r\n7AAW5UiefDQh+6DLi7r8+o+TkfITikxAnZc=\r\n=YMMA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bldr-operations","email":"operations@boulder.se"},"directories":{},"maintainers":[{"name":"eekan","email":"erik@boulder.se"},{"name":"andersroseen","email":"anders@boulder.se"},{"name":"bldr-operations","email":"operations@boulder.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-config_2.0.0_1672772913991_0.273671088982931"},"_hasShrinkwrap":false},"2.0.1":{"name":"@bldr-pkgs/eslint-config","version":"2.0.1","description":"Boulder's ESLint rules","main":"index.js","repository":{"type":"git","url":"git+https://github.com/boulder/bldr-eslint-config.git"},"dependencies":{"@typescript-eslint/eslint-plugin":"^5.36.2","@typescript-eslint/parser":"^5.36.2","eslint-config-airbnb":"^19.0.4","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^2.7.1","typescript":"^4.8.3"},"gitHead":"227cf8c03913f0d8aac1a3fee4e2d2d14c5ddf12","bugs":{"url":"https://github.com/boulder/bldr-eslint-config/issues"},"homepage":"https://github.com/boulder/bldr-eslint-config#readme","_id":"@bldr-pkgs/eslint-config@2.0.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-8aVQ65A7ZPx6JNfDNbqDfMV8SFKo2D53IJZnrUDY3m9lFAkR0G6FIpqvstvPXISpCi51zG6TpH2OjZixizvRzA==","shasum":"650b5f4e8ed5ffdd48a461b788a9691bc436f5e9","tarball":"https://registry.npmjs.org/@bldr-pkgs/eslint-config/-/eslint-config-2.0.1.tgz","fileCount":6,"unpackedSize":8375,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGa2oqLgqu4XKV8Z49B8yzsNaZjtC5Qa16/N1JRdv4E+AiAJ1x/eMDfBaCjoN56H9fqDGRzmu9eGNgIbda9qH4PsJw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtW4qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmovqQ/9HfKjx2FzVCKkVO3hTUNV7dswBPepy1yVXKiLA489aBXhDrEJ\r\nYfcC+ceNbAd4Rs/EpEu4gRMZlb4fLmhOFHuaCC4UCkGi4ZPx+0qmf4P829Ek\r\nEDYL09kTmF7ZWNE+o6+IBZfiyCiR9yoldcfFGm5gukVPzJtb+Y4aCp/EVV/V\r\nkxWt4Js6KZuu1xcNFBXAZr3UL8V8LxoYoHYECDJOpwxb0djP5jwXsO0eWtLQ\r\nmCsv2SLSl/QRKRhGqGB9iKClTfnaGRJ9ABFjGdzoqtuwU+G4AIyNXlWJwdzB\r\nLpVnDj8pHHBAzcQfUZSoln9DhLJHbI6i9ipsABabfvt6pt2n6kmNCb1bisi+\r\nMRuQZZstMbk2prnSVcYg1p1f4ZrjAGuCRGh05Wn9NQfiHth675jGvanQD1qG\r\nqbX9BBkHWTTabPyU8qElbFfrmdZz95U6zxUdnawsaLcpiGq6wyOEKq3jZ71q\r\nam1mNR3mp16uVbi/X1GWYdHvbUYh0MmOrVEJxqt753zhP0CI12TaGMMGXak8\r\nRvXVFA1+H6B2huTWvyxCJ9UcbQ7+LGQyNDNbx39FHGRH2MboC5iNOMYx2OOk\r\n1yjfrGTGJvAbWwpcV8qh0OFRlpKdTiM8QwSUhSZOXKtt+ZJVWobbK00wxVLw\r\ndM0ZzzCfNxrlXPL+t6U8qHjiNfLz7ngsUQM=\r\n=WYGN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bldr-operations","email":"operations@boulder.se"},"directories":{},"maintainers":[{"name":"eekan","email":"erik@boulder.se"},{"name":"andersroseen","email":"anders@boulder.se"},{"name":"bldr-operations","email":"operations@boulder.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-config_2.0.1_1672834602426_0.6746694316889448"},"_hasShrinkwrap":false},"2.0.2":{"name":"@bldr-pkgs/eslint-config","version":"2.0.2","description":"Boulder's ESLint rules","main":"index.js","repository":{"type":"git","url":"git+https://github.com/boulder/bldr-eslint-config.git"},"dependencies":{"@typescript-eslint/eslint-plugin":"^5.36.2","@typescript-eslint/parser":"^5.36.2","eslint-config-airbnb":"^19.0.4","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^2.7.1","typescript":"^4.8.3"},"gitHead":"407afd32d85631cc706eeefe2e9d31d5d44ea007","bugs":{"url":"https://github.com/boulder/bldr-eslint-config/issues"},"homepage":"https://github.com/boulder/bldr-eslint-config#readme","_id":"@bldr-pkgs/eslint-config@2.0.2","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-8qazd0fQl0kjOUP+atOZVZ8eHmLMu+s1sDQnABoeYFSdjMD16lMLQc9X3JdRWJ2sWYDoPYJD5xIo1Q64DR5ivQ==","shasum":"8c05411765ea39d50056a13854f6f6dbb12c559c","tarball":"https://registry.npmjs.org/@bldr-pkgs/eslint-config/-/eslint-config-2.0.2.tgz","fileCount":6,"unpackedSize":8571,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdwB6A75aoPTZm1IVeloMWG7DjlUlYYqhBHQbCAclYcQIgHcbqFssizg1sJ6Rcw8sEpq4wiFD17qetjfSKlagn7I4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj47iIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtoA//bYqjeJlpWNtuoDYZ6cYimUlDDC8cWtxJAeU0s77eRHePmvB7\r\nbVdul1fg/HTc7P1iNMx1pXoAMLwGE/yueH0Wmj7x3i/GmZGNjhKrt2VmxULv\r\ncR7UWiK/CXYgwWyH02rSGuccR5/TcR22iW7jtM2f5YCWJlmR2ytBLEw6abA5\r\ncRmWQ4zwHerAUDFIvwKdejAnnjMJ4etu5/rGJQQC6LnkUnYBJRGhlUYXruQb\r\nwBNHegZxYwB6JnFGpSb8LkhPVkLWDQ5EC8h/sqwntmgowTxatI2lEGtBxin0\r\ncdkmHgT0AMLbfiZpqbCdzwLF6MxW7cV31u9tpoOglxRTlLtK8NtTulYmmPMy\r\nm+v9cC6yJe+BI95I1rJoFjjw9ruHxY6in1MmpZbljNu3RUDTS5o8oF1NDE/6\r\n7LId/Xu72pa8wv3byj+UkUkCvBeRPxkwN9PRKyNo/nCmYgtPIS55VCOJV1Fu\r\n7Yr4+9rPAVpL8zXDj9x30tRMpu73yMZapl9CzereshAtB1fjqVG8EdsbE0UU\r\nMFrPWaVuyFsAtZ7tkDQyrNE+mIDp5zUVFsULN7mwi0Sff2crAZAY/Yak9cri\r\n7Ow/5y3yNWtsRxlT98y+Kg8iBAP0FJ5Nm3kZIcQ1RwYW0k8+yihbdP17ZyAC\r\naOhwGiyu9wa/AVMQEla65jncFo+PnFbBvmw=\r\n=vYZo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"eekan","email":"erik@boulder.se"},"directories":{},"maintainers":[{"name":"eekan","email":"erik@boulder.se"},{"name":"andersroseen","email":"anders@boulder.se"},{"name":"bldr-operations","email":"operations@boulder.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-config_2.0.2_1675868295871_0.9124420516776535"},"_hasShrinkwrap":false}},"time":{"created":"2023-01-03T19:08:33.886Z","2.0.0":"2023-01-03T19:08:34.176Z","modified":"2023-02-08T14:58:16.182Z","2.0.1":"2023-01-04T12:16:42.630Z","2.0.2":"2023-02-08T14:58:16.065Z"},"maintainers":[{"name":"eekan","email":"erik@boulder.se"},{"name":"andersroseen","email":"anders@boulder.se"},{"name":"bldr-operations","email":"operations@boulder.se"}],"description":"Boulder's ESLint rules","homepage":"https://github.com/boulder/bldr-eslint-config#readme","repository":{"type":"git","url":"git+https://github.com/boulder/bldr-eslint-config.git"},"bugs":{"url":"https://github.com/boulder/bldr-eslint-config/issues"},"readme":"# Boulder ESLint configuration\n\nBoulder's ESLint rules for our JS/TS projects. The ruleset is mostly based on [Airbnb's JavaScript Style Guide][airbnb] and [Prettier's opinionated code formatting setup][prettier].\n\n---\n\n## 1. Usage\n\n### 1.A Installation\n\n1. Install the config as one of your project's `devDependencies`. No other ESLint and/or Prettier dependencies are needed (these are included in the our npm package).\n\n```bash\nnpm install --save-dev @bldr-pkgs/eslint-config\n```\n\n2. Add linting scripts to your `package.json`.\n\n```json\n  \"scripts\": {\n    // ...other scripts\n    \"eslint\": \"eslint src --ext .js,.jsx,.ts,.tsx\",\n    \"eslint-fix\": \"eslint src --ext .js,.jsx,.ts,.tsx --fix\"\n  }\n```\n\nThese scripts are very useful in combination with the below `vscode` config (which will fix all fixable issues on save):\n\n```json\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll\": true\n  },\n```\n\n### 1.B Project configuration\n\nThe package includes four different configurations which can be combined depending on specific project needs. These are:\n\n- `@bldr-pkgs/eslint-config/base`\n- `@bldr-pkgs/eslint-config/react`\n- `@bldr-pkgs/eslint-config/typescript`\n- `@bldr-pkgs/eslint-config/prettier`\n\n#### Base configuration\n\nYou should **always** include the `@bldr-pkgs/eslint-config/base` config, regardless of project setup.\n\nHence, add an `.eslintrc.json` file with **at least** the following content:\n\n```json\n{\n  \"root\": true,\n  \"extends\": \"@bldr-pkgs/eslint-config/base\"\n}\n```\n\n#### Other configs\n\nDepending on your project needs (React, TypeScript etc), you can include other configs in the `extends` property. Note that the _order in which you include the configs in the array matter_ – latter configs override rules stated in former configs in case of conflict.\n\n```json\n{\n  \"root\": true,\n  \"extends\": [\n    \"@bldr-pkgs/eslint-config/react\",\n    \"@bldr-pkgs/eslint-config/base\",\n    \"@bldr-pkgs/eslint-config/typescript\",\n    \"@bldr-pkgs/eslint-config/prettier\"\n  ]\n}\n```\n\nThis is further exemplified in the [`demo/src`](demo/src) folder.\n\n### 1.C Install the ESLint VS Code extension (optional)\n\nThe [VS Code ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) uses the installed ESLint library in the workspace folder. It gives immediate visual linting feedback in your files.\n\n## 2. Developing\n\nIt's possible to publish packages locally by running the below command in the root of this project.\n\n```bash\nnpm pack\n```\n\nThe generated `.tgz` file can be used to install the package in another project, _e.g._:\n\n```bash\nnpm install --save-dev ../eslint-config/bldr-pkgs-eslint-config-2.0.2.tgz\n```\n\n_It's safe to publish packages locally with `npm pack`_. It doesn't affect the package we have published in the npm registry.\n\n## 3. Publishing\n\nIf changes are made to this package, it should be versioned in accordance with [semver][semver]. That roughly means that:\n\n- if the update includes **major** changes (which means making the API incompatible, such as modifying how the configurations are accessed), run the following command from the `master` branch:\n\n```bash\nnpm version major && npm publish && git push origin master\n```\n\n- if the update includes **minor** changes (which means adding functionality in a backwards compatible manner, such as adding a new rule), run the following command from the `master` branch:\n\n```bash\nnpm version minor && npm publish && git push origin master\n```\n\n- if the update is **a bug fix or smaller changes** (as long as the fixes are backwards compatible), run the following command from the `master` branch:\n\n```bash\nnpm version patch && npm publish && git push origin master\n```\n\n[npm]: https://www.npmjs.com\n[node]: https://nodejs.org\n[eslint]: https://github.com/eslint/eslint\n[airbnb]: https://github.com/airbnb/javascript\n[prettier]: https://prettier.io/\n[semver]: https://semver.org/\n","readmeFilename":"README.md"}