1 个不稳定版本
0.1.0 | 2023 年 11 月 8 日 |
---|
#9 在 #eip 中
20KB
248 行
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.
|
Lint
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-X 引用其他 EIP,而不是 EIPX 或 EIP X。 |
markdown-re-erc-dash |
使用 ERC-X 引用其他 ERC,而不是 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 编号。 |
preamble-len-description |
描述标题不太长。 |
前言长度-标题 |
标题标题不太长。 |
前言长度-要求 |
要求标题至少有一项。 |
前言列表-作者 |
作者标题是一个正确格式的逗号分隔列表。 |
前言列表-要求 |
要求标题是一个正确格式的逗号分隔列表。 |
前言无重复 |
没有重复标题。 |
前言顺序 |
前言标题的顺序正确。 |
前言描述不包含 |
描述不包含“标准”或类似词语。 |
前言描述不包含冒号 |
描述不包含任何“:”字符。 |
前言描述-使用破折号 |
描述标题中引用的EIP使用破折号。 |
前言描述-ERC使用破折号 |
描述标题中引用的ERC使用破折号。 |
前言讨论到 |
讨论到标题的代码标题指向Ethereum Magicians |
前言标题不包含 |
标题不包含“标准”或类似词语。 |
前言标题不包含冒号 |
标题不包含任何“:”字符。 |
前言标题-使用破折号 |
标题标题中引用的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
依赖项
~3.5–5MB
~92K SLoC