From 83796031f137a7362e7b01ffb6a8f9235ebd5cb9 Mon Sep 17 00:00:00 2001 From: Grigory Date: Mon, 2 Mar 2026 04:21:19 +0500 Subject: [PATCH 1/2] Deprecate `canUserAdminRepo`; add `doesUserHaveRepoWriteAccess` --- index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/index.ts b/index.ts index 04f94a5..8cd7e03 100644 --- a/index.ts +++ b/index.ts @@ -865,6 +865,9 @@ TEST: addTests('isRepositoryActions', [ export const isUserTheOrganizationOwner = (): boolean => isOrganizationProfile() && exists('[aria-label="Organization"] [data-tab-item="org-header-settings-tab"]'); +/** + * @deprecated Use doesUserHaveRepoWriteAccess or API instead. + */ export const canUserAdminRepo = (): boolean => { const repo = getRepo(); return Boolean(repo && exists(`:is(${[ @@ -874,6 +877,9 @@ export const canUserAdminRepo = (): boolean => { ].join(',')}) a[href="/${repo.nameWithOwner}/settings"]`)); }; +// eslint-disable-next-line @typescript-eslint/no-deprecated +export const doesUserHaveRepoWriteAccess = canUserAdminRepo; + export const isNewRepo = (url: URL | HTMLAnchorElement | Location = location): boolean => !isGist(url) && (url.pathname === '/new' || /^organizations\/[^/]+\/repositories\/new$/.test(getCleanPathname(url))); TEST: addTests('isNewRepo', [ 'https://github.com/new', From f62e9465536d9246621f67e8f105970280a7f075 Mon Sep 17 00:00:00 2001 From: Grigory Date: Mon, 2 Mar 2026 10:51:21 +0500 Subject: [PATCH 2/2] rename --- index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.ts b/index.ts index 8cd7e03..270c4f1 100644 --- a/index.ts +++ b/index.ts @@ -866,7 +866,7 @@ TEST: addTests('isRepositoryActions', [ export const isUserTheOrganizationOwner = (): boolean => isOrganizationProfile() && exists('[aria-label="Organization"] [data-tab-item="org-header-settings-tab"]'); /** - * @deprecated Use doesUserHaveRepoWriteAccess or API instead. + * @deprecated Use canUserAccessRepoSettings or API instead. */ export const canUserAdminRepo = (): boolean => { const repo = getRepo(); @@ -878,7 +878,7 @@ export const canUserAdminRepo = (): boolean => { }; // eslint-disable-next-line @typescript-eslint/no-deprecated -export const doesUserHaveRepoWriteAccess = canUserAdminRepo; +export const canUserAccessRepoSettings = canUserAdminRepo; export const isNewRepo = (url: URL | HTMLAnchorElement | Location = location): boolean => !isGist(url) && (url.pathname === '/new' || /^organizations\/[^/]+\/repositories\/new$/.test(getCleanPathname(url))); TEST: addTests('isNewRepo', [