электронно-строитель. Как подключить afterSign только при сборке приложения ma c - PullRequest
1 голос
/ 08 января 2020

У меня есть модуль after-sign, который обрабатывает нотариальное заверение.

Я хочу выполнить его только при сборке ma c app.

Мой пакет. json - вот так.

"scripts": {
  "build:mac": "node .electron-vue/build.js && electron-builder --mac",
  "build:win": "node .electron-vue/build.js && electron-builder --win --x64 --ia32",
},
"build": {
    "mac": {
      "hardenedRuntime": true,
      "entitlements": "./notarlization/entitlement.plist",
      "entitlementsInherit": "./notarlization/entitlement.plist"
    },
    "afterSign": "./notarlization/after-sign.js"
  }

А мой модуль после подписи - вот так.

module.exports = async () => {
  if (process.platform === 'darwin') {
    console.log(`公証通過申請中...`)
    try {
      await notarize({
        appBundleId,
        appPath,
        appleId,
        appleIdPassword,
        ascProvider
      })
      console.log('公証通過完了')
    } catch (error) {
      console.log('公証通過失敗: ', error)
    }
  }
}

На самом деле все работает нормально.

Потому что я строю ма c приложение в macOS и приложение Win в WinOS.

Но я думаю, if (process.platform === 'darwin') {} не является kool.

Я хочу сделать что-то подобное в пакете. json.

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

1 голос
/ 09 января 2020

Из документации по электронному строительству вы можете увидеть внизу страницы, что вы можете использовать afterSign внутри mac объекта конфигурации "... И все обычные платформы- speci c options.", что, я думаю, лучший способ сделать это.

В противном случае вы можете увидеть другие доступные варианты здесь

0 голосов
/ 20 апреля 2020
function getBuilderFlags () {
  // https://www.electron.build/cli
  const winFlags = ['--win', '-w', '--windows']
  const macFlags = ['--mac', '-m', '-o', '--macos']
  const cmd = process.argv

  console.log('Checking cmd arguments:', cmd)

  const result = {}
  result.isWinOn = cmd.some(flag => winFlags.includes(flag))
  result.isMacOn = cmd.some(flag => macFlags.includes(flag))
  return result
}

exports.default = async function (context) {
  console.log(' start: After Sign Hook')
  const flags = getBuilderFlags()

  if (flags.isWinOn) {
    console.log('processing windows...')
  }
  if (flags.isMacOn) {
    console.log('processing mac...')
  }
  console.log('finish: After Sign Hook')
}
...