Awesome
awesome-micro-npm-packages
「 关注小型npm包的列表 」
校对 √
<!-- doc-templite START generated --> <!-- repo = 'parro-it/awesome-micro-npm-packages' --> <!-- time = '2018 5.7' --> <!-- commit = 'f1f91a80eef48995f738079b4303d6c093f1a7ad' -->翻译的原文 | 与日期 | 最新更新 | 更多 |
---|---|---|---|
commit | ⏰ 2018 5.7 | 中文翻译 |
贡献
欢迎 👏 勘误/校对/更新贡献 😊 具体贡献请看
生活
help me live , live need money 💰
真棒,微型npm包
一个小且,专注在Node.js模块的列表.
受awesome启发列举事物.
文章
- 一行代码的 node modules
- 构建小,单一用途的 modules
- Module 最佳 实践
- 评估包第1部分 - 转向社区
- 评估包第2部分 - 审核存储库
- 小模块:它并不是那么简单
- 超小的模块化套餐:疯狂的崇拜还是合理的实践?
- 防范超小模块化JavaScript
- 微小的npm包:遵循小包装理念,创建Node.js模块的指南
- 小模块的成本
- 为什么我局觉得 "小-包" 是件好事
模块
数组
- is-sorted-检查数组是否被排序.
- array-first-获取数组的第一个元素或开始的第n个元素.
- array-last-返回数组中的最后一个元素.
- arr-flatten-递归地平移数组或数组.
- dedupe-从数组中删除重复项.
- array-range-创建具有给定范围的新数组.
- arr-diff-返回一个数组,该数组只存在来自第一个数组,通过严格相等进行比较的方式,来排除来自其他数组的所有值.
- filled-array-返回填充了指定输入的数组
- map-array将对象键和值映射到数组中.
- in-array-如果数组中存在任何传递值,则返回true - 快过 indexOf
- unordered-array-remove-在不进行splice的情况下,有效地从无序数组中移除元素.
- array-swap-在数组中交换两个值的位置.
- mirrarray-从有效key数组创建相同key的对象.
- group-array将对象成组变为列表.
- array.chunk-将 数组/类型数组分割成给定大小的块.
String
- decamelize-将一个骆驼字符串转换成一个带有自定义分隔符的小写字符串: unicornRainbow → unicorn_rainbow.
- pad-left 填补上0,让字符串符合一定长度
- to-camel-case-将字符串转换为驼峰情况.
- to-capital-case-将字符串转换为大写情况.
- to-constant-case-
camelCase
->CAMEL_CASE
- to-dot-case-
camelCase
->camel.case
. - to-no-case-从字符串中移除现有的情况.
- to-pascal-case-
space case
-> "SpaceCase". - to-sentence-case-
the catcher, in the rye.
-> "The catcher, in the rye.". - to-snake-case-
camelCase
-> "camel_case". - to-space-case-
-RAnDom -jUNk$__loL!
-> "random junk lol". - to-title-case-
the catcher in the rye
-> "The Catcher in the Rye". - node-slug-转UTF-8字符. 'i ♥ unicode'> 'i-love-unicode'
- rtrim- 只从字符串的结尾剪掉空格或其他字符.
- slice.jsJavaScript库来实现String.substring / Array.slice. python slice 样式
- strip-ansi 去掉ANSI escape代码.
- striptags-在Node.js中实现PHP的strip_tags.
- parse-next-json-value-从字符串中解析下一个JSON值,可根据索引查找.
日期和时间
- pretty-ms-将毫秒转换为人类可读字符串: 1337000000 到 15D 11H 23M 20s.
- hirestime-围绕内置高分辨率计时器的包装器,简化了时间戳的计算.
- periods为JavaScript定义的时间段常数,以毫秒为单位.
- fechaJavaScript日期格式化和解析.
- akamai-time-reference-使用Akamai的时间参考服务获取参考时间.
- timeago.js- 一个小的 (~1.7kb) 库用来格式化日期
*** time ago
语句. - count-days-in-month- 得到一个月的天数.
- time-stamp - 获取格式化的时间戳.
- twas - 生成相对时间字符串 (例如: "3秒前")
对象
- map-obj将对象键和值映射到新对象中.
- filter-obj-将对象键值和值过滤到新对象中.
- object-values-获取对象的值.
- object-pairs-将对象转换为[key, value],用于映射,迭代或其他用途.
- zipmap- 压拼成一个对象.
- just-pluck - 获取对应key的所有值.
- deep-equalNode的
assert.deepEqual()
算法作为独立的模块. - deep-assign递归Object.assign() .
- set-value-创建嵌套和任何中间点表示法 (
'a.b.c'
) 路径的值. - get-value-使用属性路径 (a.b.c) 从对象中获得嵌套值.
- has-value如果值存在,则返回true,如果为空则返回false. 使用点表示法与深度嵌套值 (
'a.b.c'
) 路径一起工作. - has-key-deep-深度搜索对象key. 可以通过提供密钥阵列或使用点路径来搜索密钥.
- flatkeys-使用自定义分隔符,将对象键层次结构变为字符串列表.
- flatten-obj-将具有深嵌套节点的对象文字,转换为简单的键/值对象.
- is-empty-object-检查对象是否为空.
- stringify-object- JSON.stringify一样压缩一个对象/数组, 但字符串中没有双引号.
- sorted-object-返回一个对象的拷贝,并对其键进行排序.
- static-props-使用
Object.defineProperties
定义静态对象属性 - missing-deep-keys返回第二个没有,而第一个对象有的key数组.
- has-own-property-检查对象是否具有本地属性.
- merge-objects-深度合并两个对象. 作为同一对象键的值的数组, 被连接起来.
- deep-object-diff-深度对比包括数组和对象的嵌套结构的两个JavaScript对象,同时保存数据结构. .
函数
- compose-function从较小的函数组成一个新函数
f(g(x))
. - curry - 荷里化函数,没有任何太聪明.
- once-一次运行一个函数.
- deep-bind-将上下文绑定到对象中的所有函数,包括深度嵌套的函数.
- identity-function-始终返回输入参数.
- mem一种优化技术,用于通过缓存具有相同输入的调用的结果, 来加速连续函数调用.
- throttle-debounce-Throttle/debounce你的函数.
数学
- is-number - 返回
true
,如果值是一个数字.
数据流-Stream
- through2-围绕node 的 streams2的小包装,以避免明显的子类噪声.
- through2-filter一个用于through2的类
Array.prototype.filter
作用函数. - through2-map一个用于through2的类
Array.prototype.map
作用函数. - stream-spigot-一种可读的流生成器,用于测试或将 简单函数 转换成可读的流.
- concat-stream可写流,它连接字符串或数据,并调用结果的回调.
- JSONStream流式的 JSON解析和字符串化
- through2-map-promise-一个小的基于Promise的through2包装器.
- pump 管道流动在一起,如果它们中的一个关闭,就关闭所有的管道.
- split-分解一个流并重新组装它,那每一行都是块.
- is-stream - 检查是否是Node.js流.
- syncthrough- 同步传递数据.
Promise
- pify-转换回调样式到Promise样式函数.
- promise-all-props似
Promise.all
但,适用于对象属性. - sleep-promise - 等待一定时间,再 解决Promise.
- is-promise-测试一个对象是否像promises-a+ promise.
文件系统
- rimraf-Node的深度删除模块 (如
rm -rf
) . - mkdirp-递归 mkdir,如 mkdir -p.
- du du -sb 的一个简单的JavaScript实现.
- file-size- 用于转换,操作和处理文件大小值.
- tmp-用于Node.js的临时文件和目录生成器.
- fs-promise-Node fs方法搭配 Promise/A+ (可选 fs-extra, graceful-fs) .
浏览器
- delegate-轻量级事件委派.
- insert-css-将一组CSS插入头部
- dom-element-value- DOM元素值 get器/set器.
- image-promise在
Promise
中,加载一个或多个<img>
. - get-media-size-获得原始尺寸, 可以是任何
img
/video
/svg
/canvas
标签或 canvas上下文. - document-ready-为现代浏览器准备 好document ready 监听器.
- copee-从浏览器复制文本到剪贴板 ... 原生!
Semver
- semver- NPM使用的语义版本解析器.
- semver-max-根据semver查找最大 (或最小) 版本.
- semver-first-satisfied-在满足semver范围的版本数组中找到最小值.
CLI
- abbrev-计算给定字符串集的唯一缩写的集合.
- glob-用于Node.js的glob函数.
- username-获取当前用户的用户名.
- minimist 解析参数选项.
- png-to-ico-将PNG转换为Windows ICO格式.
- help-version-轻松处理CLI应用程序中的 --help 和 --version 参数
模块管理
- pkg-conf从最近的包中,获取命名空间配置.
- normalize-pkg-规范package.json中的值,以提高兼容性,编程可读性和使用第三方库的实用性.
Generators
- is-generator-检查输入值是否是发电机函数.
其他
- uuid-在JavaScript中生成符合RFC的UUID.
- node-mime-基于 mime-db 模块的综合MIME类型映射API.
- not-defined-检查 输出 是否未定义,即undefined, null, 空的 string, array or object.
- is-fqdn-检查字符串是否表示全限定的域名.
相关列表
本节包含了一些有用的列表,如果您使用或编写小npm模块,您可能会发现它们是有用的.
- awesome-nodejs一个愉快的Node.js包和资源的精选列表.
- awesome-npm-真棒的npm资源和提示.
小模块摇滚明星
这些人开发 awesome的NPM模块,遵循单一的责任理念. 跟随他们去发现新的伟大的模块:
Sindre Sorhus | James Halliday | Eugene Sharygin | Isaac Z. Schlueter | Jon Schlinkert | Dominic Tarr |
Rod Vagg | Max Ogden | Brian Woodward |
贡献
欢迎! 阅读贡献 指南.
许可证
在法律允许的范围内,Andrea Parodi已放弃所有著作权及相关或相邻权利.