{"versions":{"1.0.0":{"name":"eslint-plugin-eggache","version":"1.0.0","description":"custom eslint rule for egg RTFM issues","dependencies":{},"devDependencies":{"autod":"^3.0.1","egg-bin":"^4.3.7","egg-ci":"^1.8.0","eslint":"^4.17.0","eslint-config-egg":"^6.0.0","is-type-of":"^1.2.0","webstorm-disable-index":"^1.2.0"},"engines":{"node":">=6.0.0"},"scripts":{"autod":"autod","lint":"eslint .","test":"npm run lint -- --fix && egg-bin pkgfiles && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && egg-bin pkgfiles --check && npm run cov","pkgfiles":"egg-bin pkgfiles"},"ci":{"version":"6, 8"},"repository":{"type":"git","url":"git+ssh://git@github.com/eggjs/eslint-plugin-eggache.git"},"files":["index.js","lib"],"author":{"name":"TZ","email":"atian25@qq.com"},"license":"MIT","gitHead":"54c825fe5a2cc000a0e828442319690c1c84ed9d","bugs":{"url":"https://github.com/eggjs/eslint-plugin-eggache/issues"},"homepage":"https://github.com/eggjs/eslint-plugin-eggache#readme","_id":"eslint-plugin-eggache@1.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"anonymous","email":"atian25@qq.com"},"dist":{"shasum":"1f8f98c698d2b511519fbdefbae78fe230487aa4","size":2959,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/eslint-plugin-eggache/-/eslint-plugin-eggache-1.0.0.tgz"},"maintainers":[{"name":"anonymous","email":"atian25@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-eggache_1.0.0_1518081513887_0.7711942009861403"},"_hasShrinkwrap":false,"publish_time":1518081513989,"_cnpm_publish_time":1518081513989,"contributors":[]},"2.0.0":{"name":"eslint-plugin-eggache","version":"2.0.0","description":"custom eslint rule for egg RTFM issues","dependencies":{},"devDependencies":{"egg-bin":"^5","egg-ci":"^2","eslint":"^8","eslint-config-egg":"^12"},"engines":{"node":">=14.17.0"},"scripts":{"lint":"eslint .","test":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov"},"ci":{"version":"14, 16, 18","type":"github"},"repository":{"type":"git","url":"git+ssh://git@github.com/eggjs/eslint-plugin-eggache.git"},"author":{"name":"TZ","email":"atian25@qq.com"},"license":"MIT","gitHead":"be01194f26b415a4d52d877cccedcb010b5c532d","bugs":{"url":"https://github.com/eggjs/eslint-plugin-eggache/issues"},"homepage":"https://github.com/eggjs/eslint-plugin-eggache#readme","_id":"eslint-plugin-eggache@2.0.0","_nodeVersion":"16.14.2","_npmVersion":"6.14.16","dist":{"integrity":"sha512-IHPrZ8LZgTRJTN5e6bXEgmv4vE0yDTAYFgHyvlf2KED8gRSiZ/kVPur+VHjpV4/8OVGJg2YaNEqsiBHxgMCKyA==","shasum":"f81e5414d993188af45afc2417777e2d478d4009","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/eslint-plugin-eggache/-/eslint-plugin-eggache-2.0.0.tgz","fileCount":8,"unpackedSize":12290,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBNhe5jbvr+DOTTp5gGuWW+kOCwnOGUmWqJiM5SI+O/dAiAGYjM/6N0jSg+1i3EOwY+zcaCjIF0F6kdMIb/W4179Mw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNa3+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoyTRAAhXvQHGJy9E0VxVtmP0tTryUxB/3twapa2HxQcI8VlOh56NP4\r\n5NAUxbs4oeZMA1+kk3IREKw4Ptu6Cg7xyXT0st/Haswz+lDuwu2SRtk93izE\r\nR64ENJZpn57F1terKEyl13QQ0MsbvtXw3/GcD3ydcWxLBLtkETUKUC+EJg/4\r\nxqi7ZWd66j7oJRx91COb/amQU/H+HYyaahiNUxIepyHskzMfllRRvW2+XFjD\r\niJ/UiVBkw4ou0yTa6Ft02oJT7hKgQzgTazxSNzelTaMHPlT7mNnnT3DlTPud\r\nkG6thB3pTmFrezx+aH8aHcgFgLfsgFPSSET0HmL6OFpVA+hP28lShQQYht8m\r\n2Bjcs8xF2Chn4wmyE4alsrXTzqaJ00FlP/vm4RbEThjc54mnzlIZveb+OJJR\r\nAn5kCKMOT96KzZ2dhqBMGXYEP3RDtKno4zw1UeuNVcjI+tvCxcp65sTZjFCO\r\nSmCMIICmKK15mF+G1IQ8x9Dv2FXtfTMt9DreQ+fYnQUXASQsd1QwnOUkAR6I\r\nkKxnpWhLdcayHhLw7bCP7Lo0/hCu+pCYKgdfXzaY7UGdznQjAQ3qiXkI3vZT\r\ntpoo6cQkLHolmiF5jJMFLmxVt5vtWAtA83SW0MdjpVcXDBARld0fUQTrrnRR\r\nIF4y7atkPb7Nr9WuahgKbur6xJmjYygrYk4=\r\n=243U\r\n-----END PGP SIGNATURE-----\r\n","size":3912},"_npmUser":{"name":"anonymous","email":"atian25@qq.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"atian25@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-eggache_2.0.0_1664462334151_0.4555835783412119"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-29T21:47:18.763Z","contributors":[]}},"dist-tags":{"latest":"2.0.0"},"name":"eslint-plugin-eggache","time":{"modified":"2022-09-29T21:47:24.060Z","created":"2022-01-26T23:05:32.657Z","1.0.0":"2018-02-08T09:18:33.989Z","2.0.0":"2022-09-29T14:38:54.322Z"},"readme":"# eslint-plugin-eggache\n\ncustom eslint rule for egg RTFM questions\n\n[![NPM version][npm-image]][npm-url]\n[![build status][travis-image]][travis-url]\n[![Test coverage][codecov-image]][codecov-url]\n[![David deps][david-image]][david-url]\n[![Known Vulnerabilities][snyk-image]][snyk-url]\n[![NPM download][download-image]][download-url]\n\n[npm-image]: https://img.shields.io/npm/v/eslint-plugin-eggache.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/eslint-plugin-eggache\n[travis-image]: https://img.shields.io/travis/eggjs/eslint-plugin-eggache.svg?style=flat-square\n[travis-url]: https://travis-ci.org/eggjs/eslint-plugin-eggache\n[codecov-image]: https://codecov.io/gh/eggjs/eslint-plugin-eggache/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/eggjs/eslint-plugin-eggache\n[david-image]: https://img.shields.io/david/eggjs/eslint-plugin-eggache.svg?style=flat-square\n[david-url]: https://david-dm.org/eggjs/eslint-plugin-eggache\n[snyk-image]: https://snyk.io/test/npm/eslint-plugin-eggache/badge.svg?style=flat-square\n[snyk-url]: https://snyk.io/test/npm/eslint-plugin-eggache\n[download-image]: https://img.shields.io/npm/dm/eslint-plugin-eggache.svg?style=flat-square\n[download-url]: https://npmjs.org/package/eslint-plugin-eggache\n\n## Usage\n\n```bash\nnpm i eslint-plugin-eggache --save\n```\n\nAdd `eggache` to the plugins section of your `.eslintrc` configuration file.\n\n```js\n// ${app_root}/.eslintrc\n{\n  \"extends\": [\n    \"plugin:eggache/recommended\"\n  ]\n}\n```\n\nBy default it enable all the recommended rules, if you want to custom, just configure the rules section.\n\n```js\n// ${app_root}/.eslintrc\n{\n  \"extends\": [\n    \"plugin:eggache/recommended\"\n  ],\n  \"rules\": {\n    'eggache/no-override-exports': [ 'error' ],\n    'eggache/no-unexpected-plugin-keys': 'error',\n  }\n}\n```\n\n## Rules\n\n### no-override-exports\n\nA common mistake that newbie will make - override `module.exports` and `exports`.\n\n```js\n/* eslint eggache/no-override-exports: [ 'error' ] */\n\n// config/config.default.js\nexports.view = {};\n\nmodule.exports = appInfo => {\n  const config = exports = {};\n  config.keys = '123456';\n  return config;\n}\n```\n\n**Options**:\n\nThe first options is a boolean, default to false, means only check:\n- `config/config.*.js`\n- `config/plugin.*.js`\n\nset it to `true` means to check all files.\n\n```js\n/* eslint eggache/no-override-exports: [ 'error', true ] */\n\n// due to options `true`, this will pass the lint\n// ${app_root}/app.js\nmodule.exports = exports = {};\nexports.keys = '123456';\n```\n\n### no-unexpected-plugin-keys\n\nSometimes, developer will confuse `plugin.js` and `config.default.js`.\n\n`plugin.js` only allow `[ 'enable', 'package', 'path', 'env' ]` and it control whether to load a plugin.\n\nThe plugin's `config` should write to `config/config.{env}.js`.\n\n```js\n/* eslint eggache/no-unexpected-plugin-keys: [ 'error' ] */\n\n// config/plugin.js\nmodule.exports = {\n  test: {\n    enable: true,\n    package: 'egg-test',\n    someConfig: 'should not place here',\n  },\n}\n```\n\n### no-only-tests\n\nA common mistake that developer will make - forget to remove `.only` in tests before committing.\n\n```js\n/* eslint eggache/no-only-tests: [ 'error' ] */\ndescribe.only('desc something', function() {\n  it.only('assert somnething', function() {\n    // do nothing\n  });\n})\n```","users":{}}