0.0.7 • Published 3 years ago

wxmllint v0.0.7

Weekly downloads
28
License
ISC
Repository
-
Last release
3 years ago

wxmllint

An unofficial wxml linter and validator.
fork and modified from htmllint

目前可用的rc文件 ./lib/presets/default.js
wxmllint init

TODO

  • "attr-bans"
  • "attr-name-ignore-regex"
  • "attr-name-style" -- camelCase?
  • "attr-new-line" --建议 3
  • "attr-no-dup" --建议 true
  • "attr-no-unsafe-char" --建议 true
  • "attr-order" --建议 "/^wx/", "/^(?!wx)/"
  • "attr-quote-style" --建议 "quoted"
  • "attr-req-value" ----建议 false ----booleanAttrs不能满足自定义属性的需求
  • "attr-validate" --建议 true
  • "button-req-content" --建议 false --大量button只是为了open-type

  • "class-no-dup"
    --模板语法不能正确解析 class="{{ a ? 'a' : 'b' }}"
    --配合 "id-class-ignore-regex": "{{.*?}}" 基本可以, 还是有部分class解析不对的情况:

<view class="shop-icon">
     <view class="num {{cartSkuNum < 10 ? '' : cartSkuNum <= 99 ? 'numMiddle' : 'numLarge'}}"></view>
</view>
  • "class-style" --TODO
  • "doctype-first" --建议 false
  • "doctype-html5" -- false
  • "fieldset-contains-legend"
  • "fig-req-figcaption" -- false 小程序不适用
  • "focusable-tabindex-style" -- false
  • "head-req-title" -- false 小程序不适用
  • "head-valid-content-model" -- false 小程序不适用
  • "href-style" -- false
  • "html-req-lang" -- false 小程序不适用
  • "html-valid-content-model" -- false 小程序不适用
  • "id-class-ignore-regex" -- "{{.*?}}" --部分情况似乎有bug, 见 "class-no-dup"
  • "id-class-no-ad" -- false
  • "id-class-style" -- false
  • "id-no-dup" -- true

  • "img-req-alt" -- false

  • "img-req-src" -- true
  • "indent-delta" -- false
  • "indent-style" -- false
  • "indent-width" -- false
  • "indent-width-cont" -- false
  • "input-btn-req-value-or-title" -- true
  • "input-radio-req-name" -- false
  • "input-req-label" -- false
  • "label-no-enc-textarea-or-select" -- true
  • "label-req-for" -- false
  • "lang-style" -- true
  • "line-end-style" -- false
  • "line-max-len" -- ?
  • "line-max-len-ignore-regex"
  • "line-no-trailing-whitespace"

  • "link-min-length-4" -- true --TODO: 考虑mustache

  • "link-req-noopener" -- true 小程序应该不适用
  • "maxerr"
  • "raw-ignore-regex" -- 解析有问题: "/\<!-- htmllint ignore -->^*?\<!-- htmllint unignore -->/"
  • "spec-char-escape" -- false --TODO: mustache
  • "table-req-caption" -- true
  • "table-req-header" -- true
  • "tag-bans" -- image?
  • "tag-close" -- true
  • "tag-name-lowercase" -- false
  • "tag-name-match" -- 统一到 "tag-close"
  • "tag-req-attr" --建议 {"image": {"name": "src"}} -- TODO: 实现个 "tag-no-attr" 来禁止 text 上的 class
  • "tag-self-close" -- 统一到 "tag-close"
  • "text-ignore-regex"
  • "title-max-len" -- false 小程序不适用
  • "title-no-dup" -- false 小程序不适用
  • Tokenizer 中识别各处出现的 mustache

wxml 中的 attribs

<view wx:if="{{conditionA}}" {{skuList.length}} bindtap="doSth"></view>

====>
wx:if ---- {{conditionA}}
{{skuList.length}} ---- 
bindtap ---- doSth
0.0.5

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago