package.js 1.3 KB
Newer Older
d-u-a's avatar
d-u-a 已提交
1 2
const uniI18n = require('@dcloudio/uni-cli-i18n')

fxy060608's avatar
fxy060608 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
const PLATFORMS = [
  'h5',
  'app-plus',
  'mp-weixin',
  'mp-qq',
  'mp-baidu',
  'mp-alipay',
  'mp-toutiao'
]

module.exports = {
  initCustomScript (name, pkgPath) {
    const pkg = require(pkgPath)
    const uniAppOptions = pkg['uni-app']

    let scriptOptions = false

fxy060608's avatar
fxy060608 已提交
20 21
    if (uniAppOptions && uniAppOptions.scripts) {
      scriptOptions = uniAppOptions.scripts[name]
fxy060608's avatar
fxy060608 已提交
22 23 24
    }

    if (!scriptOptions) {
d-u-a's avatar
d-u-a 已提交
25
      console.error(`package.json->uni-app->scripts->${name} ${uniI18n.__('cliShared.doesNotExist')}`)
fxy060608's avatar
fxy060608 已提交
26 27 28 29
      process.exit(0)
    }

    if (!scriptOptions.env || !scriptOptions.env.UNI_PLATFORM) {
d-u-a's avatar
d-u-a 已提交
30
      console.error(uniI18n.__('cliShared.requireConfigUniPlatform', { "0": `package.json->uni-app->scripts->${name}->env ` }))
fxy060608's avatar
fxy060608 已提交
31 32 33 34
      process.exit(0)
    }

    if (PLATFORMS.indexOf(scriptOptions.env.UNI_PLATFORM) === -1) {
d-u-a's avatar
d-u-a 已提交
35
      console.error(uniI18n.__('cliShared.supportPlatform', { "0": 'UNI_PLATFORM', "1": JSON.stringify(PLATFORMS)}))
fxy060608's avatar
fxy060608 已提交
36 37 38 39
      process.exit(0)
    }

    process.env.UNI_PLATFORM = scriptOptions.env.UNI_PLATFORM
d-u-a's avatar
d-u-a 已提交
40

fxy060608's avatar
fxy060608 已提交
41
    process.env.UNI_SCRIPT = name
fxy060608's avatar
fxy060608 已提交
42 43 44 45 46
    process.UNI_SCRIPT_ENV = scriptOptions.env || {}
    process.UNI_SCRIPT_DEFINE = scriptOptions.define || {}

    return scriptOptions
  }
Q
qiang 已提交
47
}