最近发布了@types/node-observer包到npm,这里记录下发布过程

TS类型文件的包名通常以@types开头,使用npm publish发布以@types开头的包时需要使用付费账号。

 

我们无需自己注册付费账号,可以将自己的代码merge到开源项目DefinitelyTyped中,然后发布到npm上。

DefinitelyTyped

fork仓库DefinitelyTyped,拉取到本地(项目比较大,拉下来比较耗时)添加自己的代码、提交,然后创建Pull requests。勾选Pull requests模板中的选项:

 

发起Pull requests,会走一个CI流程,这个阶段耗费时间比较长,不知道是不是因为有墙的原因。期间出现几个错误记录记录如下:

index.d.ts头部解析错误

index.d.ts头部模板可参考:dt-header。这里出现两个错误:

Error: Could not parse version: line is '// TypeScript Version: 3.3.3'

Error parsing header. Expected: foo MAJOR.MINOR (patch version not allowed). See: https://github.com/Microsoft/dtslint/blob/master/docs/dt-header.md

这两个错误属于同一类,注释中只能使用主版本号.次版本号不能使用补丁版本号。修改后如下:

 

文件格式错误

.d.ts和.ts文件末尾要空一行

 
 

代码错误

export = observer;等号两边要有空格:

 
 

const obj = new Demo();这一行最初写的是let obj = new Demo();,报ERROR: 9:5 prefer-const Identifier 'obj' is never reassigned; use 'const' instead of 'let'.错误。
类定义Demo的方法sayHello不能使用public修饰符,否则报ERROR: 4:5 member-access 'public' is implicit.错误。

 
消除所有错误后,会交由人工处理merge,完成merge后就会发布到npm了。
 

小结

以上是自己合并代码到主分支时遇到的错误,解决问题花费时间不算太长,倒是花费了大量时间等待CI结果。整体感觉,CI流程对文件内容的格式要求很严格。代码的提交、合并的详细流程可以点击此处查看:#40450,所有的构建历史记录可以在此处查看

 

最新文章

  1. 高级java必会系列一:zookeeper分布式锁
  2. FluentData-新型轻量级ORM 利用T4模板 批量生成多文件 实体和业务逻辑 代码
  3. clipboard_monitor_in_win7
  4. 基于Django的web开发
  5. [ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载、ID型别差异
  6. ytu 1301:Excel地址转换(水题,进制转换)
  7. [现代程序设计]homework-03
  8. String中的Indexof,LastIndexOf, Indexofany,LastIndexOfAny 的区别
  9. UVA424高精度加法
  10. Linux命令学习: grep命令
  11. react 之 reflux 填坑
  12. Jmeter常用脚本开发之Java请求
  13. [Ubuntu] 编译安装 PHP 依赖库
  14. 8 -- 深入使用Spring -- 3... 资源访问
  15. hdu 2018多校8
  16. EasyUI 让dialog中的treegrid的列头固定
  17. [rejected] master -> master (fetch first)
  18. sql 设计规范
  19. 【刷题】洛谷 P3690 【模板】Link Cut Tree (动态树)
  20. [转载]关于python字典类型最疯狂的表达方式

热门文章

  1. jQuery 源码分析(十) 数据缓存模块 data详解
  2. okhttp浅析
  3. Spring Cloud Alibaba基础教程:Sentinel Dashboard同步Apollo存储规则
  4. Token ,Cookie、Session傻傻分不清楚?
  5. PHP面试题2019年阿里巴巴面试题及答案解析
  6. 敏捷软件开发_实例1<二>
  7. plus.webview.create 使用方法
  8. QML::Rectangle组件
  9. HTTP协议中的chunked编码解析
  10. 控件类——UIControl(其子类、属性)