[Javascript] How to write a Javascript libarary
Create package.json file
//npm settings npm set init-author-name 'username' npm set init-author-email 'username@gmail.com' npm set init-author-url 'http://username.com' npm set save-exact true //create package.json npm init
Pubish to github and tag it
git status git add -A git commit -m "commit message" git push git tag 1.0.0 git push --tags
Publish to npm
npm publish
npm info <project_name>
Release a new version
1. according to the changes to change the version in package.json 2. publish to git 3. publish tag to git 4. npm publish 5. npm info
Publishing a beta version
1. In package.json: "version": "1.2.0-beta.0", 2. publish to git 3. tag it in git 4. npm publish --tag beta 5. npm info //install npm install starwars-ns@beta npm install starwars-ns@1.2.0-beta.0
Mocha, chai testing:
var expect = require('chai').expect; var starWars = require('./index'); describe('starwars-names', function() { describe('all', function(){ //check return type it('should be an array of strings', function(){ expect(starWars.all).to.satisfy(isArrayOfString); function isArrayOfString(array){ return array.every(function(item){ return typeof item === 'string'; }); } }); //ccheck one of the value it('should includ Asajj Ventress', function(){ expect(starWars.all).to.include('Asajj Ventress'); }); }); describe('random', function(){ it('should return one of the starwar names form all', function(){ expect(starWars.all).to.include(starWars.random()); }) }); });
semantic-release:
npm install -g semantic-release-cli //Install //RUN semantic-release-cli setup
Writing conventional commits with commitizen:
npm install -D cz-conventional-changelog
npm install -D commitizen
Add script:
"commit": "git-cz"
Add Config:
"czConfig": { "path": "node_modules/cz-conventional-changelog" },
Add Badges:
  
http://shields.io/
分类:
Javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具