一個(gè)圍繞node.js fs.watch / fs.watchFile / FSEvents的封裝
解決:不同系統(tǒng)兼容性、降低CPU利用率。規(guī)范化接收到的事件以提高穩(wěn)定性
node-sentinel-file-watcher:A simple file watcher library for node.
NSFW是Linux、Windows和OSX文件監(jiān)視服務(wù)的本機(jī)抽象,這些服務(wù)試圖在操作系統(tǒng)之間保持一致的接口和特性集。NSFW提供了遞歸的文件監(jiān)視到深層文件系統(tǒng)中,這對JavaScript層沒有額外的成本。在Linux中,nsfw遞歸地構(gòu)建一個(gè)本機(jī)的inotify監(jiān)視樹,它將事件并發(fā)收集到j(luò)avascript線程。在OSX中,nsfw使用fseventsservice,它遞歸地監(jiān)視指定目錄中的文件系統(tǒng)更改。在Windows中,nsfw圍繞readDirectoryChangesw方法實(shí)現(xiàn)服務(wù)器。
當(dāng)nsfw有事件并且沒有被限制時(shí),它將按照事件發(fā)生的順序?qū)@些事件進(jìn)行分組,并在單個(gè)回調(diào)中將它們報(bào)告給javascript層。這是對使用節(jié)點(diǎn)fs.watch的服務(wù)的改進(jìn),該節(jié)點(diǎn)對觸發(fā)的每個(gè)文件事件都使用回調(diào)。當(dāng)監(jiān)視大型文件系統(tǒng)操作時(shí),對事件隊(duì)列進(jìn)行的每個(gè)回調(diào)fs.watch都是對nsfw性能的一個(gè)很大的獎(jiǎng)勵(lì),因?yàn)閚sfw在指定的限制期內(nèi)只進(jìn)行一次帶有許多事件的回調(diào)。
那么為什么NSFW?因?yàn)樗贘avaScript層中有一個(gè)一致的和最小的內(nèi)存占用,管理遞歸監(jiān)視,并且非常容易使用。
node.js的異步、非阻塞sqlite3綁定。
貌似最有用的一個(gè),但不知道是不是適用于別的項(xiàng)目
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(':memory:');
db.serialize(function() {
db.run("CREATE TABLE lorem (info TEXT)");
var stmt = db.prepare("INSERT INTO lorem VALUES (?)");
for (var i = 0; i < 10; i++) {
stmt.run("Ipsum " + i);
}
stmt.finalize();
db.each("SELECT rowid AS id, info FROM lorem", function(err, row) {
console.log(row.id + ": " + row.info);
});
});
db.close();
特性
- 簡單明了的查詢和參數(shù)綁定接口
- 完整的 緩沖區(qū)(Buffer)/Blob 支持
- 廣泛的 調(diào)試支持
- 序列化查詢 支持一條語句執(zhí)行完成后,再執(zhí)行下一條?
- 擴(kuò)展支持
- 大測試套件
- 用現(xiàn)代C++編寫并測試內(nèi)存泄漏
- 如果安裝系統(tǒng)不包含sqlite,則將sqlite3 3.26.0捆綁為回退
xterm.js是一個(gè)用JavaScript編寫的終端前端組件,在瀏覽器中工作。
它使應(yīng)用程序能夠?yàn)槠溆脩籼峁┕δ荦R全的終端,并創(chuàng)造良好的開發(fā)體驗(yàn)。
特性
- 基于文本的應(yīng)用程序支持:使用xterm.js處理bash、git等應(yīng)用程序。
- 基于Curses的應(yīng)用程序支持:使用xterm.js來處理VIM、TMUX等應(yīng)用程序。
- 鼠標(biāo)事件支持:xterm.js捕獲鼠標(biāo)事件,如單擊和滾動(dòng),并將其傳遞給終端的后端控制進(jìn)程。
- CJK(中文、日文、韓文)字符支持:xterm.js無縫呈現(xiàn)CJK字符
- 輸入法支持:使用鍵盤輸入的輸入法插入國際(包括CJK)字符
- 獨(dú)立的庫:xterm.js獨(dú)立工作。它不需要任何外部庫(如jquery)或?qū)ぷ髯鞒龇磻?yīng)
- 模塊化、基于事件的API:讓您輕松構(gòu)建插件和主題
.
以下不用看
一種通用異步模塊定義(AMD)加載程序,主要用于加載vscode的源代碼。
支持的環(huán)境
- IE 11, Edge, Firefox, Chrome, Safari, Opera
- nodejs
- electron (渲染 & 主進(jìn)程),當(dāng)加載一個(gè)模塊,如果用AMD規(guī)則無法找到,則用本地require加載(呃,原來是干這個(gè)的,沒多大用)
特性
- 被resolved后立刻執(zhí)行工廠方法
- 包含一個(gè)CSS加載程序(vs/css)
- 包含自然語言字符串加載程序(vs/nls)
vscode-debugprotocol 它用來調(diào)試用的,還封了包
vscode-proxy-agent 為了適應(yīng)vscode的electron-proxy-agent
vscode-ripgrep 大概是它的插件下載系統(tǒng)
vscode-textmate 語法文件解釋器