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 🙏

© 2026 – Pkg Stats / Ryan Hefner

zyd-server-build2

v1.0.22

Published

基于terser的js混淆build库,通过babel支持es6+

Readme

zyd-server-build2

Installation

$ npm install -s zyd-server-build2

Quickstart

./babelrc

{
  "presets": [
    "@babel/preset-env"
  ],
  "plugins": [
    [
      "@babel/plugin-proposal-decorators",
      {
        "legacy": true
      }
    ]
  ]
}

./jsconfig.json

{
  "compilerOptions": {
    "experimentalDecorators": true
  }
}

/package.json

{
  "name": "myApp",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "node build.js"
  },
  "author": "",
  "license": "ISC"
}

/build.js

const zsb = require("zyd-server-build2")
zsb()

Options

/build.js

const zsb = require("zyd-server-build2")
zsb({
  src: "..", // 源文件夹, . 代表当前目录, .. 代表上级目录
  dst: "../build", // 目标文件夹, . 代表当前目录, .. 代表上级目录
  noBuildFile: ["../server/config/index.js"], // 不需要混淆压缩的文件(完整路径),文件路径前需要包含src的内容,如实例,会被无改动打包到目标文件夹中
  noBuildDir: ["../server/public/js"]. // 不需要混淆压缩的文件夹(完整路径),文件路径前需要包含src的内容,如实例,会被无改动打包到目标文件夹中
  ignoreDir: [ // 需要忽略的文件夹(完整路径),文件夹路径前需要包含src的内容,如实例,忽略后不会被打包到目标文件夹中
    "../.git", 
    "../server/node_modules", 
  ], 
  ignoreFile: ["../.gitmodules"], // 需要忽略的文件(完整路径),文件路径前需要包含src的内容,如实例,忽略后不会被打包到目标文件夹中
  noDeleteDir: [".git", "node_modules"], // 需要忽略删除的文件或文件夹,默认:[".git", "node_modules"]
  copyright: "Powered by zydsoft™", // 版权申明
  options: { // 压缩选项
    drop_console: true, // 删除console
    dead_code: true, // 移除没被引用的代码
    drop_debugger: true, // 移除 debugger;
    hoist_funs: true, // 提升函数声明
    join_vars: true, // 合并连续 var 声明
    booleans: true, // 优化布尔运算,例如 !!a? b : c → a ? b : c
    loops: true, // 当do、while 、 for循环的判断条件可以确定是,对其进行优化。
    hoist_vars: true, //  (默认 false) -- 提升 var 声明 (默认是false,因为那会加大文件的size)
    properties: false, // (默认 false) — 传一个对象来自定义指明混淆对象属性的选项。
    unsafe_math: true, // (默认 false) -- 优化数字表达式,例如2 * x * 3 变成 6 * x, 可能会导致不精确的浮点数结果。
    unused: true, //  干掉没有被引用的函数和变量。(除非设置"keep_assign",否则变量的简单直接赋值也不算被引用。)
    pure_getters: true, // 默认是 false. 如果你传入true,会假设对象属性的引用(例如foo.bar 或 foo["bar"])没有函数副作用。
    passes: 10, // 默认 1。运行压缩的次数。在某些情况下,用一个大于1的数字参数可以进一步压缩代码大小。注意:数字越大压缩耗时越长。
    global_defs: {
      DEBUG: false
    },
  },
  encryptionPath: 0, // 混淆加密路径,默认为0,0代表不加密,1代表加密路径
  afterBuild: () => {} // 编译后运行的函数
})

License

MIT