#validation #tnip #tnipv #telcoin #tnips

tnipv-preamble

tnipv的序言解析器,Telcoin网络改进提案验证器

1个不稳定版本

0.1.0 2024年8月12日

632网络编程 中排名

Download history 114/week @ 2024-08-10

114 每月下载量
tnipv-lint 中使用

MPL-2.0 许可证

20KB
248

tnipv

markdown提交的TNIP验证器。

这是Telcoin网络对EIPW的特定实现。我们衷心感谢他们的努力、代码质量和开源精神。

USAGE:
    tnipv [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

演示

示例TNIP

---
tnip: 2
description: A really short example of an TNIP.
title: Sample of an TNIP
author: Grant Kee (@grantkee)
discussions-to: https://forum.telcoin.org/t/great-feature/100
status: Living
type: Meta
created: 2022-06-30
---

## Specification

Implementers of this TNIP 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 TNIP.
  |

检查

id 描述
markdown-html-comments 审查就绪的TNIP中没有HTML注释
markdown-json-cite 所有 csl-json 代码块都遵循正确的模式。
markdown-link-first TNIP的第一个提及必须是链接。
markdown-link-status 在正文中链接的TNIP的状态比当前提案更靠后。
markdown-order-section 没有额外的部分,部分顺序正确。
markdown-re-tnip-dash 其他TNIP使用TNIP-X引用,而不是TNIPX或TNIP X。
markdown-rel-links 页面中的所有URL都是相对的。
markdown-req-section 所需部分在提案正文中存在。
markdown-headings-space 标题后有空格
preamble-author 作者标题格式正确,列出了至少一个GitHub用户。
preamble-date-created created 标题是一个日期。
preamble-date-last-call-deadline last-call-deadline 标题是一个日期。
preamble-discussions-to discussions-to 标题是一个有效的URL。
preamble-tnip tnip 标题是一个非负整数。
preamble-enum-category category 标题是可识别的值。
preamble-enum-status status 标题是可识别的值。
preamble-enum-type type 标题是可识别的值。
preamble-file-name 文件名反映了TNIP编号。
preamble-len-description description 标题不太长。
preamble-len-title title 标题不太长。
preamble-len-requires 《requires》头文件至少有一个条目。
前言列表-作者 《author》头文件是一个正确格式的逗号分隔列表。
前言列表-requires 《requires》头文件是一个正确格式的逗号分隔列表。
前言-无重复 没有重复的头文件。
前言-顺序 前言头文件顺序正确。
前言-重新描述 描述中不包含“标准”或类似词语。
前言-重新描述-冒号 描述中不包含任何“:”字符。
前言-重新描述-tnip-破折号 在《description》头文件中引用的TNIP使用破折号。
前言-重新讨论到 《discussions-to》头文件指向Telcoin论坛
前言-重新标题 标题中不包含“标准”或类似词语。
前言-重新标题-冒号 标题中不包含任何“:”字符。
前言-重新标题-tnip-破折号 在《title》头文件中引用的TNIP使用破折号。
前言-要求 所有必需的前言头文件都存在。
前言-要求-类别 仅在需要时,《category》头文件才存在。
前言-要求-最后调用截止日期 仅在需要时,《last-call-deadline》头文件才存在。
前言-要求-撤回原因 仅在需要时,《withdrawal-reason》头文件才存在。
前言-要求-requires-引用描述 在《description》头文件中提到的提案出现在《requires》头文件中。
前言-要求-requires-引用标题 在《title》头文件中提到的提案出现在《requires》头文件中。
前言-要求-requires-状态 在《requires》头文件中列出的TNIP的状态比当前提案更靠前。
前言-修剪 前言字段周围没有多余的空白。
前言-无符号整数-requires 《requires》头文件是非负整数的排序列表。

JavaScript / WebAssembly

tnipv-lint-jstnipv 作为npm包打包,用于JavaScript / TypeScript。

您可以在npm上找到该软件包

构建 & 发布

cd tnipv-lint-js
wasm-pack test --node
wasm-pack build -t nodejs
wasm-pack publish -t nodejs

依赖项

~4–5MB
~94K SLoC