summaryrefslogtreecommitdiff
path: root/ROADMAP.md
diff options
context:
space:
mode:
authorValentin Popov <info@valentineus.link>2020-10-02 16:19:18 +0300
committerGitHub <noreply@github.com>2020-10-02 16:19:18 +0300
commitca3472cf54466250deafbb210d81054674b5a27d (patch)
tree975dc87692d80347b3604e3d649a65dbd51e50f6 /ROADMAP.md
parenta7aeded00994c56e4a6f24f53944b159be3a253d (diff)
parent8a1a4a502c1045e3f74bfe74addad130edb99f48 (diff)
downloadeslint-config-ca3472cf54466250deafbb210d81054674b5a27d.tar.xz
eslint-config-ca3472cf54466250deafbb210d81054674b5a27d.zip
Merge pull request #7 from valentineus/release/2020-06-18
Release/2020 06 18
Diffstat (limited to 'ROADMAP.md')
-rw-r--r--ROADMAP.md634
1 files changed, 0 insertions, 634 deletions
diff --git a/ROADMAP.md b/ROADMAP.md
deleted file mode 100644
index e7e9612..0000000
--- a/ROADMAP.md
+++ /dev/null
@@ -1,634 +0,0 @@
-# Road Map
-
-## ESLint
-
-- [ ] "accessor-pairs"
-- [ ] "array-bracket-newline"
-- [ ] "array-bracket-spacing"
-- [X] "array-callback-return"
-- [ ] "array-element-newline"
-- [ ] "arrow-body-style"
-- [X] "arrow-parens"
-- [X] "arrow-spacing"
-- [ ] "block-scoped-var"
-- [ ] "block-spacing"
-- [X] "brace-style"
-- [X] "camelcase"
-- [ ] "capitalized-comments"
-- [X] "class-methods-use-this"
-- [X] "comma-dangle"
-- [X] "comma-spacing"
-- [X] "comma-style"
-- [ ] "complexity"
-- [ ] "computed-property-spacing"
-- [ ] "consistent-return"
-- [ ] "consistent-this"
-- [ ] "constructor-super"
-- [X] "curly"
-- [ ] "default-case"
-- [ ] "default-case-last"
-- [ ] "default-param-last"
-- [ ] "dot-location"
-- [X] "dot-notation"
-- [X] "eol-last"
-- [X] "eqeqeq"
-- [ ] "for-direction"
-- [ ] "func-call-spacing"
-- [ ] "func-name-matching"
-- [ ] "func-names"
-- [ ] "func-style"
-- [X] "function-call-argument-newline"
-- [ ] "function-paren-newline"
-- [ ] "generator-star-spacing"
-- [ ] "getter-return"
-- [ ] "grouped-accessor-pairs"
-- [ ] "guard-for-in"
-- [ ] "id-blacklist"
-- [X] "id-length"
-- [ ] "id-match"
-- [ ] "implicit-arrow-linebreak"
-- [X] "indent"
-- [X] "indent-legacy"
-- [ ] "init-declarations"
-- [X] "jsx-quotes"
-- [X] "key-spacing"
-- [X] "keyword-spacing"
-- [ ] "line-comment-position"
-- [X] "linebreak-style"
-- [X] "lines-around-comment"
-- [X] "lines-around-directive"
-- [X] "lines-between-class-members"
-- [ ] "max-classes-per-file"
-- [ ] "max-depth"
-- [X] "max-len"
-- [X] "max-lines"
-- [X] "max-lines-per-function"
-- [ ] "max-nested-callbacks"
-- [ ] "max-params"
-- [X] "max-statements"
-- [X] "max-statements-per-line"
-- [X] "multiline-comment-style"
-- [ ] "multiline-ternary"
-- [X] "new-cap"
-- [ ] "new-parens"
-- [X] "newline-after-var"
-- [X] "newline-before-return"
-- [ ] "newline-per-chained-call"
-- [X] "no-alert"
-- [ ] "no-array-constructor"
-- [ ] "no-async-promise-executor"
-- [ ] "no-await-in-loop"
-- [ ] "no-bitwise"
-- [X] "no-buffer-constructor"
-- [X] "no-caller"
-- [ ] "no-case-declarations"
-- [X] "no-catch-shadow"
-- [ ] "no-class-assign"
-- [ ] "no-compare-neg-zero"
-- [ ] "no-cond-assign"
-- [ ] "no-confusing-arrow"
-- [X] "no-console"
-- [ ] "no-const-assign"
-- [X] "no-constant-condition"
-- [ ] "no-constructor-return"
-- [ ] "no-continue"
-- [ ] "no-control-regex"
-- [X] "no-debugger"
-- [ ] "no-delete-var"
-- [ ] "no-div-regex"
-- [ ] "no-dupe-args"
-- [ ] "no-dupe-class-members"
-- [ ] "no-dupe-else-if"
-- [ ] "no-dupe-keys"
-- [ ] "no-duplicate-case"
-- [X] "no-duplicate-imports"
-- [X] "no-else-return"
-- [X] "no-empty"
-- [ ] "no-empty-character-class"
-- [ ] "no-empty-function"
-- [ ] "no-empty-pattern"
-- [ ] "no-eq-null"
-- [X] "no-eval"
-- [ ] "no-ex-assign"
-- [X] "no-extend-native"
-- [X] "no-extra-bind"
-- [ ] "no-extra-boolean-cast"
-- [ ] "no-extra-label"
-- [ ] "no-extra-parens"
-- [X] "no-extra-semi"
-- [ ] "no-fallthrough"
-- [ ] "no-floating-decimal"
-- [ ] "no-func-assign"
-- [ ] "no-global-assign"
-- [ ] "no-implicit-coercion"
-- [ ] "no-implicit-globals"
-- [X] "no-implied-eval"
-- [ ] "no-import-assign"
-- [ ] "no-inline-comments"
-- [ ] "no-inner-declarations"
-- [ ] "no-invalid-regexp"
-- [ ] "no-invalid-this"
-- [ ] "no-irregular-whitespace"
-- [X] "no-iterator"
-- [ ] "no-label-var"
-- [X] "no-labels"
-- [X] "no-lone-blocks"
-- [ ] "no-lonely-if"
-- [ ] "no-loop-func"
-- [ ] "no-loss-of-precision"
-- [X] "no-magic-numbers"
-- [ ] "no-misleading-character-class"
-- [ ] "no-mixed-operators"
-- [X] "no-mixed-spaces-and-tabs"
-- [ ] "no-multi-assign"
-- [X] "no-multi-spaces"
-- [X] "no-multi-str"
-- [X] "no-multiple-empty-lines"
-- [X] "no-native-reassign"
-- [ ] "no-negated-condition"
-- [X] "no-negated-in-lhs"
-- [X] "no-nested-ternary"
-- [ ] "no-new"
-- [X] "no-new-func"
-- [ ] "no-new-object"
-- [ ] "no-new-symbol"
-- [X] "no-new-wrappers"
-- [ ] "no-obj-calls"
-- [ ] "no-octal"
-- [X] "no-octal-escape"
-- [ ] "no-param-reassign"
-- [ ] "no-plusplus"
-- [X] "no-proto"
-- [ ] "no-prototype-builtins"
-- [ ] "no-redeclare"
-- [ ] "no-regex-spaces"
-- [ ] "no-restricted-exports"
-- [ ] "no-restricted-globals"
-- [ ] "no-restricted-imports"
-- [X] "no-restricted-properties"
-- [ ] "no-restricted-syntax"
-- [ ] "no-return-assign"
-- [X] "no-return-await"
-- [X] "no-script-url"
-- [ ] "no-self-assign"
-- [X] "no-self-compare"
-- [X] "no-sequences"
-- [ ] "no-setter-return"
-- [ ] "no-shadow"
-- [ ] "no-shadow-restricted-names"
-- [X] "no-spaced-func"
-- [ ] "no-sparse-arrays"
-- [X] "no-tabs"
-- [ ] "no-template-curly-in-string"
-- [X] "no-ternary"
-- [ ] "no-this-before-super"
-- [ ] "no-throw-literal"
-- [X] "no-trailing-spaces"
-- [ ] "no-undef"
-- [X] "no-undef-init"
-- [X] "no-undefined"
-- [X] "no-underscore-dangle"
-- [ ] "no-unexpected-multiline"
-- [X] "no-unmodified-loop-condition"
-- [X] "no-unneeded-ternary"
-- [ ] "no-unreachable"
-- [ ] "no-unsafe-finally"
-- [ ] "no-unsafe-negation"
-- [ ] "no-unused-expressions"
-- [ ] "no-unused-labels"
-- [X] "no-unused-vars"
-- [X] "no-use-before-define"
-- [ ] "no-useless-backreference"
-- [X] "no-useless-call"
-- [ ] "no-useless-catch"
-- [X] "no-useless-computed-key"
-- [ ] "no-useless-concat"
-- [X] "no-useless-constructor"
-- [ ] "no-useless-escape"
-- [X] "no-useless-rename"
-- [X] "no-useless-return"
-- [X] "no-var"
-- [ ] "no-void"
-- [ ] "no-warning-comments"
-- [X] "no-whitespace-before-property"
-- [X] "no-with"
-- [ ] "nonblock-statement-body-position"
-- [X] "object-curly-newline"
-- [X] "object-curly-spacing"
-- [X] "object-property-newline"
-- [X] "object-shorthand"
-- [X] "one-var"
-- [ ] "one-var-declaration-per-line"
-- [ ] "operator-assignment"
-- [ ] "operator-linebreak"
-- [ ] "padded-blocks"
-- [ ] "padding-line-between-statements"
-- [X] "prefer-arrow-callback"
-- [X] "prefer-const"
-- [ ] "prefer-destructuring"
-- [ ] "prefer-exponentiation-operator"
-- [ ] "prefer-named-capture-group"
-- [X] "prefer-numeric-literals"
-- [X] "prefer-object-spread"
-- [ ] "prefer-promise-reject-errors"
-- [X] "prefer-reflect"
-- [ ] "prefer-regex-literals"
-- [X] "prefer-rest-params"
-- [X] "prefer-spread"
-- [X] "prefer-template"
-- [X] "quote-props"
-- [X] "quotes"
-- [ ] "radix"
-- [ ] "require-atomic-updates"
-- [X] "require-await"
-- [X] "require-jsdoc"
-- [ ] "require-unicode-regexp"
-- [ ] "require-yield"
-- [ ] "rest-spread-spacing"
-- [X] "semi"
-- [X] "semi-spacing"
-- [X] "semi-style"
-- [X] "sort-imports"
-- [X] "sort-keys"
-- [X] "sort-vars"
-- [X] "space-before-blocks"
-- [X] "space-before-function-paren"
-- [ ] "space-in-parens"
-- [X] "space-infix-ops"
-- [ ] "space-unary-ops"
-- [ ] "spaced-comment"
-- [X] "strict"
-- [ ] "switch-colon-spacing"
-- [ ] "symbol-description"
-- [ ] "template-curly-spacing"
-- [ ] "template-tag-spacing"
-- [ ] "unicode-bom"
-- [ ] "use-isnan"
-- [X] "valid-jsdoc"
-- [X] "valid-typeof"
-- [ ] "vars-on-top"
-- [ ] "wrap-iife"
-- [ ] "wrap-regex"
-- [ ] "yield-star-spacing"
-- [X] "yoda"
-
-## ESLint Comments
-
-- [X] "disable-enable-pair"
-- [X] "no-aggregating-enable"
-- [X] "no-duplicate-disable"
-- [X] "no-restricted-disable"
-- [X] "no-unlimited-disable"
-- [X] "no-unused-disable"
-- [X] "no-unused-enable"
-- [X] "no-use"
-- [ ] "require-description"
-
-## Import
-
-- [ ] "default"
-- [ ] "dynamic-import-chunkname"
-- [ ] "export"
-- [X] "exports-last"
-- [ ] "extensions"
-- [X] "first"
-- [ ] "group-exports"
-- [ ] "max-dependencies"
-- [ ] "named"
-- [ ] "namespace"
-- [X] "newline-after-import"
-- [ ] "no-absolute-path"
-- [ ] "no-amd"
-- [ ] "no-anonymous-default-export"
-- [ ] "no-commonjs"
-- [ ] "no-cycle"
-- [ ] "no-default-export"
-- [ ] "no-deprecated"
-- [ ] "no-duplicates"
-- [ ] "no-dynamic-require"
-- [ ] "no-extraneous-dependencies"
-- [ ] "no-internal-modules"
-- [ ] "no-loss-of-precision"
-- [ ] "no-mutable-exports"
-- [ ] "no-named-as-default"
-- [ ] "no-named-as-default-member"
-- [ ] "no-named-default"
-- [ ] "no-named-export"
-- [ ] "no-namespace"
-- [ ] "no-nodejs-modules"
-- [ ] "no-relative-parent-imports"
-- [ ] "no-restricted-paths"
-- [ ] "no-self-import"
-- [ ] "no-unassigned-import"
-- [ ] "no-unresolved"
-- [ ] "no-unused-modules"
-- [ ] "no-useless-path-segments"
-- [X] "no-webpack-loader-syntax"
-- [X] "order"
-- [ ] "prefer-default-export"
-- [ ] "unambiguous"
-
-## Security
-
-- [ ] "detect-buffer-noassert"
-- [ ] "detect-child-process"
-- [ ] "detect-disable-mustache-escape"
-- [ ] "detect-eval-with-expression"
-- [ ] "detect-new-buffer"
-- [ ] "detect-no-csrf-before-method-override"
-- [ ] "detect-non-literal-fs-filename"
-- [ ] "detect-non-literal-regexp"
-- [ ] "detect-non-literal-require"
-- [ ] "detect-object-injection"
-- [ ] "detect-possible-timing-attacks"
-- [ ] "detect-pseudoRandomBytes"
-- [ ] "detect-unsafe-regex"
-
-## SonarJS
-
-- [X] "cognitive-complexity"
-- [X] "max-switch-cases"
-- [X] "no-all-duplicated-branches"
-- [X] "no-collapsible-if"
-- [X] "no-collection-size-mischeck"
-- [X] "no-duplicate-string"
-- [X] "no-duplicated-branches"
-- [X] "no-element-overwrite"
-- [X] "no-extra-arguments"
-- [X] "no-identical-conditions"
-- [X] "no-identical-expressions"
-- [X] "no-identical-functions"
-- [X] "no-inverted-boolean-check"
-- [X] "no-one-iteration-loop"
-- [X] "no-redundant-boolean"
-- [X] "no-redundant-jump"
-- [X] "no-same-line-conditional"
-- [X] "no-small-switch"
-- [X] "no-unused-collection"
-- [X] "no-use-of-empty-return-value"
-- [X] "no-useless-catch"
-- [X] "prefer-immediate-return"
-- [X] "prefer-object-literal"
-- [X] "prefer-single-boolean-return"
-- [X] "prefer-while"
-
-## TypeScript
-
-- [ ] "adjacent-overload-signatures"
-- [ ] "array-type"
-- [X] "await-thenable"
-- [ ] "ban-ts-comment"
-- [ ] "ban-tslint-comment"
-- [ ] "ban-types"
-- [ ] "brace-style"
-- [ ] "camelcase"
-- [X] "class-literal-property-style"
-- [X] "comma-spacing"
-- [ ] "consistent-type-assertions"
-- [ ] "consistent-type-definitions"
-- [ ] "default-param-last"
-- [ ] "dot-notation"
-- [X] "explicit-function-return-type"
-- [X] "explicit-member-accessibility"
-- [ ] "explicit-module-boundary-types"
-- [ ] "func-call-spacing"
-- [X] "indent"
-- [ ] "init-declarations"
-- [ ] "keyword-spacing"
-- [ ] "lines-between-class-members"
-- [ ] "member-delimiter-style"
-- [ ] "member-ordering"
-- [X] "method-signature-style"
-- [ ] "naming-convention"
-- [ ] "no-array-constructor"
-- [X] "no-base-to-string"
-- [ ] "no-confusing-non-null-assertion"
-- [ ] "no-dupe-class-members"
-- [ ] "no-dynamic-delete"
-- [ ] "no-empty-function"
-- [X] "no-empty-interface"
-- [X] "no-explicit-any"
-- [ ] "no-extra-non-null-assertion"
-- [ ] "no-extra-parens"
-- [X] "no-extra-semi"
-- [ ] "no-extraneous-class"
-- [ ] "no-floating-promises"
-- [ ] "no-for-in-array"
-- [X] "no-implied-eval"
-- [X] "no-inferrable-types"
-- [ ] "no-invalid-this"
-- [ ] "no-invalid-void-type"
-- [X] "no-magic-numbers"
-- [ ] "no-misused-new"
-- [X] "no-misused-promises"
-- [X] "no-namespace"
-- [ ] "no-non-null-asserted-optional-chain"
-- [ ] "no-non-null-assertion"
-- [ ] "no-parameter-properties"
-- [ ] "no-require-imports"
-- [ ] "no-this-alias"
-- [ ] "no-throw-literal"
-- [X] "no-type-alias"
-- [ ] "no-unnecessary-boolean-literal-compare"
-- [X] "no-unnecessary-condition"
-- [ ] "no-unnecessary-qualifier"
-- [ ] "no-unnecessary-type-arguments"
-- [X] "no-unnecessary-type-assertion"
-- [ ] "no-unsafe-assignment"
-- [X] "no-unsafe-call"
-- [X] "no-unsafe-member-access"
-- [X] "no-unsafe-return"
-- [ ] "no-unused-expressions"
-- [X] "no-unused-vars"
-- [X] "no-unused-vars-experimental"
-- [X] "no-use-before-define"
-- [X] "no-useless-constructor"
-- [X] "no-var-requires"
-- [ ] "prefer-as-const"
-- [ ] "prefer-for-of"
-- [ ] "prefer-function-type"
-- [ ] "prefer-includes"
-- [ ] "prefer-namespace-keyword"
-- [ ] "prefer-nullish-coalescing"
-- [ ] "prefer-optional-chain"
-- [ ] "prefer-readonly"
-- [X] "prefer-readonly-parameter-types"
-- [ ] "prefer-reduce-type-parameter"
-- [ ] "prefer-regexp-exec"
-- [ ] "prefer-string-starts-ends-with"
-- [ ] "prefer-ts-expect-error"
-- [ ] "promise-function-async"
-- [X] "quotes"
-- [ ] "require-array-sort-compare"
-- [X] "require-await"
-- [ ] "restrict-plus-operands"
-- [ ] "restrict-template-expressions"
-- [ ] "return-await"
-- [X] "semi"
-- [X] "space-before-function-paren"
-- [X] "strict-boolean-expressions"
-- [ ] "switch-exhaustiveness-check"
-- [ ] "triple-slash-reference"
-- [X] "type-annotation-spacing"
-- [X] "typedef"
-- [ ] "unbound-method"
-- [ ] "unified-signatures"
-
-## Unicorn
-
-- [ ] "better-regex"
-- [ ] "catch-error-name"
-- [ ] "consistent-function-scoping"
-- [ ] "custom-error-definition"
-- [ ] "error-message"
-- [ ] "escape-case"
-- [ ] "expiring-todo-comments"
-- [ ] "explicit-length-check"
-- [X] "filename-case"
-- [X] "import-index"
-- [ ] "new-for-builtins"
-- [ ] "no-abusive-eslint-disable"
-- [ ] "no-array-instanceof"
-- [X] "no-console-spaces"
-- [ ] "no-fn-reference-in-iterator"
-- [ ] "no-for-loop"
-- [ ] "no-hex-escape"
-- [ ] "no-keyword-prefix"
-- [ ] "no-nested-ternary"
-- [ ] "no-new-buffer"
-- [ ] "no-null"
-- [ ] "no-process-exit"
-- [ ] "no-reduce"
-- [ ] "no-unreadable-array-destructuring"
-- [ ] "no-unsafe-regex"
-- [ ] "no-unused-properties"
-- [ ] "no-useless-undefined"
-- [ ] "no-zero-fractions"
-- [ ] "number-literal-case"
-- [ ] "prefer-add-event-listener"
-- [ ] "prefer-array-find"
-- [ ] "prefer-dataset"
-- [ ] "prefer-event-key"
-- [ ] "prefer-exponentiation-operator"
-- [ ] "prefer-flat-map"
-- [ ] "prefer-includes"
-- [ ] "prefer-modern-dom-apis"
-- [ ] "prefer-negative-index"
-- [ ] "prefer-node-append"
-- [ ] "prefer-node-remove"
-- [X] "prefer-number-properties"
-- [ ] "prefer-optional-catch-binding"
-- [ ] "prefer-query-selector"
-- [ ] "prefer-reflect-apply"
-- [ ] "prefer-replace-all"
-- [X] "prefer-set-has"
-- [ ] "prefer-spread"
-- [ ] "prefer-starts-ends-with"
-- [ ] "prefer-string-slice"
-- [ ] "prefer-text-content"
-- [ ] "prefer-trim-start-end"
-- [ ] "prefer-type-error"
-- [X] "prevent-abbreviations"
-- [ ] "string-content"
-- [ ] "throw-new-error"
-
-## Vue
-
-- [ ] "array-bracket-spacing"
-- [ ] "arrow-spacing"
-- [ ] "attribute-hyphenation"
-- [X] "attributes-order"
-- [ ] "block-spacing"
-- [ ] "brace-style"
-- [ ] "camelcase"
-- [X] "comma-dangle"
-- [ ] "comment-directive"
-- [ ] "component-definition-name-casing"
-- [ ] "component-name-in-template-casing"
-- [ ] "component-tags-order"
-- [ ] "dot-location"
-- [ ] "eqeqeq"
-- [X] "html-closing-bracket-newline"
-- [X] "html-closing-bracket-spacing"
-- [ ] "html-end-tags"
-- [X] "html-indent"
-- [X] "html-quotes"
-- [X] "html-self-closing"
-- [ ] "jsx-uses-vars"
-- [ ] "key-spacing"
-- [ ] "keyword-spacing"
-- [ ] "match-component-file-name"
-- [X] "max-attributes-per-line"
-- [ ] "max-len"
-- [ ] "multiline-html-element-content-newline"
-- [ ] "mustache-interpolation-spacing"
-- [ ] "name-property-casing"
-- [ ] "no-async-in-computed-properties"
-- [ ] "no-boolean-default"
-- [ ] "no-confusing-v-for-v-if"
-- [ ] "no-deprecated-scope-attribute"
-- [ ] "no-deprecated-slot-attribute"
-- [ ] "no-deprecated-slot-scope-attribute"
-- [ ] "no-dupe-keys"
-- [ ] "no-duplicate-attributes"
-- [ ] "no-empty-pattern"
-- [ ] "no-irregular-whitespace"
-- [X] "no-multi-spaces"
-- [ ] "no-parsing-error"
-- [ ] "no-reserved-component-names"
-- [ ] "no-reserved-keys"
-- [ ] "no-restricted-syntax"
-- [ ] "no-shared-component-data"
-- [ ] "no-side-effects-in-computed-properties"
-- [ ] "no-spaces-around-equal-signs-in-attribute"
-- [ ] "no-static-inline-styles"
-- [ ] "no-template-key"
-- [ ] "no-template-shadow"
-- [ ] "no-textarea-mustache"
-- [ ] "no-unsupported-features"
-- [ ] "no-unused-components"
-- [X] "no-unused-vars"
-- [ ] "no-use-v-if-with-v-for"
-- [ ] "no-v-html"
-- [X] "object-curly-spacing"
-- [ ] "order-in-components"
-- [X] "padding-line-between-blocks"
-- [ ] "prop-name-casing"
-- [ ] "require-component-is"
-- [ ] "require-default-prop"
-- [ ] "require-direct-export"
-- [ ] "require-name-property"
-- [ ] "require-prop-type-constructor"
-- [ ] "require-prop-types"
-- [ ] "require-render-return"
-- [ ] "require-v-for-key"
-- [ ] "require-valid-default-prop"
-- [ ] "return-in-computed-property"
-- [X] "script-indent"
-- [ ] "singleline-html-element-content-newline"
-- [X] "sort-keys"
-- [X] "space-infix-ops"
-- [ ] "space-unary-ops"
-- [ ] "static-class-names-order"
-- [ ] "this-in-template"
-- [ ] "use-v-on-exact"
-- [ ] "v-bind-style"
-- [ ] "v-on-function-call"
-- [ ] "v-on-style"
-- [ ] "v-slot-style"
-- [ ] "valid-template-root"
-- [ ] "valid-v-bind"
-- [ ] "valid-v-bind-sync"
-- [ ] "valid-v-cloak"
-- [ ] "valid-v-else"
-- [ ] "valid-v-else-if"
-- [ ] "valid-v-for"
-- [ ] "valid-v-html"
-- [ ] "valid-v-if"
-- [ ] "valid-v-model"
-- [ ] "valid-v-on"
-- [ ] "valid-v-once"
-- [ ] "valid-v-pre"
-- [ ] "valid-v-show"
-- [ ] "valid-v-slot"
-- [ ] "valid-v-text"