Micro npm Packages

Awesome Micro npm Packages Awesome

>精心设计的小型Node.js模块列表.

灵感来自 awesome 列出的东西.

Articles

Modules

Array

  • 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 - 无需拼接即可有效地从无序数组中删除元素.
  • array-swap - 交换阵列中两个项目的位置.
  • mirrarray - 从有效键数组中创建keymirror对象.
  • group-array - 将对象数组分组到列表中.
  • array.chunk - 将数组/ TypedArray拆分为给定大小的块.

String

  • decamelize - 使用自定义分隔符将camelized字符串转换为小写字符串:unicornRainbow→unicorn_rainbow.
  • pad-left - 左键填充带有零或指定字符串的字符串.
  • to-camel-case - 将字符串转换为驼峰案例.
  • to-capital-case - 将字符串转换为大写字母.
  • to-constant-case - 将字符串转换为常量大小写.
  • to-dot-case - 将字符串转换为点大小写.
  • to-no-case - 从字符串中删除现有案例.
  • to-pascal-case - 将字符串转换为pascal大小写.
  • to-sentence-case - 将字符串转换为句子大小写.
  • to-snake-case - 将字符串转换为蛇形案例.
  • to-space-case - 将字符串转换为空格大小写.
  • to-title-case - 将字符串转换为标题大小写.
  • node-slug - 即使是utf-8字符也会受到影响.
  • rtrim - 从字符串的末尾删除空格 - 或其他字符.
  • slice.js - 使用python切片样式使用String.substring / Array.slice的Javascript库.
  • strip-ansi - 剥去ANSI转义码.
  • striptags - 在Node.js中实现PHP的strip_tags.
  • parse-next-json-value - 从字符串中解析下一个JSON值,允许在值之后输出无关字符.

Date & Time

  • pretty-ms - 将毫秒转换为人类可读的字符串:1337000000→15d 11h 23m 20s.
  • hirestime - 内置高分辨率计时器的包装器,简化了时间戳的计算.
  • periods - Defined time-periods constants for Javascript, in milliseconds.
  • fecha - Javascript日期格式和解析.
  • akamai-time-reference - 使用Akamai的时间参考服务获取参考时间.
  • timeago.js - 一个小的(~1.7kb)库,用于用'*** time ago`语句格式化日期.
  • count-days-in-month - 获取给定月份的天数.
  • time-stamp - 获取格式化的时间戳.
  • twas - 生成相对时间字符串(例如:“3秒前”)

