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

mesh-devtool

v1.1.8

Published

Downloads

4

Readme

mesh-devtool

  • 项目的简介以及用途

    统一处理 mesh-website 里的 vue 项目的开发,打包,部署

    inspire by Create-React-App

  • 项目的开发环境配置,调试过程,项目的生产的配置,部署过程

    在主项目中通过 lerna bootstrap 安装依赖
    直接开发,无需打包
    在主项目中通过 lerna publish 发布到 npm
  • 项目的依赖的用途(每个依赖用一句话介绍)

      "dependencies": {
          "@timer/detect-port": "1.1.3", // 检查端口占用
          "address": "1.0.1", // 获取本机 IP, MAC 和 DNS
          "anser": "1.3.0", // ANSI sequences parser
          "axios": "^0.16.2", // http Client
          "babel-code-frame": "6.22.0", // 显示错误的代码以及位置
      		"blueimp-load-image": "^2.12.2", // load image 项目共有依赖
          "blueimp-md5": "^2.4.0", // JavaScript MD5 implementation 项目共有依赖
          "jshashes": "^1.0.7", // crypto 项目共有依赖
          "chalk": "1.1.3", // Terminal string styling
          "cross-spawn": "^5.1.0", // 跨平台 spawn
          "escape-string-regexp": "1.0.5", // Escape RegExp special characters
          "filesize": "3.3.0", // generate a human readable String describing the file size
          "gzip-size": "3.0.0", // Get the gzipped size of a string or buffer
          "html-entities": "1.2.1", // HTML entities encode/decode library.
          "inquirer": "3.0.6", // interactive command line user interfaces.
          "lodash": "^4.17.4", // utils
          "opn": "5.0.0", // Cross-platform node-open
          "qiniu": "^6.1.13", // qiniu sdk
          "recursive-readdir": "2.2.1", // recurisve read dir
          "shell-quote": "1.6.1", // Quote and parse shell commands
          "sockjs-client": "1.1.4", // sockjs client
          "strip-ansi": "3.0.1", // Strip ANSI escape codes
          "text-table": "0.2.0", // Borderless text tables with alignment
          "vue": "^2.3.3", // MVVM Library
          "vue-i18n": "5", // i18n plugin for vue
          "vue-router": "^2.3.1", // router plugin for vue
          "vue-touch": "github:vuejs/vue-touch#next_old", // mobile touch library, lock the version
          "vuex": "^2.0.0", // state management for vue
          "wheel": "0.0.5" // wheel util
        }
  • 项目的目录结构,每个目录的用途
      ├── README.md
      ├── TODO.md
      ├── bin
      │   └── mesh-devtool.js // 程序主入口
      ├── config
      │   ├── env.js // 处理环境变量
      │   ├── karma.conf.js // karma config
      │   ├── karma.electron.conf.js // karma config for electron
      │   ├── loaders.js // webpack loader
      │   ├── paths.js // 定义路径变量
      │   ├── polyfills.js // polyfills
      │   ├── postcss.config.js // postcss config
      │   ├── proxy.js // api proxy
      │   ├── vue-loader.conf.js // vue loader config
      │   ├── webpack.config.base.js // base webpack config
      │   ├── webpack.config.dev.js // dev webpack config
      │   ├── webpack.config.prod.js // production webpack config
      │   ├── webpack.config.test.js // test env webpack config
      │   └── webpackDevServer.config.js // webpack dev server config
      ├── package.json
      ├── public // 共有的 public 文件
      │   ├── index.html
      │   ├── manifest.json
      │   └── static
      │       └── icons
      ├── scripts // 实际执行的脚本
      │   ├── build.js // build 命令
      │   ├── deploy.js // deploy 命令
      │   ├── e2e.js // e2e 命令
      │   ├── start.js // start 命令
      │   └── test.js // test 命令
      ├── utils
      └── yarn.lock
  • 项目重要模块的结构图以及流程图

    Usage

    It only have four commands

    mesh-devtool [start / build / deploy / test / e2e]
    

    command options are provide by process.env

    process.env.TARGET : electron-renderer | web
    process.env.REPORT : true // Analyze the bundle
    

    e2e specific option

    // adding this flag means you don't want to run the `start` script before e2e test, it is useful for adding test case frequently
    yarn e2e --noBuild
    

    Configs

    • env

    enviroment variable setting, for inject to the js file using DefinePlugin and also use in webpack config

    • paths

    paths config for webpack, this make webpack output files in right location

  • 项目中存在改进的模块,以及存在严重问题均需要罗列出 issue 到 issue 中

    需要迁移到 webpack 4