{"id":19834,"library":"eslint-plugin-meteor","title":"ESLint plugin for Meteor","description":"ESLint plugin providing Meteor-specific linting rules for best practices, security, and Blaze templates. Version 7.3.0 (February 2021) is the latest stable release. It enforces rules like audit-argument-checks, no-session, and template-names. Works with ESLint >=3.7.0 and Node >=10. Slower release cadence (last release 2021). Differentiator: the only dedicated Meteor ESLint plugin with a recommended configuration.","status":"active","version":"7.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/dferber90/eslint-plugin-meteor","tags":["javascript","eslint","eslint-plugin","eslintplugin","meteor"],"install":[{"cmd":"npm install eslint-plugin-meteor","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-meteor","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-meteor","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; required to run the plugin","package":"eslint","optional":false}],"imports":[{"note":"Not imported in code; configured in ESLint config files.","wrong":"// Wrong: requiring the plugin in code. Use ESLint config files instead.","symbol":"plugin","correct":"// In .eslintrc.js: plugins: ['meteor']"},{"note":"The correct way to use the recommended rules is via the plugin: prefix.","wrong":"extends: ['meteor']","symbol":"recommended config","correct":"extends: ['plugin:meteor/recommended']"},{"note":"Rules must be prefixed with 'meteor/' when configured in ESLint.","wrong":"rules: { 'audit-argument-checks': 'error' }","symbol":"rules","correct":"rules: { 'meteor/audit-argument-checks': 'error' }"}],"quickstart":{"code":"// Install: npm install --save-dev eslint eslint-plugin-meteor\n// Create .eslintrc.json:\n{\n  \"plugins\": [\"meteor\"],\n  \"extends\": [\"plugin:meteor/recommended\"],\n  \"parserOptions\": {\n    \"ecmaVersion\": 6,\n    \"sourceType\": \"module\",\n    \"ecmaFeatures\": { \"jsx\": true }\n  }\n}","lang":"javascript","description":"Installation and configuration of eslint-plugin-meteor with recommended rules and ES6/JSX support."},"warnings":[{"fix":"Upgrade to Node >=10","message":"Dropped support for Node 8 in v7.0.0","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Upgrade to Node >=8 (or >=10 for v7)","message":"Dropped support for Node 6 in v6.0.0","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"No action needed; the upper bound was removed to allow newer ESLint versions","message":"Removed eslint peer dep upper bound in v7.2.1","severity":"breaking","affected_versions":">=7.2.1 <7.3.0"},{"fix":"Use modern Meteor lifecycle callbacks (onCreated, onRendered, onDestroyed) instead of Template.name.created etc.","message":"The rule 'no-template-lifecycle-assignments' was introduced to replace deprecated Meteor lifecycle callback assignments.","severity":"deprecated","affected_versions":">=5.0.0"},{"fix":"Be aware that the linter does not analyze runtime environment; manually review cross-environment code.","message":"The plugin does not warn about client-only features used on the server.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'10':50 '2021':23,56 '3.7.0':47 '7.3.0':21 'argument':35 'audit':34 'audit-argument-check':33 'best':14 'blaze':18 'cadenc':53 'check':36 'configur':67 'dedic':60 'differenti':57 'enforc':30 'eslint':1,5,46,62,69,71 'eslint-plugin':70 'eslintplugin':73 'februari':22 'javascript':68 'last':54 'latest':26 'like':32 'lint':11 'meteor':4,9,61,74 'meteor-specif':8 'name':43 'no-sess':37 'node':49 'plugin':2,6,63,72 'practic':15 'provid':7 'recommend':66 'releas':28,52,55 'rule':12,31 'secur':16 'session':39 'slower':51 'specif':10 'stabl':27 'templat':19,42 'template-nam':41 'version':20 'work':44","created_at":"2026-04-25T11:19:54.868363+00:00","updated_at":"2026-04-25T11:19:54.868363+00:00","problems":[{"fix":"Run 'npm install --save-dev eslint-plugin-meteor'","cause":"Plugin not installed or not in node_modules.","error":"ESLint couldn't find the plugin \"eslint-plugin-meteor\"."},{"fix":"Check documentation for correct rule options. Use 'error' or 'warn' as severity.","cause":"Rule configuration options are incorrect.","error":"Configuration for rule \"meteor/audit-argument-checks\" is invalid."},{"fix":"Upgrade to v7.2.2 or later.","cause":"Bug in v7.2.0 with certain code patterns.","error":"Cannot read property 'type' of undefined (audit-argument-checks rule)."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/dferber90/eslint-plugin-meteor","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/eslint-plugin-meteor","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}