const chalk = require('chalk'); const isAliEnv = require('is-ali-env'); function useBigfish(type, pkg) { if (process.env.MONITOR === 'none') return; isAliEnv().then(val => { if (val) { let stopMsg = pkg.name === 'roadhog' ? `${pkg.name} 宸蹭簬 2019.3.1 鍋滄缁存姢` : `${pkg.name} 宸插仠姝㈢淮鎶; console.log(` --- 馃挜馃挜馃挜 ${chalk.bold.red(`${stopMsg}锛屼负浜嗘洿濂藉鎮ㄨ繘琛屾湇鍔★紝鎺ㄨ崘浣跨敤 bigfish銆俙)} 閽夐拤缇わ細Bigfish 閲戠墝鏈嶅姟缇� 锛堢兢鍙�21761376锛� 瀹樼綉锛歨ttps://bigfish.alipay.com/ ${pkg.name === 'roadhog' ? `鍗囩骇鏂囨。锛歨ttps://bigfish.alipay.com/doc/dgmrg0\n` : `鍗囩骇鏂囨。锛歨ttps://bigfish.alipay.com/doc/tnyo3y\n`} --- `); } }); } const messages = { buildComplete: { roadhog: [useBigfish], 'atool-build': [useBigfish], }, devStart: { dora: [useBigfish], }, devComplete: { roadhog: [useBigfish], 'atool-build': [useBigfish], }, }; function run(type, pkg, opts) { try { messages[type][pkg.name].forEach(message => { if (typeof message === 'string') { console.log(message); } else if (typeof message === 'function') { message(type, pkg, opts); } }) } catch (e) { } } exports.onBuildStart = function (pkg, opts) { run('buildStart', pkg, opts); } exports.onBuildComplete = function (pkg, opts) { run('buildComplete', pkg, opts); } exports.onDevStart = function (pkg, opts) { run('devStart', pkg, opts); } exports.onDevComplete = function (pkg, opts) { run('devComplete', pkg, opts); }