UNPKG

@ntbl/validator

Version:

一个内置验证规则的数据验证库

100 lines (89 loc) 2.44 kB
const path = require('path') const buble = require('rollup-plugin-buble') const alias = require('rollup-plugin-alias') const cjs = require('rollup-plugin-commonjs') const replace = require('rollup-plugin-replace') const node = require('rollup-plugin-node-resolve') const flow = require('rollup-plugin-flow-no-whitespace') const version = require('../package.json').version const moduleName = 'validator' // 文件头声明 const banner = '/*!\n' + ` * Vue.js v${version}\n` + ` * (c) 2014-${new Date().getFullYear()} Evan You\n` + ' * Released under the MIT License.\n' + ' */' const aliases = require('./alias') const resolve = p => { const base = p.split('/')[0] if (aliases[base]) { return path.resolve(aliases[base], p.slice(base.length + 1)) } else { return path.resolve(__dirname, '../', p) } } // 配置信息 /* entry S - 入口文件 dest S - 目标文件(文件名带 .min 将会进行压缩) format S - 打包的格式类型(cjs, es, umd) banner S - 文件头声明 moduleName S - 指定包名 alias O - 别名 plugins A - 插件 external A - 忽略的包 */ const builds = { 'cjs': { entry: resolve('src/index.js'), dest: resolve(`dist/${moduleName}.cjs.js`), format: 'cjs', env: 'development', banner, external: ['validator'], }, 'es': { entry: resolve('src/index.js'), dest: resolve(`dist/${moduleName}.es.js`), format: 'es', env: 'development', banner, external: ['validator'], }, } function genConfig (name) { const opts = builds[name] const config = { input: opts.entry, external: opts.external, plugins: [ flow(), alias(Object.assign({}, aliases, opts.format)) ].concat(opts.plugins || []), output: { file: opts.dest, format: opts.format, banner: opts.banner, name: opts.moduleName || moduleName }, onwarn: (msg, warn) => { if (!/Circular/.test(msg)) { warn(msg) } } } // 替换打包文件中的变量 const vars = { __WEEX__: !!opts.weex, __VERSION__: version } config.plugins.push(replace(vars)) return config } if (process.env.TARGET) { module.exports = genConfig(process.env.TARGET) } else { exports.getBuild = genConfig exports.getAllBuilds = () => Object.keys(builds).map(genConfig) }