diff --git a/lib/index.js b/lib/index.js index aef60a604..879a49056 100644 --- a/lib/index.js +++ b/lib/index.js @@ -6,6 +6,7 @@ 'use strict' module.exports = { + meta: require('./meta'), rules: { 'array-bracket-newline': require('./rules/array-bracket-newline'), 'array-bracket-spacing': require('./rules/array-bracket-spacing'), diff --git a/lib/meta.js b/lib/meta.js new file mode 100644 index 000000000..d70069950 --- /dev/null +++ b/lib/meta.js @@ -0,0 +1,3 @@ +'use strict' +const { name, version } = require('../package.json') +module.exports = { name, version } diff --git a/lib/processor.js b/lib/processor.js index 4fb1a0d45..f0a89fd8d 100644 --- a/lib/processor.js +++ b/lib/processor.js @@ -126,10 +126,7 @@ module.exports = { supportsAutofix: true, - meta: { - name: 'eslint-plugin-vue', - version: require('../package.json').version - } + meta: require('./meta') } /** diff --git a/tests/lib/meta.js b/tests/lib/meta.js new file mode 100644 index 000000000..f9012ce03 --- /dev/null +++ b/tests/lib/meta.js @@ -0,0 +1,20 @@ +'use strict' + +const assert = require('assert') +const plugin = require('../..') +const expectedMeta = { + name: 'eslint-plugin-vue', + version: require('../../package.json').version +} + +describe('Test for meta object', () => { + it('A plugin should have a meta object.', () => { + assert.deepStrictEqual(plugin.meta, expectedMeta) + }) + + for (const [name, processor] of Object.entries(plugin.processors)) { + it(`"${name}" processor should have a meta object.`, () => { + assert.deepStrictEqual(processor.meta, expectedMeta) + }) + } +}) diff --git a/tools/update-lib-index.js b/tools/update-lib-index.js index f57ae1e58..5a53b52bb 100644 --- a/tools/update-lib-index.js +++ b/tools/update-lib-index.js @@ -25,6 +25,7 @@ const content = `/* 'use strict' module.exports = { + meta: require('./meta'), rules: { ${rules .map((rule) => `'${rule.name}': require('./rules/${rule.name}')`)