我可以在 electron package.json 中使用环境变量来 osx 公证凭据吗?
Can I use environment variables in electron package.json for osx notarize credentials?
已成功公证我的 osx 电子申请,但现在的问题是苹果 ID 和应用程序专用密码在 package.json 中。我当然不想在那里对它们进行硬编码以进行分发,但是我可以使用 .env 文件中的环境变量来替换它们,或者我怎样才能将它们保密在 package.json 文件中?
我查看了 dotenv 和 cross-env,但没有看到如何在 package.json 文件中使用环境变量。
应用是使用 electron forge 构建的。
我使用的结构(取自 electron-forge 文档):
{
"name": "my-app",
"version": "0.0.1",
"config": {
"forge": {
"packagerConfig": {
"osxSign": {
"identity": "Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)",
"hardened-runtime": true,
"entitlements": "entitlements.plist",
"entitlements-inherit": "entitlements.plist",
"signature-flags": "library"
},
"osxNotarize": {
"appleId": "felix@felix.fun",
"appleIdPassword": "my-apple-id-password",
}
}
}
}
}
提前致谢。
你自己的副本 post :
您应该在单独的 JS 文件中提取 electron forge 配置:ElectronForge 配置并使用 process.env.YOUR_VARIABLE_NAME
加载您的环境变量
package.json
{
"name": "app",
"description": "app",
"productName": "app",
"version": "0.0.0",
"private": true,
"scripts": {
},
"config": {
"forge": "./forge.config.js"
},
...
}
forge.config.js
module.exports = {
"packagerConfig": {
"osxSign": {
"identity": "Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)",
"hardened-runtime": true,
"entitlements": "entitlements.plist",
"entitlements-inherit": "entitlements.plist",
"signature-flags": "library"
},
"osxNotarize": {
"appleId": process.env.NOTORIZE_APPLE_ID,
"appleIdPassword": process.env.NOTORIZE_APPLE_ID,
}
}
}
已成功公证我的 osx 电子申请,但现在的问题是苹果 ID 和应用程序专用密码在 package.json 中。我当然不想在那里对它们进行硬编码以进行分发,但是我可以使用 .env 文件中的环境变量来替换它们,或者我怎样才能将它们保密在 package.json 文件中?
我查看了 dotenv 和 cross-env,但没有看到如何在 package.json 文件中使用环境变量。
应用是使用 electron forge 构建的。
我使用的结构(取自 electron-forge 文档):
{
"name": "my-app",
"version": "0.0.1",
"config": {
"forge": {
"packagerConfig": {
"osxSign": {
"identity": "Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)",
"hardened-runtime": true,
"entitlements": "entitlements.plist",
"entitlements-inherit": "entitlements.plist",
"signature-flags": "library"
},
"osxNotarize": {
"appleId": "felix@felix.fun",
"appleIdPassword": "my-apple-id-password",
}
}
}
}
}
提前致谢。
你自己的副本 post :
您应该在单独的 JS 文件中提取 electron forge 配置:ElectronForge 配置并使用 process.env.YOUR_VARIABLE_NAME
package.json
{
"name": "app",
"description": "app",
"productName": "app",
"version": "0.0.0",
"private": true,
"scripts": {
},
"config": {
"forge": "./forge.config.js"
},
...
}
forge.config.js
module.exports = {
"packagerConfig": {
"osxSign": {
"identity": "Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)",
"hardened-runtime": true,
"entitlements": "entitlements.plist",
"entitlements-inherit": "entitlements.plist",
"signature-flags": "library"
},
"osxNotarize": {
"appleId": process.env.NOTORIZE_APPLE_ID,
"appleIdPassword": process.env.NOTORIZE_APPLE_ID,
}
}
}