Object

  • map-obj - 将对象键和值映射到新对象.
  • filter-obj - 将对象键和值过滤到新对象中.
  • object-values - 获取对象的值.
  • object-pairs - 将对象转换为[键,值]对列表以进行映射,迭代或其他目的.
  • zipmap - 返回映射到相应val的键的映射. zipmap还接受单个对象或对的值.
  • just-pluck - 没有疯狂的采摘.
  • deep-equal - Node的assert.deepEqual()算法作为独立模块.
  • deep-assign - 递归Object.assign().
  • set-value - 创建嵌套值和任何中间点点符号(''abc'`)路径.
  • get-value - 使用属性路径(abc)从对象获取嵌套值.
  • has-value - 如果值存在则返回true,如果为空则返回false. 使用点表示法('abc')路径使用深层嵌套值.
  • has-key-deep - 深度搜索键的对象. 可以通过提供密钥数组或使用点符号来搜索密钥.
  • flatkeys - 使用自定义分隔符将对象键层次结构展平为字符串列表.
  • flatten-obj - 将具有深层嵌套节点的对象文字转换为简单的键/值对象.
  • is-empty-object - 检查对象是否为空.
  • stringify-object - 在没有所有双引号的情况下,将像JSON.stringify这样的对象/数组进行字符串化.
  • sorted-object - 返回对象的副本,其键已排序.
  • static-props - 使用Object.defineProperties定义静态对象属性
  • missing-deep-keys - 返回第一个对象中第二个缺失的键数组.
  • has-own-property - 检查对象是否具有本地属性.
  • merge-objects - 深度合并两个对象. 作为同一对象键的值的数组将被连接.
  • deep-object-diff - 深度区分两个JavaScript对象,同时保留数据结构. 包括数组和对象的嵌套结构.

Function

  • compose-function - 用较小的函数f(g(x))编写一个新函数.
  • curry - 没有太聪明的咖喱功能.
  • once - 完全运行一次功能.
  • deep-bind - 将上下文绑定到对象中的所有函数,包括深层嵌套函数.
  • identity-function - 始终返回输入参数.
  • mem - 一种优化技术,用于通过缓存具有相同输入的调用结果来加速连续函数调用.
  • throttle-debounce - 节制/去抖你的功能.
  • compose-tiny - 非常小巧快速的撰写功能.

Math

  • is-number - 如果值是数字,则返回“true”.

Stream

  • through2 - Node streams2周围的微小包装器转换以避免显式的子类化噪声.
  • through2-filter - 一个to2为流创建一个Array.prototype.filter模拟.
  • through2-map - 一个to2为流创建一个Array.prototype.map模拟.
  • stream-spigot - 可读流生成器,用于测试简单函数或将简单函数转换为可读流.
  • concat-stream - 可串流,用于连接字符串或数据,并使用结果调用回调.
  • JSONStream - 流JSON.parse和stringify
  • through2-map-promise - 一个基于promise的小包装器,适用于through2.
  • pump - 如果其中一个关闭,则将管道汇流在一起并关闭所有这些管道.
  • split - 分解流并重新组合它,使每一行都是一个块.
  • is-stream - 检查某些东西是否是Node.js流.
  • syncthrough - 同步传递数据.

Promise

File System

  • rimraf - 节点的深度删除模块(如rm -rf).
  • mkdirp - 递归mkdir,如mkdir -p.
  • du - du -sb的简单JavaScript实现.
  • file-size - 轻量级文件大小到人类可读/比例无依赖性.
  • tmp - node.js的临时文件和目录创建者.
  • fs-promise - 节点fs方法为Promise / A +(可选fs-extra,graceful-fs).

Browser

Semver

CLI

  • abbrev - 计算给定字符串集的唯一缩写集.
  • glob - node.js的Glob功能.
  • username - 获取当前用户的用户名.
  • minimist - 解析参数选项.
  • png-to-ico - 将png转换为windows ico格式.
  • help-version - 在CLI应用程序中轻松处理--help和--version参数

Module management

  • pkg-conf - 从最近的package.json获取命名空间配置.
  • normalize-pkg - 规范化package.json中的值,以提高与第三方库的兼容性,编程可读性和实用性.

Generators

Other

  • uuid - 在JavaScript中生成符合RFC的UUID.
  • node-mime - 基于mime-db模块的全面的MIME类型映射API.
  • not-defined - 检查foo是否未定义,即未定义,null,空字符串,数组或对象.
  • is-fqdn - 检查字符串是否代表完全限定的域名.

本节包含很棒的列表,如果您使用或编写小型NPM模块,这些列表可能会很有用.

Small modules rockstars to follow

这些人习惯于开发符合单一责任理念的超棒NPM模块. 跟随他们发现新的伟大模块:

Sindre Sorhus James Halliday Eugene Sharygin Isaac Z. Schlueter Jon Schlinkert Dominic Tarr
Sindre Sorhus James Halliday Eugene Sharygin Isaac Z. Schlueter Jon Schlinkert Dominic Tarr
Rod Vagg Max Ogden Brian Woodward
Rod Vagg Max Ogden Brian Woodward

Contribute

欢迎捐款! 阅读 contribution guidelines 第一.

License

CC0

在法律允许的范围内, Andrea Parodi 已放弃对此作品的所有版权及相关或相邻权利.