diff --git a/packages/eslint-plugin/rules/__tests__/i18n-text-domain.js b/packages/eslint-plugin/rules/__tests__/i18n-text-domain.js index 1212c90d998ed7..d2c78263e61ed4 100644 --- a/packages/eslint-plugin/rules/__tests__/i18n-text-domain.js +++ b/packages/eslint-plugin/rules/__tests__/i18n-text-domain.js @@ -16,6 +16,12 @@ const ruleTester = new RuleTester( { ruleTester.run( 'i18n-text-domain', rule, { valid: [ + { + code: `_x( 'Hello World' )`, + }, + { + code: `_x( 'Hello World', 'random' )`, + }, { code: `__( 'Hello World' )`, options: [ { allowedTextDomain: 'default' } ], diff --git a/packages/eslint-plugin/rules/i18n-text-domain.js b/packages/eslint-plugin/rules/i18n-text-domain.js index 94b0619372d547..b47564738d06e2 100644 --- a/packages/eslint-plugin/rules/i18n-text-domain.js +++ b/packages/eslint-plugin/rules/i18n-text-domain.js @@ -48,7 +48,6 @@ module.exports = { }, { type: 'string', - default: 'default', }, ], }, @@ -68,12 +67,14 @@ module.exports = { }, create( context ) { const options = context.options[ 0 ] || {}; - const { allowedTextDomain = 'default' } = options; + const { allowedTextDomain } = options; const allowedTextDomains = Array.isArray( allowedTextDomain ) ? allowedTextDomain - : [ allowedTextDomain ]; + : [ allowedTextDomain ].filter( ( value ) => value ); const canFixTextDomain = allowedTextDomains.length === 1; - const allowDefault = allowedTextDomains.includes( 'default' ); + const allowDefault = + allowedTextDomains.length === 0 || + allowedTextDomains.includes( 'default' ); return { CallExpression( node ) { @@ -134,7 +135,10 @@ module.exports = { return; } - if ( ! allowedTextDomains.includes( value ) ) { + if ( + allowedTextDomains.length && + ! allowedTextDomains.includes( value ) + ) { const replaceTextDomain = ( fixer ) => { return fixer.replaceTextRange( // account for quotes.