From 1caa59087edb8be463c070e821bf7e586719be7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Wed, 2 Aug 2023 09:11:29 -0400 Subject: [PATCH] Add `meta` object to `@babel/eslint-plugin` (#15824) --- .../src/index.cjs | 8 +++++++- eslint/babel-eslint-plugin-development/src/index.cjs | 8 +++++++- eslint/babel-eslint-plugin/src/index.cjs | 8 +++++++- packages/babel-cli/src/babel/options.ts | 1 - 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/eslint/babel-eslint-plugin-development-internal/src/index.cjs b/eslint/babel-eslint-plugin-development-internal/src/index.cjs index f5053c3354a1..36adb4b02bd1 100644 --- a/eslint/babel-eslint-plugin-development-internal/src/index.cjs +++ b/eslint/babel-eslint-plugin-development-internal/src/index.cjs @@ -1,9 +1,15 @@ +const meta = { + name: PACKAGE_JSON.name, + version: PACKAGE_JSON.version, +}; + const rules = { "report-error-message-format": require("./rules/report-error-message-format.cjs"), "require-default-import-fallback": require("./rules/require-default-import-fallback.cjs"), }; +exports.meta = meta; exports.rules = rules; if (!process.env.BABEL_8_BREAKING) { - exports.default = { rules }; + exports.default = { meta, rules }; } diff --git a/eslint/babel-eslint-plugin-development/src/index.cjs b/eslint/babel-eslint-plugin-development/src/index.cjs index 53fdb9cb11df..17d912b0511b 100644 --- a/eslint/babel-eslint-plugin-development/src/index.cjs +++ b/eslint/babel-eslint-plugin-development/src/index.cjs @@ -2,13 +2,19 @@ const noDeprecatedClone = require("./rules/no-deprecated-clone.cjs"); const noUndefinedIdentifier = require("./rules/no-undefined-identifier.cjs"); const pluginName = require("./rules/plugin-name.cjs"); +const meta = { + name: PACKAGE_JSON.name, + version: PACKAGE_JSON.version, +}; + const rules = { "no-deprecated-clone": noDeprecatedClone, "no-undefined-identifier": noUndefinedIdentifier, "plugin-name": pluginName, }; +exports.meta = meta; exports.rules = rules; if (!process.env.BABEL_8_BREAKING) { - exports.default = { rules }; + exports.default = { meta, rules }; } diff --git a/eslint/babel-eslint-plugin/src/index.cjs b/eslint/babel-eslint-plugin/src/index.cjs index f6f7502aca36..257dc5ac8a64 100644 --- a/eslint/babel-eslint-plugin/src/index.cjs +++ b/eslint/babel-eslint-plugin/src/index.cjs @@ -4,6 +4,11 @@ const noUnusedExpressions = require("./rules/no-unused-expressions.cjs"); const objectCurlySpacing = require("./rules/object-curly-spacing.cjs"); const semi = require("./rules/semi.cjs"); +const meta = { + name: PACKAGE_JSON.name, + version: PACKAGE_JSON.version, +}; + const rules = { "new-cap": newCap, "no-invalid-this": noInvalidThis, @@ -20,9 +25,10 @@ const rulesConfig = { semi: "off", }; +exports.meta = meta; exports.rules = rules; exports.rulesConfig = rulesConfig; if (!process.env.BABEL_8_BREAKING) { - exports.default = { rules, rulesConfig }; + exports.default = { meta, rules, rulesConfig }; } diff --git a/packages/babel-cli/src/babel/options.ts b/packages/babel-cli/src/babel/options.ts index dfb4978a0ce2..14580060479f 100644 --- a/packages/babel-cli/src/babel/options.ts +++ b/packages/babel-cli/src/babel/options.ts @@ -177,7 +177,6 @@ commander.option( "Use a specific extension for the output files", ); -declare const PACKAGE_JSON: { name: string; version: string }; commander.version(PACKAGE_JSON.version + " (@babel/core " + version + ")"); commander.usage("[options] "); // register an empty action handler so that commander.js can throw on