Skip to content

Detect key Usage: $0 <command> [options]’ as missing key #245

Closed
@kazupon

Description

@kazupon

Tell us about your environment

$ npx envinfo --system --npmPackages eslint,eslint-plugin-vue,@intlify/eslint-plugin-vue-i18n --binaries

  System:
    OS: macOS 10.15.7
    CPU: (16) x64 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
    Memory: 12.78 GB / 64.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 16.11.0 - ~/bin/.nvm/versions/node/v16.11.0/bin/node
    Yarn: 1.22.11 - ~/bin/.nvm/versions/node/v16.11.0/bin/yarn
    npm: 8.0.0 - ~/bin/.nvm/versions/node/v16.11.0/bin/npm
  npmPackages:
    @intlify/eslint-plugin-vue-i18n: ^0.15.0 => 0.15.0 
    eslint: ^8.0.0 => 8.1.0 

Please show your full configuration:

'use strict'

module.exports = {
  root: true,
  globals: {},
  env: {
    node: true,
    jest: true
  },
  extends: [
    'plugin:@typescript-eslint/recommended',
    'plugin:@typescript-eslint/eslint-recommended',
    'plugin:@intlify/vue-i18n/recommended',
    'plugin:prettier/recommended',
    'prettier'
  ],
  plugins: ['@typescript-eslint'],
  parserOptions: {
    parser: '@typescript-eslint/parser',
    sourceType: 'module'
  },
  overrides: [
    {
      files: ['*.json', '*.json5'],
      extends: ['plugin:@intlify/vue-i18n/base']
    },
    {
      files: ['*.yaml', '*.yml'],
      extends: ['plugin:@intlify/vue-i18n/base']
    }
  ],
  rules: {
    'object-curly-spacing': 'off',
    '@typescript-eslint/explicit-function-return-type': 'off',
    '@typescript-eslint/member-delimiter-style': 'off',
    '@typescript-eslint/no-use-before-define': 'off',
    '@typescript-eslint/explicit-module-boundary-types': 'off',
    '@typescript-eslint/ban-ts-comment': 'off',
    '@typescript-eslint/no-non-null-assertion': 'off',
    '@typescript-eslint/triple-slash-reference': 'off',
    '@intlify/vue-i18n/no-dynamic-keys': 'error',
    '@intlify/vue-i18n/no-unused-keys': [
      'error',
      {
        extensions: ['.ts']
      }
    ]
  },
  settings: {
    'vue-i18n': {
      localeDir: './locales/*.json',
      messageSyntaxVersion: '^9.0.0'
    }
  }
}

What did you do?

I've added @intlify/eslint-plugin-vue-i18n to intlify/cli repo
reproduction repo is here (repro-no-missing-keys branch):
https://github.com/intlify/cli/tree/repro-no-missing-keys

you can reproduce the below action:

What did you expect to happen?
Expect key '["Usage: $0 <command> to be undetected as @intlify/vue-i18n/no-missing-keys.

What actually happened?

$  pnpm lint:eslint
12:12  warning  '["Usage: $0 <command> "]' does not exist in localization message resources  @intlify/vue-i18n/no-missing-keys

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions