From 1b2fd3f1e474ff072e7376ca6f7b230ea9812822 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Tue, 11 Jan 2022 14:03:56 +0300 Subject: [PATCH 1/7] Remove VoloRegistry from NpmrcFile --- .../ProjectModification/NpmPackagesUpdater.cs | 40 +------------------ 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs index 40478d109b..2ade6dbd77 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs @@ -121,7 +121,6 @@ public class NpmPackagesUpdater : ITransientDependency { var fileName = Path.Combine(directoryName, ".npmrc"); var abpRegistry = "@abp:registry=https://www.myget.org/F/abp-nightly/npm"; - var voloRegistry = await GetVoloRegistryAsync(); if (await NpmrcFileExistAsync(directoryName)) { @@ -132,11 +131,6 @@ public class NpmPackagesUpdater : ITransientDependency fileContent += Environment.NewLine + abpRegistry; } - if (!fileContent.Contains(voloRegistry)) - { - fileContent += Environment.NewLine + voloRegistry; - } - File.WriteAllText(fileName, fileContent); return; @@ -145,42 +139,10 @@ public class NpmPackagesUpdater : ITransientDependency using var fs = File.Create(fileName); var content = new UTF8Encoding(true) - .GetBytes(abpRegistry + Environment.NewLine + voloRegistry); + .GetBytes(abpRegistry); fs.Write(content, 0, content.Length); } - private async Task GetVoloRegistryAsync() - { - var apikey = await GetApiKeyAsync(); - - if (string.IsNullOrWhiteSpace(apikey)) - { - return ""; - } - - return "@volo:registry=https://www.myget.org/F/abp-commercial/auth/" + apikey + "/npm/"; - } - - public async Task GetApiKeyAsync() - { - try - { - var client = _cliHttpClientFactory.CreateClient(); - using (var response = await client.GetHttpResponseMessageWithRetryAsync( - url: $"{CliUrls.WwwAbpIo}api/myget/apikey/", - cancellationToken: CancellationTokenProvider.Token, - logger: Logger - )) - { - return Encoding.Default.GetString(await response.Content.ReadAsByteArrayAsync()); - } - } - catch (Exception) - { - return string.Empty; - } - } - private static bool IsAngularProject(string fileDirectory) { return File.Exists(Path.Combine(fileDirectory, "angular.json")); From ae2e5931c4f8d6bcccc367b0a304d047bc371572 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 11 Jan 2022 15:10:32 +0300 Subject: [PATCH 2/7] fix: escape html element chars for the extensible table --- npm/ng-packs/packages/core/src/lib/utils/string-utils.ts | 4 ++++ .../identity/src/lib/defaults/default-roles-entity-props.ts | 4 ++-- .../theme-shared/extensions/src/lib/models/entity-props.ts | 6 ++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts index b6c4cce653..d626211588 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts @@ -21,3 +21,7 @@ export function interpolate(text: string, params: string[]) { .replace(/(['"]?\{\s*(\d+)\s*\}['"]?)/g, (_, match, digit) => params[digit] ?? match) .replace(/\s+/g, ' '); } + +export function escapeHtmlChars(value: string) { + return value && value.replace(//g, '>'); +} diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-props.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-props.ts index bd3a49def2..19caef7acc 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-props.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-props.ts @@ -1,4 +1,4 @@ -import { LocalizationService } from '@abp/ng.core'; +import { escapeHtmlChars, LocalizationService } from '@abp/ng.core'; import { EntityProp, ePropType } from '@abp/ng.theme.shared/extensions'; import { of } from 'rxjs'; import { IdentityRoleDto } from '../proxy/identity/models'; @@ -15,7 +15,7 @@ export const DEFAULT_ROLES_ENTITY_PROPS = EntityProp.createMany const { isDefault, isPublic, name } = data.record; return of( - name + + escapeHtmlChars(name) + (isDefault ? `${t( 'AbpIdentity::DisplayName:IsDefault', diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/entity-props.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/entity-props.ts index 84ae0c360f..8996799cee 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/entity-props.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/entity-props.ts @@ -1,7 +1,9 @@ /* tslint:disable:variable-name */ +import { escapeHtmlChars } from '@abp/ng.core'; import { Type } from '@angular/core'; import { Observable, of } from 'rxjs'; import { O } from 'ts-toolbelt'; +import { ActionCallback } from './actions'; import { Prop, PropCallback, @@ -11,7 +13,6 @@ import { Props, PropsFactory, } from './props'; -import { ActionCallback } from './actions'; export class EntityPropList extends PropList> {} @@ -41,7 +42,8 @@ export class EntityProp extends Prop { this.columnWidth = options.columnWidth; this.sortable = options.sortable || false; - this.valueResolver = options.valueResolver || (data => of(data.record[this.name])); + this.valueResolver = + options.valueResolver || (data => of(escapeHtmlChars(data.record[this.name]))); this.action = options.action; } From b00fad8009f353a4e6b366e505564a3b2ee7e756 Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Tue, 11 Jan 2022 15:18:47 +0300 Subject: [PATCH 3/7] Update string-utils.ts --- npm/ng-packs/packages/core/src/lib/utils/string-utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts index d626211588..da8a1b9885 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts @@ -23,5 +23,5 @@ export function interpolate(text: string, params: string[]) { } export function escapeHtmlChars(value: string) { - return value && value.replace(//g, '>'); + return value && value.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); } From 5e252c638c9b69502cd760c118df31869b313b29 Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Tue, 11 Jan 2022 15:47:55 +0300 Subject: [PATCH 4/7] Update auto-pr.yml --- .github/workflows/auto-pr.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/auto-pr.yml b/.github/workflows/auto-pr.yml index 533fbb878e..d524dbc519 100644 --- a/.github/workflows/auto-pr.yml +++ b/.github/workflows/auto-pr.yml @@ -1,15 +1,15 @@ -name: Merge branch dev with rel-5.0 +name: Merge branch rel-5.1 with rel-5.0 on: push: branches: - rel-5.0 jobs: - merge-dev-with-rel-5-0: + merge-rel-5-1-with-rel-5-0: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: - ref: dev + ref: rel-5.1 - name: Reset promotion branch run: | git fetch origin rel-5.0:rel-5.0 @@ -18,7 +18,7 @@ jobs: uses: peter-evans/create-pull-request@v3 with: branch: auto-merge/rel-5-0/${{github.run_number}} - title: Merge branch dev with rel-5.0 - body: This PR generated automatically to merge dev with rel-5.0. Please review the changed files before merging to prevent any errors that may occur. + title: Merge branch rel-5.1 with rel-5.0 + body: This PR generated automatically to merge rel-5.1 with rel-5.0. Please review the changed files before merging to prevent any errors that may occur. reviewers: ${{github.actor}} token: ${{ github.token }} From ceba7cac07a317b6a58872ad4a7bee23f1ce2cf2 Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Tue, 11 Jan 2022 15:50:47 +0300 Subject: [PATCH 5/7] Update auto-pr.yml --- .github/workflows/auto-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-pr.yml b/.github/workflows/auto-pr.yml index c73819de4b..71b6bea747 100644 --- a/.github/workflows/auto-pr.yml +++ b/.github/workflows/auto-pr.yml @@ -9,7 +9,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - ref: rel-5.1 + ref: dev - name: Reset promotion branch run: | git fetch origin rel-5.1:rel-5.1 From 520ac760229c6410a9e5b3c6e1b091e4717813e7 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 11 Jan 2022 15:56:07 +0300 Subject: [PATCH 6/7] escape username in users table --- npm/ng-packs/packages/core/src/lib/utils/string-utils.ts | 5 ++++- .../identity/src/lib/defaults/default-users-entity-props.ts | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts index da8a1b9885..056c355b1c 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/string-utils.ts @@ -23,5 +23,8 @@ export function interpolate(text: string, params: string[]) { } export function escapeHtmlChars(value: string) { - return value && value.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); + return ( + value && + value.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"') + ); } diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-props.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-props.ts index cfd9d57c5b..407d92662b 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-props.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-props.ts @@ -1,4 +1,4 @@ -import { LocalizationService } from '@abp/ng.core'; +import { escapeHtmlChars, LocalizationService } from '@abp/ng.core'; import { IdentityUserDto } from '@abp/ng.identity/proxy'; import { EntityProp, ePropType } from '@abp/ng.theme.shared/extensions'; import { of } from 'rxjs'; @@ -21,7 +21,9 @@ export const DEFAULT_USERS_ENTITY_PROPS = EntityProp.createMany return of( ` ${!data.record.isActive ? inactiveIcon : ''} - ${data.record.userName}`, + ${escapeHtmlChars( + data.record.userName, + )}`, ); }, }, From 7f77ae54f0bacf64b0c17f5bd2b67a174ed18122 Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Tue, 11 Jan 2022 18:36:37 +0300 Subject: [PATCH 7/7] Create _run_all.ps1 --- deploy/_run_all.ps1 | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 deploy/_run_all.ps1 diff --git a/deploy/_run_all.ps1 b/deploy/_run_all.ps1 new file mode 100644 index 0000000000..fa2596925e --- /dev/null +++ b/deploy/_run_all.ps1 @@ -0,0 +1,7 @@ +./1-fetch-and-build.ps1 +./2-nuget-pack.ps1 +./3-nuget-push.ps1 +./4-npm-publish-mvc.ps1 +./5-npm-publish-angular.ps1 +./6-git-commit.ps1 +echo "Create a new release on GitHub manually and run the step 8..." \ No newline at end of file