Skip to content

Commit

Permalink
fix(appx): Update identityName validation for windows 10 (#8203)
Browse files Browse the repository at this point in the history
  • Loading branch information
ifurther committed May 6, 2024
1 parent 3a2ccdd commit 66d6d6c
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 5 deletions.
5 changes: 5 additions & 0 deletions .changeset/gentle-bags-thank.md
@@ -0,0 +1,5 @@
---
"app-builder-lib": patch
---

feat(appx): Update identityName for windows 10
43 changes: 38 additions & 5 deletions packages/app-builder-lib/src/targets/AppxTarget.ts
Expand Up @@ -20,6 +20,31 @@ const vendorAssetsForDefaultAssets: { [key: string]: string } = {
"Wide310x150Logo.png": "SampleAppx.310x150.png",
}

const restrictedApplicationIdValues = [
"CON",
"PRN",
"AUX",
"NUL",
"COM1",
"COM2",
"COM3",
"COM4",
"COM5",
"COM6",
"COM7",
"COM8",
"COM9",
"LPT1",
"LPT2",
"LPT3",
"LPT4",
"LPT5",
"LPT6",
"LPT7",
"LPT8",
"LPT9",
]

const DEFAULT_RESOURCE_LANG = "en-US"

export default class AppXTarget extends Target {
Expand Down Expand Up @@ -200,13 +225,21 @@ export default class AppXTarget extends Target {

case "applicationId": {
const result = options.applicationId || options.identityName || appInfo.name
if (!isNaN(parseInt(result[0], 10))) {
let message = `AppX Application.Id can’t start with numbers: "${result}"`
if (options.applicationId == null) {
message += `\nPlease set appx.applicationId (or correct appx.identityName or name)`
}
const validCharactersRegex = /^[a-zA-Z0-9.-]+$/
if (result.length < 3 || result.length > 50) {
const message = `Appx Application.Id with a value between 3 and 50 characters in length`
throw new InvalidConfigurationError(message)
} else if (!validCharactersRegex.test(result)) {
const message = `AppX Application.Id cat be consists of alpha-numeric, period, and dash characters"`
throw new InvalidConfigurationError(message)
} else if (restrictedApplicationIdValues.includes(result.toUpperCase())) {
const message = `AppX Application.Id cannot be some values`
throw new InvalidConfigurationError(message)
} else if (options.applicationId == null) {
const message = `Please set appx.applicationId (or correct appx.identityName or name)`
throw new InvalidConfigurationError(message)
}

return result
}

Expand Down

0 comments on commit 66d6d6c

Please sign in to comment.