{"_id":"@bmacher/eslint-config-typescript","_rev":"11-8d4bb0c8e931d969f365e9d3aa8c3d9c","time":{"1.0.0":"2021-11-29T09:48:50.219Z","created":"2021-11-29T09:54:37.331Z","1.0.1":"2021-11-29T09:54:37.529Z","modified":"2022-04-04T19:51:39.276Z","1.0.2":"2022-01-24T19:50:11.159Z","1.1.0":"2022-01-25T10:04:22.323Z"},"name":"@bmacher/eslint-config-typescript","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.1":{"name":"@bmacher/eslint-config-typescript","version":"1.0.1","description":"ESLint config based on AirBnB for TypeScript & CDK.","keywords":["eslint","eslintconfig","typescript  ","airbnb ","airbnb-eslint"],"main":"index.js","repository":{"type":"git","url":"https://github.com/bmacher/eslint-config-typescript.git"},"author":{"name":"Benjamin Macher"},"license":"MIT","dependencies":{"eslint-config-airbnb-typescript":"^12.3.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","eslint":"^7.28.0","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","prettier":"^2.3.1","typescript":"^4.3.2"},"peerDependencies":{"@typescript-eslint/eslint-plugin":">= 4.26.1","@typescript-eslint/parser":">= 4.26.1","eslint":">= 7.28.0","eslint-import-resolver-typescript":">= 2.4.0","eslint-plugin-import":">= 2.23.4","eslint-plugin-prettier":">= 3.4.0","prettier":">= 2.3.1","typescript":">= 4.3.2"},"licenseText":"MIT License\n\nCopyright (c) 2021 Benjamin Macher\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@bmacher/eslint-config-typescript@1.0.1","dist":{"shasum":"c2ee12ea82240fe3236a80249dfcd976b1efa733","integrity":"sha512-vXuV/njf4KUYjidRUgJKXhhv0UJAwsWa2LMp24jHT830gX6MX7ETdauoNK3IrVVRx+Y6CnRmuH6u0YOKKlmI5A==","tarball":"https://registry.npmjs.org/@bmacher/eslint-config-typescript/-/eslint-config-typescript-1.0.1.tgz","fileCount":6,"unpackedSize":9461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpKNdCRA9TVsSAnZWagAAfsAP/0gueb3SX+AsnHV9rwMt\nmX6xgXl+p+yGcQhZs4Zq4XO+EEnl46DaSdzYz0vVLKnz7IIRwo0WRaug500V\nrXASugrGGly1/l9Q5XiWxzdlFmfT9xMejN1IEMFNuxoa5octfpw2EAGc8zEH\nLtAi6fnoz50k1EzBcAtjJUaDRqPoww9PlB+wxgD6wJTaCZBYrA4DLNPXZ1SJ\n6AH38lo+HIeJgnPlZdjSm+b8u+mWO79p01s/FW5q7Vhn+6ZOR4AlVgRbOEgW\nmojmAk5Z2IiUKlUpZHwRRKWFFv2zmIZ8nOmx1rjLU5T8Nkk+cPOY1zUnLy71\nhgb859rX3zTq0OF9qxgOdScbt2h8WsNLgyEBiy55IFkHl3Dab9K9e9FVcSMC\n6gSgnAiw2aYKETUiSO4uaeHy9GpZsqFTBBA7kibsqpkOBFH5LkBskw0t7wPU\n1u80YCMIITVqg7cWWAGuBO9yvbf+iMg2q1oTWFjku96ri8AvAa3kIdvFVs6y\nRsURL1hhKos76JFDUWT0XaEQT9hnX61mPnWvJPLi8b4YxZdHqTsNzn+pzAdG\nQLfLGlhJ3udQZ3P0I0ypxTJQlq3Jtfqa8hi68j98ir0vxcc0oQpc93HkNJSt\nPSOlNY5kOdbu8WYk7yNoo5WquQ5jLHXD4AW+Vecot043pxumdvlS6SoiRqcI\nZ90H\r\n=FUh6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAKJNfpCp28lqpRKf/aBG4HJ6faRkqoMs9+9AijQaJw9AiBGEO3QANjeeX/FVyYfxON0I1qkX4x3dqq0j6BGHw/DUA=="}]},"_npmUser":{"name":"bmacher","email":"benjamin.dev@icloud.com"},"directories":{},"maintainers":[{"name":"bmacher","email":"benjamin.dev@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-config-typescript_1.0.1_1638179677398_0.5789016853575166"},"_hasShrinkwrap":false},"1.0.2":{"name":"@bmacher/eslint-config-typescript","version":"1.0.2","description":"ESLint config based on AirBnB for TypeScript & CDK.","keywords":["eslint","eslintconfig","typescript  ","airbnb ","airbnb-eslint"],"main":"index.js","repository":{"type":"git","url":"https://github.com/bmacher/eslint-config-typescript.git"},"author":{"name":"Benjamin Macher"},"license":"MIT","dependencies":{"eslint-config-airbnb-typescript":"^12.3.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","eslint":"^7.28.0","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","prettier":"^2.3.1","typescript":"^4.3.2"},"peerDependencies":{"@typescript-eslint/eslint-plugin":">= 4.26.1","@typescript-eslint/parser":">= 4.26.1","eslint":">= 7.28.0","eslint-import-resolver-typescript":">= 2.4.0","eslint-plugin-import":">= 2.23.4","eslint-plugin-prettier":">= 3.4.0","prettier":">= 2.3.1","typescript":">= 4.3.2"},"licenseText":"MIT License\n\nCopyright (c) 2021 Benjamin Macher\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@bmacher/eslint-config-typescript@1.0.2","dist":{"shasum":"2246a138ef670e41be7b60f45c5d34866c454db5","integrity":"sha512-+VZS1UV1UYKNYLLAmR1REhp7xNggaMf3OR3dx6+Qnfq5vdbO8VX5+V5FdtyPBJloKnaM55oUIV9ceslzitKvvg==","tarball":"https://registry.npmjs.org/@bmacher/eslint-config-typescript/-/eslint-config-typescript-1.0.2.tgz","fileCount":7,"unpackedSize":10214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7wLzCRA9TVsSAnZWagAAywkP/jT5na+4u3tLw0f+RLMX\n4C7zsKinMLbcXY9v7XSC7Ah9vYckGiJoNsO2fdljneieomhmeMyq13a5RpcY\n2TyzT1qfrWpHSopRu6GDtiuwuGY5LeiDZoxpIi6DXkfa7TD40LFJ4at8d4y7\nCq215ZqiGJubzRvnWg9KREnHapGK73I6LS4o/iuc/ErrU0ELEZa8vkfZhgI7\nAnpNd2t8TNqMEN+sriRZV3TCY+fSps5as90tRSWSQ3L1q0c9Eg3lzaHQtTgF\nsX+XW25c0U0ptO9VcYuoxbDXnsCMm9RXci0ks5tW+0z2JKYgSiGs0OxKLIae\nZaYu+H2a7qm6K0rWEwYc5ckjuCYLPZ/1xmUze4oWVOXN+wPEIkdo1fqgENKp\nVM3EjFK/luaViBtwVg5FDVf3lXQn+g8Ivc3hZKs2drywTu5YGbmWpdPlIOR0\nE6xVZCBNJbB8EMIWGr7o2i6JyuOvSFxIN7TzgQaS8JribGGwd7IdZxrCb92f\nI+CwA/R6Jy966JHnjiML5JK+6K85mCBuFLQ8P4X/BinWy9XWf9JOXF6KfdZf\n+pQKl9cRzm/5V2p8SmO+wRklILvaJpOBI0nJRFCczTviGDCLarGaHD9cV3tY\n9uz2X7ecojgXvQvHhIGmAd7v0UU4v7sCpn2X3i5vxZUlOYCX2R8lJHiouOnN\nDY+H\r\n=oh4S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVxzV9BYDEXmewZZabf5qjwux+8Vew2tBKuKi11pxTwQIhAJutEH5puBuX4z6/1i8tiHtDNI3lOIa28iaVx1u0sz7O"}]},"_npmUser":{"name":"bmacher","email":"macher.benjamin@icloud.com"},"directories":{},"maintainers":[{"name":"bmacher","email":"macher.benjamin@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-config-typescript_1.0.2_1643053810997_0.3617932089206146"},"_hasShrinkwrap":false},"1.1.0":{"name":"@bmacher/eslint-config-typescript","version":"1.1.0","description":"ESLint config based on AirBnB for TypeScript & CDK.","keywords":["eslint","eslintconfig","typescript  ","airbnb ","airbnb-eslint"],"main":"index.js","repository":{"type":"git","url":"https://github.com/bmacher/eslint-config-typescript.git"},"author":{"name":"Benjamin Macher"},"license":"MIT","dependencies":{"eslint-config-airbnb-typescript":"^12.3.1"},"devDependencies":{"@types/eslint":"^8.4.1","@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","eslint":"^7.28.0","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","prettier":"^2.3.1","typescript":"^4.3.2"},"peerDependencies":{"@typescript-eslint/eslint-plugin":">= 4.26.1","@typescript-eslint/parser":">= 4.26.1","eslint":">= 7.28.0","eslint-import-resolver-typescript":">= 2.4.0","eslint-plugin-import":">= 2.23.4","eslint-plugin-prettier":">= 3.4.0","prettier":">= 2.3.1","typescript":">= 4.3.2"},"licenseText":"MIT License\n\nCopyright (c) 2021 Benjamin Macher\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@bmacher/eslint-config-typescript@1.1.0","dist":{"shasum":"e495a85beaf56a6e6578f536a4c84a7bdf19c2b3","integrity":"sha512-Tip8k4TDFl08DNIAqlk58DnuoNCRyjHxv3Ps4kZsxbu4NQU8POZHI40GN25PecyanRwsk+WccuQhy5zXTIs2Sw==","tarball":"https://registry.npmjs.org/@bmacher/eslint-config-typescript/-/eslint-config-typescript-1.1.0.tgz","fileCount":8,"unpackedSize":11464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh78smCRA9TVsSAnZWagAAYYUP/02eEI+JWmHx12Sih3Ym\nnMc12JmLlZ6eTqBYj+kb6ysbLdxoqwlgYI1B6XWNSmC0wbt/FgPHzb0cuNT6\nrE/i6cp5h48zGS3fOXh5BsODagHc797Hg/ciGhy4DkEtKxg3MDk4NQaW4QAs\nlF6durVM8+UMlMG0a2Q7vFXeVQwoj02SWlcXjhsLG8J7s311LGGkJoL0x2pq\n6wnTiNv/HaEF5oUvCNxh0nZ+3bw5W2c012F4lN0z6awdxawZLkGz95oR2LdY\nN4TJ+i2IUeWhO9SeFvH7cTDagJhjKH0JgcH34ltkbZaABKDm2ooxCVbNIHNq\ntWCuCnWY0NgJIFt/ExXjB0MUzlP5+uhX+fnk76gzNsS3N4VTUlXDJA567jek\nmOLbBB658SRLHcktdBpHoPFzwYlYJytFXJRoSj10QRn9U3DGUGirSbbsQ77R\nVA6lpoQ+HxARj3hSDR41talKPKzgFonI+DvMaZYjlWZZ0x0ai9ESG9BS756w\n40EPy7hG21yM4GXhtA3cx3QIYqM5vKEdlqvuiiff/HMkSz8eS5zFhIY230d0\nYenLMtvkBmHccx4wTDu4V/w6S9bOO1FsV2OndpDWK9I/ONR26JcZLOQy/d9V\ncAxQMahpTuC82EAMVaNqONuftpsk5aeMtkO3OHt5i/wrVItGTNJZ5/Hu+11p\nHEJi\r\n=61ql\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9lHXzVKo2qClNZmiUMtJVWRwRvjM7VWm+FbnghmM8dwIhALa12eYDpe1ZGjL4pmXWlwAraWU7YAhTA9na8XSKHgz4"}]},"_npmUser":{"name":"bmacher","email":"macher.benjamin@icloud.com"},"directories":{},"maintainers":[{"name":"bmacher","email":"macher.benjamin@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-config-typescript_1.1.0_1643105062159_0.9057494212662214"},"_hasShrinkwrap":false}},"maintainers":[{"name":"bmacher","email":"macher.benjamin@icloud.com"}],"description":"ESLint config based on AirBnB for TypeScript & CDK.","keywords":["eslint","eslintconfig","typescript  ","airbnb ","airbnb-eslint"],"repository":{"type":"git","url":"https://github.com/bmacher/eslint-config-typescript.git"},"author":{"name":"Benjamin Macher"},"license":"MIT","readme":"[![npm version](https://img.shields.io/npm/v/@bmacher/eslint-config-typescript)](https://www.npmjs.com/package/@bmacher/eslint-config-typescript/v/latest)\n[![GitHub license](https://img.shields.io/github/license/bmacher/eslint-config-typescript.svg)](https://github.com/bmacher/eslint-config-typescript/blob/master/LICENSE)\n\n# ESLint Config Typescript\n\n> ESLint config  based on [AirBnB](https://github.com/airbnb/javascript) for TypeScript & CDK.\n\n## Table of contents\n\n  - [Installation](#installation)\n  - [Usage](#usage)\n  - [Default Rules](#default-rules)\n    - [import/prefer-default-export](#importprefer-default-export)\n    - [max-params](#max-params)\n    - [no-console](#no-console)\n    - [@typescript-eslint/member-delimiter-style](#typescript-eslintmember-delimiter-style)\n    - [@typescript-eslint/naming-convention](#typescript-eslintnaming-convention)\n      - [Interface](#interface)\n      - [Class](#class)\n      - [Enum](#enum)\n      - [Variable](#variable)\n      - [Function](#function)\n      - [ClassProperty](#classproperty)\n      - [ObjectLiteralProperty](#objectliteralproperty)\n  - [CDK Rules](#cdk-rules)\n    - [no-new](#no-new)\n    - [@typescript-eslint/naming-convention](#typescript-eslintnaming-convention-1)\n      - [ObjectLiteralProperty](#objectliteralproperty-1)\n  - [Rules only](#rules-only)\n  - [Overrides](#overrides)\n    - [import/no-extraneous-dependencies](#importno-extraneous-dependencies)\n\n## Installation \n\n```sh\nyarn add --dev @sdc-production/eslint-config-typescript\n\n# Or with npm\nnpm install --save-dev @sdc-production/eslint-config-typescript\n```\n\n## Usage\n\n```ts\nmodule.exports = {\n  root: true,\n  parserOptions: {\n    project: './tsconfig.json'\n  },\n  extends: [\n    \"@sdc-production/eslint-config-typescript\",\n    // Use this in CDK projects instead\n    \"@sdc-production/eslint-config-typescript/cdk\",\n    // Use this if you only need the rules and overrides.\n    \"@sdc-production/eslint-config-typescript/rules-only\",\n  ],\n}\n```\n\nThe short version `@sdc-production/typescript` does also work. However, that is [not recommended by ESLint](https://eslint.org/docs/developer-guide/shareable-configs#npm-scoped-modules), as it can lead to name clashes.\n\n## Default Rules\n\n<!-- Template\nTitle\n\nDescription...\n\n👎 Don't\n\n```ts\n\n```\n\n👍 Do\n\n```ts\n\n``` \n-->\n\n### [import/prefer-default-export](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/prefer-default-export.md)\n\nUsing default exports can lead to different names in imports. Therefore, named imports are preferred.\n\nValue: `off`\n\n👎 Don't\n\n```ts\n// bar-1.ts\nimport foo from 'foo';\nfoo.bar();\n\n// bar-2.ts\nimport bar from 'foo';\nbar.bar();\n```\n\n👍 Do\n\n```ts\nimport { bar } from 'foo';\nbar();\n```\n\n### [max-params](https://eslint.org/docs/rules/max-params)\n\nFunctions with too many parameters either do too much or introduce too many variables.\n\nValue: `['error', 3]`\n\n👎 Don't\n\n```ts\nfunction foo(a: string, b: string, c: string, d: string): void {}\n```\n\n👍 Do\n\n```ts\ninterface FooProps {\n  a: string;\n  b: string; \n  c: string; \n  d: string;\n}\n\nfunction foo(props: FooProps): void {}\n\n// OR if possible\nfunction foo(a: string, b: string): Something {}\nfunction bar(foo: Something,  c: string, d: string): void {}\n\nconst resultOfFoo = foo(...);\nbar(resultOfFoo, ...)\n```\n\n### [no-console](https://eslint.org/docs/rules/no-console)\n\nLogging should never be considered bad.\n\nValue: `off`\n\n### [@typescript-eslint/member-delimiter-style](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/member-delimiter-style.md)\n\nThere should only be one delimiter for members in interfaces or types.\n\nValue: `;`\n\n### [@typescript-eslint/naming-convention](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/naming-convention.md)\n\n#### *Interface*\n\nValue: `PascalCase` with no I prefix (`/^(?![I][A-Z])/`)\n\n[Guideline](https://github.com/microsoft/TypeScript/wiki/Coding-guidelines#names) by TypeScript for contributors.\n\n#### *Class*\n\nValue: `PascalCase`\n\n#### *Enum*\n\nValue: `PascalCase`\n#### *Variable*\n\nValue: `camelCase, UPPER_CASE`\n\n#### *Function*\n\nValue: `camelCase`\n\n#### *ClassProperty*\n\nValue: `camelCase`\n\n#### *ObjectLiteralProperty*\n\nValue: `camelCase`\n\n## CDK Rules\n\n### no-new\n\nEither `no-new` or `no-unused-var` would be thrown when you only need to create a resource but not using it elsewhere.\n\nValue: `off`\n\nExample\n\n```ts\nnew Bucket(myStack, 'Bucket');\n```\n\n### @typescript-eslint/naming-convention\n\n#### *ObjectLiteralProperty*\n\nEnvironments of Lambdas (and any other place) should be UPPER_CASE and properties of CFN resources can be PascalCase as well. \n\nValue: `camelCase, UPPER_CASE, PascalCase`\n\n## Rules only\n\nOnly provides the `rules` and `overrides` from the base config and no other configuration. This can be used when the e.g. the parser is configured elsewhere but you still want to have the rules.\n\n## Overrides\n\n### [import/no-extraneous-dependencies](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-extraneous-dependencies.md)\n\nProvides only the `Rules` and `Overrides` from the base configuration and no other configuration. This can be used if e.g. the parser is configured elsewhere but you still want to have the rules. Common use case would be inside frontend configurations like in Vue.\n","readmeFilename":"README.md"}