UNPKG

@winner-fed/winner-deploy

Version:

Generate a publication deployed by the See platform

44 lines (43 loc) 1.53 kB
const fs = require('fs') const path = require('path') const JavaScriptObfuscator = require('./obfuscator') try { const webAppName = process.argv[2] || process.env.WEB_APP_NAME const configBase = process.argv[3] || process.env.CONFIG_FILE_NAME || 'sysconfig' const pkgRoot = process.argv[4] ? path.resolve(process.argv[4]) : path.resolve(__dirname, '..', '..') if (!webAppName) { console.error('缺少前端应用目录名:请传入第 1 个参数或设置环境变量 WEB_APP_NAME') process.exit(1) } const filepath = path.join(pkgRoot, webAppName, `${configBase}.js`) console.log(`__filename:${__filename}`) console.log(`文件路径:${filepath}`) if (!fs.existsSync(filepath)) { console.error(`文件不存在: ${filepath}`) process.exit(1) } const sourceCode = fs.readFileSync(filepath, 'utf8') const obfuscationResult = JavaScriptObfuscator.obfuscate( sourceCode, { compact: true, controlFlowFlattening: true, controlFlowFlatteningThreshold: 0.75, deadCodeInjection: true, deadCodeInjectionThreshold: 0.5, numbersToExpressions: true, simplify: true, selfDefending: true, shuffleStringArray: true, splitStrings: true, stringArrayThreshold: 0.75, unicodeEscapeSequence: true } ) fs.writeFileSync(filepath, obfuscationResult.getObfuscatedCode()) console.log('代码混淆完成,并已更新成功') console.log(`更新路径:${filepath}`) } catch (e) { console.error(e) process.exit(1) }