本文整理汇总了TypeScript中builder-util.warn函数的典型用法代码示例。如果您正苦于以下问题:TypeScript warn函数的具体用法?TypeScript warn怎么用?TypeScript warn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了warn函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: isSignAllowed
export function isSignAllowed(isPrintWarn = true): boolean {
if (process.platform !== "darwin") {
if (isPrintWarn) {
warn("macOS application code signing is supported only on macOS, skipping.")
}
return false
}
const buildForPrWarning = "There are serious security concerns with CSC_FOR_PULL_REQUEST=true (see the CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)" +
"\nIf you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you."
if (isPullRequest()) {
if (isEnvTrue(process.env.CSC_FOR_PULL_REQUEST)) {
if (isPrintWarn) {
warn(buildForPrWarning)
}
}
else {
if (isPrintWarn) {
// https://github.com/electron-userland/electron-builder/issues/1524
warn("Current build is a part of pull request, code signing will be skipped." +
"\nSet env CSC_FOR_PULL_REQUEST to true to force code signing." +
`\n${buildForPrWarning}`)
}
return false
}
}
return true
}
示例2: computeElectronVersion
export async function computeElectronVersion(projectDir: string, projectMetadata: MetadataValue): Promise<string> {
const result = await getElectronVersionFromInstalled(projectDir)
if (result != null) {
return result
}
const electronPrebuiltDep = findFromElectronPrebuilt(await projectMetadata!!.value)
if (electronPrebuiltDep == null || electronPrebuiltDep === "latest") {
try {
const releaseInfo = JSON.parse((await httpExecutor.request({
hostname: "github.com",
path: "/electron/electron/releases/latest",
headers: {
Accept: "application/json",
},
}))!!)
return (releaseInfo.tag_name.startsWith("v")) ? releaseInfo.tag_name.substring(1) : releaseInfo.tag_name
}
catch (e) {
warn(e)
}
throw new Error(`Cannot find electron dependency to get electron version in the '${path.join(projectDir, "package.json")}'`)
}
const firstChar = electronPrebuiltDep[0]
return firstChar === "^" || firstChar === "~" ? electronPrebuiltDep.substring(1) : electronPrebuiltDep
}
示例3: computeDefaultAppDirectory
export async function computeDefaultAppDirectory(projectDir: string, userAppDir: string | null | undefined): Promise<string> {
if (userAppDir != null) {
const absolutePath = path.resolve(projectDir, userAppDir)
const stat = await statOrNull(absolutePath)
if (stat == null) {
throw new Error(`Application directory ${userAppDir} doesn't exists`)
}
else if (!stat.isDirectory()) {
throw new Error(`Application directory ${userAppDir} is not a directory`)
}
else if (projectDir === absolutePath) {
warn(`Specified application directory "${userAppDir}" equals to project dir â superfluous or wrong configuration`)
}
return absolutePath
}
for (const dir of DEFAULT_APP_DIR_NAMES) {
const absolutePath = path.join(projectDir, dir)
const packageJson = path.join(absolutePath, "package.json")
const stat = await statOrNull(packageJson)
if (stat != null && stat.isFile()) {
return absolutePath
}
}
return projectDir
}
示例4: checkMetadata
export function checkMetadata(metadata: Metadata, devMetadata: any | null, appPackageFile: string, devAppPackageFile: string): void {
const errors: Array<string> = []
const reportError = (missedFieldName: string) => {
errors.push(`Please specify '${missedFieldName}' in the package.json (${appPackageFile})`)
}
const checkNotEmpty = (name: string, value: string | null | undefined) => {
if (isEmptyOrSpaces(value)) {
reportError(name)
}
}
if ((metadata as any).directories != null) {
errors.push(`"directories" in the root is deprecated, please specify in the "build"`)
}
checkNotEmpty("name", metadata.name)
if (isEmptyOrSpaces(metadata.description)) {
warn(`description is missed in the package.json (${appPackageFile})`)
}
if (!metadata.author) {
warn(`author is missed in the package.json (${appPackageFile})`)
}
checkNotEmpty("version", metadata.version)
if (devMetadata != null) {
checkDependencies(devMetadata.dependencies, errors)
}
if (metadata !== devMetadata) {
checkDependencies(metadata.dependencies, errors)
if (metadata.build != null) {
errors.push(`'build' in the application package.json (${appPackageFile}) is not supported since 3.0 anymore. Please move 'build' into the development package.json (${devAppPackageFile})`)
}
}
const devDependencies = (metadata as any).devDependencies
if (devDependencies != null && "electron-rebuild" in devDependencies) {
log('electron-rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies\n\nTo ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`')
}
if (errors.length > 0) {
throw new Error(errors.join("\n"))
}
}
示例5: warn
.catch(error => {
if (dep.optional) {
warn(`Cannot build optional native dep ${dep.name}`)
}
else {
throw error
}
})
示例6: signed
export function signed(packagerOptions: PackagerOptions): PackagerOptions {
if (process.env.CSC_KEY_PASSWORD == null) {
warn("macOS code sign is not tested â CSC_KEY_PASSWORD is not defined")
}
else {
packagerOptions.cscLink = CSC_LINK
}
return packagerOptions
}
示例7: getElectronVersionFromInstalled
export async function getElectronVersionFromInstalled(projectDir: string) {
for (const name of ["electron", "electron-prebuilt", "electron-prebuilt-compile"]) {
try {
return (await readJson(path.join(projectDir, "node_modules", name, "package.json"))).version
}
catch (e) {
if (e.code !== "ENOENT") {
warn(`Cannot read electron version from ${name} package.json: ${e.message}`)
}
}
}
return null
}
示例8: reactCra
export async function reactCra(projectDir: string): Promise<Configuration> {
if ((await statOrNull(path.join(projectDir, "public", "electron.js"))) == null) {
warn("public/electron.js not found. Please see https://medium.com/@kitze/%EF%B8%8F-from-react-to-an-electron-app-ready-for-production-a0468ecb1da3")
}
return {
directories: {
buildResources: "assets"
},
files: ["build/**/*"],
extraMetadata: {
main: "build/electron.js"
}
}}
示例9: getToolPath
async function getToolPath(): Promise<ToolInfo> {
if (isUseSystemSigncode()) {
return {path: "osslsigncode"}
}
const result = process.env.SIGNTOOL_PATH
if (result) {
return {path: result}
}
const vendorPath = await getSignVendorPath()
if (process.platform === "win32") {
// use modern signtool on Windows Server 2012 R2 to be able to sign AppX
if (isOldWin6()) {
return {path: path.join(vendorPath, "windows-6", "signtool.exe")}
}
else {
return {path: path.join(vendorPath, "windows-10", process.arch, "signtool.exe")}
}
}
else if (process.platform === "darwin") {
let suffix: string | null = null
try {
if (await isMacOsSierra()) {
const toolDirPath = path.join(vendorPath, process.platform, "10.12")
return {
path: path.join(toolDirPath, "osslsigncode"),
env: computeToolEnv([path.join(toolDirPath, "lib")]),
}
}
else if (isCi) {
// not clear for what we do this instead of using version detection
suffix = "ci"
}
}
catch (e) {
warn(`${e.stack || e}`)
}
return {path: path.join(vendorPath, process.platform, `${suffix == null ? "" : `${suffix}/`}osslsigncode`)}
}
else {
return {path: path.join(vendorPath, process.platform, "osslsigncode")}
}
}
示例10: reportError
export async function reportError(isMas: boolean, certificateType: CertType, qualifier: string | null | undefined, keychainName: string | null | undefined, isForceCodeSigning: boolean) {
let message: string
if (qualifier == null) {
message = `App is not signed`
if (isAutoDiscoveryCodeSignIdentity()) {
const postfix = isMas ? "" : ` or custom non-Apple code signing certificate`
message += `: cannot find valid "${certificateType}" identity${postfix}`
}
message += ", see https://electron.build/code-signing"
if (!isAutoDiscoveryCodeSignIdentity()) {
message += `\n(CSC_IDENTITY_AUTO_DISCOVERY=false)`
}
}
else {
message = `Identity name "${qualifier}" is specified, but no valid identity with this name in the keychain`
}
const args = ["find-identity"]
if (keychainName != null) {
args.push(keychainName)
}
if (qualifier != null || isAutoDiscoveryCodeSignIdentity()) {
const allIdentities = (await exec("security", args))
.trim()
.split("\n")
.filter(it => !(it.includes("Policy: X.509 Basic") || it.includes("Matching identities")))
.join("\n")
message += "\n\nAll identities:\n" + allIdentities
}
if (isMas || isForceCodeSigning) {
throw new Error(message)
}
else {
warn(message)
}
}