vscode相关npm包,大厂封装,必属精品
一个围绕node.js fs.watch / fs.watchFile / FSEvents的封装
解决:不同系统兼容性、降低CPU利用率。规范化接收到的事件以提高稳定性
node-sentinel-file-watcher:A simple file watcher library for node.
NSFW是Linux、Windows和OSX文件监视服务的本机抽象,这些服务试图在操作系统之间保持一致的接口和特性集。NSFW提供了递归的文件监视到深层文件系统中,这对JavaScript层没有额外的成本。在Linux中,nsfw递归地构建一个本机的inotify监视树,它将事件并发收集到javascript线程。在OSX中,nsfw使用fseventsservice,它递归地监视指定目录中的文件系统更改。在Windows中,nsfw围绕readDirectoryChangesw方法实现服务器。
当nsfw有事件并且没有被限制时,它将按照事件发生的顺序对这些事件进行分组,并在单个回调中将它们报告给javascript层。这是对使用节点fs.watch的服务的改进,该节点对触发的每个文件事件都使用回调。当监视大型文件系统操作时,对事件队列进行的每个回调fs.watch都是对nsfw性能的一个很大的奖励,因为nsfw在指定的限制期内只进行一次带有许多事件的回调。
那么为什么NSFW?因为它在JavaScript层中有一个一致的和最小的内存占用,管理递归监视,并且非常容易使用。
node.js的异步、非阻塞sqlite3绑定。
貌似最有用的一个,但不知道是不是适用于别的项目
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();
特性
- 简单明了的查询和参数绑定接口
- 完整的 缓冲区(Buffer)/Blob 支持
- 广泛的 调试支持
- 序列化查询 支持一条语句执行完成后,再执行下一条?
- 扩展支持
- 大测试套件
- 用现代C++编写并测试内存泄漏
- 如果安装系统不包含sqlite,则将sqlite3 3.26.0捆绑为回退
xterm.js是一个用JavaScript编写的终端前端组件,在浏览器中工作。
它使应用程序能够为其用户提供功能齐全的终端,并创造良好的开发体验。
特性
- 基于文本的应用程序支持:使用xterm.js处理bash、git等应用程序。
- 基于Curses的应用程序支持:使用xterm.js来处理VIM、TMUX等应用程序。
- 鼠标事件支持:xterm.js捕获鼠标事件,如单击和滚动,并将其传递给终端的后端控制进程。
- CJK(中文、日文、韩文)字符支持:xterm.js无缝呈现CJK字符
- 输入法支持:使用键盘输入的输入法插入国际(包括CJK)字符
- 独立的库:xterm.js独立工作。它不需要任何外部库(如jquery)或对工作作出反应
- 模块化、基于事件的API:让您轻松构建插件和主题
.
以下不用看
一种通用异步模块定义(AMD)加载程序,主要用于加载vscode的源代码。
支持的环境
- IE 11, Edge, Firefox, Chrome, Safari, Opera
- nodejs
- electron (渲染 & 主进程),当加载一个模块,如果用AMD规则无法找到,则用本地require加载(呃,原来是干这个的,没多大用)
特性
- 被resolved后立刻执行工厂方法
- 包含一个CSS加载程序(vs/css)
- 包含自然语言字符串加载程序(vs/nls)
vscode-debugprotocol 它用来调试用的,还封了包
vscode-proxy-agent 为了适应vscode的electron-proxy-agent
vscode-ripgrep 大概是它的插件下载系统
vscode-textmate 语法文件解释器