3个版本 (破坏性更新)
0.8.0 | 2023年10月27日 |
---|---|
0.7.0 | 2023年10月26日 |
0.6.0 | 2023年9月29日 |
#30 in #validator
用于eipw
210KB
5K SLoC
eipw
比eipv
多一个的EIP验证器。
USAGE:
eipw [OPTIONS] [SOURCES]...
ARGS:
<SOURCES>... Files and/or directories to check
OPTIONS:
--format <FORMAT> Output format [default: text] [possible values: text, json]
-h, --help Print help information
--lints <LINTS> Additional lints to enable
--list-lints List all available lints
--no-default-lints Do not enable the default lints
演示
示例EIP
---
eip: 2
description: A really short example of an EIP.
title: Sample of an EIP
author: Sam Wilson (@SamWilsn)
discussions-to: https://example.com/
status: Living
type: Meta
created: 2022-06-30
---
## Specification
Implementers of this EIP must...
## Abstract
This is an abstract!
输出
error[markdown-order-section]: section `Specification` must come after `Motivation`
--> /tmp/demo.md
|
12 | ## Specification
|
error[preamble-order]: preamble header `description` must come after `title`
--> /tmp/demo.md
|
3 | description: A really short example of an EIP.
|
Lints
id | 描述 |
---|---|
markdown-html-comments |
审查就绪的EIP中不包含HTML注释 |
markdown-json-cite |
所有csl-json 代码块都遵循正确的架构。 |
markdown-link-first |
对EIP的第一次提及必须是链接。 |
markdown-link-status |
在正文中链接的EIP的状态比当前提案更晚。 |
markdown-order-section |
没有额外的部分,且部分顺序正确。 |
markdown-re-eip-dash |
其他EIP使用EIP-X引用,而不是EIPX或EIP X。 |
markdown-re-erc-dash |
其他ERC使用ERC-X引用,而不是ERCX或ERC X。 |
markdown-refs |
ERC使用ERC-X引用,而其他提案使用EIP-X。 |
markdown-rel-links |
页面中的所有URL都是相对的。 |
markdown-req-section |
提案正文中包含必需的部分。 |
preamble-author |
作者标题格式正确,至少列出了一个GitHub用户。 |
preamble-date-created |
created 标题是日期。 |
preamble-date-last-call-deadline |
last-call-deadline 标题是日期。 |
preamble-discussions-to |
discussions-to 标题是有效的URL。 |
preamble-eip |
eip 标题是非负整数。 |
preamble-enum-category |
category 标题是已识别的值。 |
preamble-enum-status |
status 标题是已识别的值。 |
preamble-enum-type |
type 标题是已识别的值。 |
preamble-file-name |
文件名反映了EIP编号。 |
前言-长度-描述 |
描述头不是太长。 |
前言-长度-标题 |
标题头不是太长。 |
前言-长度-需求 |
需求头至少有一个条目。 |
前言-列表-作者 |
作者头是正确格式的逗号分隔列表。 |
前言-列表-需求 |
需求头是正确格式的逗号分隔列表。 |
前言-无重复 |
没有重复的标题。 |
前言-顺序 |
前言标题的顺序是正确的。 |
前言-重新描述 |
描述不包含“标准”或类似词语。 |
前言-重新描述-冒号 |
描述不包含任何“:”字符。 |
前言-重新描述-EIP-破折号 |
在描述头中引用的EIP使用破折号。 |
前言-重新描述-ERC-破折号 |
在描述头中引用的ERC使用破折号。 |
前言-重新讨论-到 |
讨论-到头指向以太坊魔术师。 |
前言-重新标题 |
标题不包含“标准”或类似词语。 |
前言-重新标题-冒号 |
标题不包含任何“:”字符。 |
前言-重新标题-EIP-破折号 |
在标题头中引用的EIP使用破折号。 |
前言-重新标题-ERC-破折号 |
在标题头中引用的ERC使用破折号。 |
前言-引用-描述 |
在描述头中引用的ERC使用ERC-前缀。 |
前言-引用-标题 |
在标题头中引用的ERC使用ERC-前缀。 |
前言-要求 |
所有必需的前言标题都存在。 |
前言-要求-类别 |
只有当需要时才存在类别头。 |
前言-要求-最后调用截止日期 |
只有当需要时才存在最后调用截止日期头。 |
前言-要求-撤回原因 |
只有当需要时才存在撤回原因头。 |
前言-要求-引用-描述 |
在描述头中提到的提案出现在需求头中。 |
前言-要求-引用-标题 |
在标题头中提到的提案出现在需求头中。 |
前言-要求-状态 |
在需求头中列出的EIP状态比当前提案更远。 |
前言-修剪 |
前言字段周围没有多余的空格。 |
前言-无符号整数-需求 |
需求头是非负整数的排序列表。 |
JavaScript / WebAssembly
eipw-lint-js
将eipw
作为npm包打包,用于JavaScript / TypeScript。
您可以在npm上找到该包。
构建与发布
cd eipw-lint-js
wasm-pack test --node
wasm-pack build -t nodejs
wasm-pack publish -t nodejs
依赖关系
约15-25MB
约398K SLoC