1.0.11 • Published 2 years ago

danwo v1.0.11

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

danwo

安装

npm install danwo --save-dev

API

const danwo = require('danwo');

// 根据config.range扫描整个工程,config.range为一个glob字符窜或glob字符串数组
danwo.scan(config).then((res) => {
    console.log(res);
});

// 根据config.range对整个工程进行校验
danwo.validate(config);

// 根据用户输入,创建dw-custom
danwo.dwCustom(options);

// 根据config.range扫描整个工程的vue文件,把/deep/ selector替换为:deep(selector)
danwo.deepSeector(config);

config配置

// 工具包提供默认配置
const path = require('path')
const cwd = process.cwd()

module.exports = {
  range: './src/**/*.*',
  output: {
    type: 'xlsx',
    fileName: './relation/dep.xlsx'
  },
  alias: {
    '@/': path.resolve(cwd, './src'),
    'utils': path.resolve(cwd, './src/utils'),
    'config': path.resolve(cwd, './config'),
    'components': path.resolve(cwd, './src/components')
  },
  ext: [
    '.js', '.ejs', '.ts', '.vue'
  ],
  // 依赖关系校验规则
  depRules: [
    {
      test: /\/src\/view/, // 主文件路径匹配规则
      // 依赖文件校验规则
      validate(sourcePath, targetPath) {
        const regular = /\/src\/views\/([\w\-]+)/
        const sourceRes = sourcePath.match(regular)
        const targtRes = targetPath.match(regular)
        if (sourceRes && targtRes && sourceRes[1] != targtRes[1] && targtRes[1] != 'components') {
          return false
        }
        return true
      },
      errorMsg: '页面之间不允许相互依赖'
    }, {
      test: /\/src\/components\//,
      validate(sourcePath, targetPath) {
        return !targetPath.includes('/src/views/')
      },
      errorMsg: 'components不允许依赖src'
    },
  ],
  // import方法调用校验
  importRule: {
    exclude: /^src\/router\//,
    errorMsg: '业务代码不允许使用import方法'
  },
  npmModules: {
    exclude: /\.(css|less|sass)$/,
    errorMsg: '不允许直接引用npm包的文件'
  }
}
1.0.2

2 years ago

1.0.1

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.0

2 years ago