diff --git a/src/postprocess.js b/src/postprocess.js index 77f63e9..e1a9d60 100644 --- a/src/postprocess.js +++ b/src/postprocess.js @@ -98,6 +98,7 @@ const is_valid_message = (block, message, translation) => { case 'no-labels': return get_identifier(get_referenced_string(block, message)) !== '$'; case 'no-restricted-syntax': return message.nodeType !== 'LabeledStatement' || get_identifier(get_referenced_string(block, message)) !== '$'; case 'no-self-assign': return !state.var_names.has(get_identifier(get_referenced_string(block, message))); + case 'no-undef': return get_referenced_string(block, message) !== '$$Generic'; case 'no-unused-labels': return get_referenced_string(block, message) !== '$'; case '@typescript-eslint/quotes': case 'quotes': return !translation.options.in_quoted_attribute; diff --git a/test/samples/typescript-generics/.eslintrc.js b/test/samples/typescript-generics/.eslintrc.js new file mode 100644 index 0000000..5cbce11 --- /dev/null +++ b/test/samples/typescript-generics/.eslintrc.js @@ -0,0 +1,11 @@ +module.exports = { + parser: '@typescript-eslint/parser', + extends: ['plugin:@typescript-eslint/recommended'], + plugins: ['@typescript-eslint'], + settings: { + 'svelte3/typescript': require('typescript'), + }, + rules: { + 'no-undef': 'error', + }, +}; diff --git a/test/samples/typescript-generics/Input.svelte b/test/samples/typescript-generics/Input.svelte new file mode 100644 index 0000000..e120bfb --- /dev/null +++ b/test/samples/typescript-generics/Input.svelte @@ -0,0 +1,14 @@ + + +{#each items as item} + +{/each} + +{#if message} + {message} +{/if} diff --git a/test/samples/typescript-generics/expected.json b/test/samples/typescript-generics/expected.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/test/samples/typescript-generics/expected.json @@ -0,0 +1 @@ +[]