npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@dwdjs/utils

v1.0.16

Published

utils

Downloads

25

Readme

公共代码库

TIP

  • 0.2.0 切换为编译输出到 lib,管理输出更干净
  • 删除 "miniprogram": "./", 即不再适配小程序引用

常用方法收集

import { xxx } from @dwdjs/utils;

  • is
    • hasOwn
    • isUnDef
    • isDef
    • isNumber
    • isInteger
    • isString
    • isArray
    • isObject
    • isFunction (alias isFn)
    • isEmptyObject
    • isPromise
    • looseEqual (alias isEqual)
  • utils
    • sleep
    • random
    • randomRange
    • uuid
    • forEachValue
    • cached
    • upperFirst
    • kebabCase
    • camelCase
    • merge
    • throttle
    • debounce
    • getPlainNode
  • 按需条件加载 js 或 css
    • loadJs
    • loadCss
  • date
    • formatDate
    • formatCountDown
  • qs 处理 url query-string
    • copy
      • alias: deepCopy clone
    • parse
    • stringify
    • compact
    • compactObject
  • cache 持久化缓存相关
    • storage
    • cookie
  • 其他
    • debug
    • Emitter
    • Version (eq, gt, gte, lt, lte)
    • [ ] forEachObj
    • [ ] find

独立功能方法,需要使用 @dwdjs/utils/lib/xxx 路径来引入;

  • import @dwdjs/utils/lib/rem;
  • import device from '@dwdjs/utils/lib/device';
  • import @dwdjs/utils/lib/bridge/WebViewJavascriptBridge
  • [ ] import { Tongji, baidu, piwik } from @dwdjs/utils/lib/tongji; 用法
  • [ ] import jsReport from @dwdjs/utils/lib/report;
  • [ ] import udesk from @dwdjs/utils/lib/udesk;

Device 设备类型

if (/Mac OS X/.test(navigator.userAgent)) document.documentElement.className += ' plat_osx';
else if (/Linux|FreeBSD/.test(navigator.userAgent)) document.documentElement.className += ' plat_linux';
else document.documentElement.className += ' plat_win';

if (/WOW64|Win64|x86_64/.test(navigator.userAgent)) document.documentElement.className += ' arch_64';
else document.documentElement.className += ' arch_32';

faq

  1. npm run test 报错
Jest did not exit one second after the test run has completed.

This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.

参考 https://github.com/facebook/jest/issues/1456

  1. npm publish 报错
403 Forbidden - PUT http://registry.npmjs.org/dwd-utils - dwd-utils cannot be republished until 24 hours have passed.
  • npm新的规则:发布过后24h内可以自己手动删除,需要加上 -f 参数,参见
  • 如果你删除之后再重新发布同名的包,会报如下错误,需要再等24h方可发布

参考 https://github.com/muwenzi/Program-Blog/issues/12

  1. npm run test 报错
# 报错误
TypeError: Cannot assign to read only property 'Symbol(Symbol.toStringTag)' of object '#<process>'

这里升级 node 版本 11.11.0后引起,可以退回版本11.10.1或升级到11.12.0

# 报错误
ReferenceError: regeneratorRuntime is not defined

调整 babel.config.js

支持浏览器版本判断 .browserslistrc

需求优先级

P0 - 战略需求 P1 - 重要紧急 P2 - 重要不紧急 P3 - 紧急不重要