Typos CLI - initial config and changes

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Fixed test typos

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Fixed docs typos

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Fixed code comment typos

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Fixed remaining typos

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Added CI and Config

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Fixed typo, lol

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Fixes and update API reports

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Updated based on feedback

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Updated test

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Minor corrections

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Removed changesets

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Refactor to make changes non-breaking

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Clean up of new typos

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Use typoed over typo'd

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Added typoed

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Updated API Reports

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Feedback improvement

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Refinements

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Simplify based on feedback

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Reverted to handle both keys

Signed-off-by: Andre Wanlin <awanlin@spotify.com>
This commit is contained in:
Andre Wanlin
2026-03-02 09:26:47 -06:00
parent f0f6823a66
commit a07e6a31a4
29 changed files with 186 additions and 55 deletions
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-azure': patch
---
Updated internal usage of `AzureBlobStorageIntegration` (previously misspelled as `AzureBlobStorageIntergation`) following the rename in `@backstage/integration`.
@@ -0,0 +1,5 @@
---
'@backstage/integration': patch
---
Added the correctly-spelled `AzureBlobStorageIntegration` class export and deprecated the previous typoed `AzureBlobStorageIntergation` export. Existing usage of `AzureBlobStorageIntergation` continues to work; switch to `AzureBlobStorageIntegration` to avoid future removal.
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Updated `AzureBlobStorageUrlReader` to reference the correctly-named `AzureBlobStorageIntegration` type from `@backstage/integration`. The previously-used `AzureBlobStorageIntergation` is now an alias for the new type and remains a valid argument to the constructor.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-home': patch
---
Added the correctly-spelled `'widgetSettingsOverlay.editSettingsTooltip'` translation key in `homeTranslationRef` and deprecated the previous typoed `'widgetSettingsOverlay.editSettingsTooptip'` key. Existing references to the old key continue to work; switch to the new key to avoid future removal.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog': patch
---
Added the correctly-spelled `RelatedEntitiesCard.domainEntityColumns` static property and deprecated the previous typoed `RelatedEntitiesCard.domainEntityColums` property. Existing references to the old property continue to work; switch to `domainEntityColumns` to avoid future removal.
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Added the correctly-spelled `'header'` literal to the `TableFiltersClassKey` union type and deprecated the previous typoed `'heder'` literal. The generated CSS class with the old key is preserved for backwards compatibility; switch to `'header'` to avoid future removal.
@@ -539,6 +539,7 @@ TTLs
Turbopack
TSDoc
typeahead
typoed
ui
unassign
unbreak
+7
View File
@@ -31,6 +31,13 @@ jobs:
- run: echo NOOP
typos-noop:
runs-on: ubuntu-latest
name: Spell Check
steps:
- run: echo NOOP
test-noop:
runs-on: ubuntu-latest
+17
View File
@@ -165,6 +165,23 @@ jobs:
exit 1
fi
typos:
runs-on: ubuntu-latest
name: Spell Check
steps:
- name: Harden Runner
uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
with:
egress-policy: audit
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: check for typos
uses: crate-ci/typos@631208b7aac2daa8b707f55e7331f9112b0e062d # v1.44.0
with:
config: typos.toml
# The test job runs all tests as well as any verification step that
# requires a diff towards master.
test:
+1 -1
View File
@@ -987,7 +987,7 @@ metadata:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: example-platfrom
name: example-platform
title: Example Application Platform
namespace: default
description: This is the child entity
@@ -5,7 +5,7 @@
```ts
import { AwsCredentialsManager } from '@backstage/integration-aws-node';
import { AwsS3Integration } from '@backstage/integration';
import { AzureBlobStorageIntergation } from '@backstage/integration';
import { AzureBlobStorageIntegration } from '@backstage/integration';
import { AzureCredentialsManager } from '@backstage/integration';
import { AzureDevOpsCredentialsProvider } from '@backstage/integration';
import { AzureIntegration } from '@backstage/integration';
@@ -67,7 +67,7 @@ export class AwsS3UrlReader implements UrlReaderService {
export class AzureBlobStorageUrlReader implements UrlReaderService {
constructor(
credsManager: AzureCredentialsManager,
integration: AzureBlobStorageIntergation,
integration: AzureBlobStorageIntegration,
deps: {
treeResponseFactory: ReadTreeResponseFactory;
},
@@ -26,7 +26,7 @@ import { Readable } from 'node:stream';
import { relative } from 'node:path/posix';
import { ReadUrlResponseFactory } from './ReadUrlResponseFactory';
import {
AzureBlobStorageIntergation,
AzureBlobStorageIntegration,
AzureCredentialsManager,
DefaultAzureCredentialsManager,
ScmIntegrations,
@@ -88,14 +88,14 @@ export class AzureBlobStorageUrlReader implements UrlReaderService {
// private readonly blobServiceClient: BlobServiceClient;
private readonly credsManager: AzureCredentialsManager;
private readonly integration: AzureBlobStorageIntergation;
private readonly integration: AzureBlobStorageIntegration;
private readonly deps: {
treeResponseFactory: ReadTreeResponseFactory;
};
constructor(
credsManager: AzureCredentialsManager,
integration: AzureBlobStorageIntergation,
integration: AzureBlobStorageIntegration,
deps: {
treeResponseFactory: ReadTreeResponseFactory;
},
+9 -1
View File
@@ -1547,7 +1547,15 @@ export type TableFilter = {
// Warning: (ae-missing-release-tag) "TableFiltersClassKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type TableFiltersClassKey = 'root' | 'value' | 'heder' | 'filters';
export type TableFiltersClassKey =
| 'root'
| 'value'
| 'header'
/**
* @deprecated Use `'header'` instead. This was a typo in the original class key.
*/
| 'heder'
| 'filters';
// Warning: (ae-missing-release-tag) "TableHeaderClassKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
@@ -24,7 +24,15 @@ import { SelectProps } from '../Select/Select';
import { coreComponentsTranslationRef } from '../../translation';
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
export type TableFiltersClassKey = 'root' | 'value' | 'heder' | 'filters';
export type TableFiltersClassKey =
| 'root'
| 'value'
| 'header'
/**
* @deprecated Use `'header'` instead. This was a typo in the original class key.
*/
| 'heder'
| 'filters';
const useFilterStyles = makeStyles(
theme => ({
@@ -46,6 +54,13 @@ const useFilterStyles = makeStyles(
justifyContent: 'space-between',
borderBottom: `1px solid ${theme.palette.grey[500]}`,
},
// Intentionally empty: the deprecated `heder` class is still applied to
// the same element as `header` so legacy theme overrides on
// `BackstageTableFilters.heder` continue to work. Keeping this rule empty
// (rather than duplicating `header`'s styles) avoids clobbering overrides
// on the canonical `header` key — JSS injects rules in key order, so an
// empty `heder` defined after `header` has no properties to override.
heder: {},
filters: {
display: 'flex',
flexDirection: 'column',
@@ -98,7 +113,7 @@ export const Filters = (props: Props) => {
// As material table doesn't provide a way to add a column filter tab we will make our own filter logic
return (
<Box className={classes.root}>
<Box className={classes.header}>
<Box className={`${classes.header} ${classes.heder}`}>
<Box className={classes.value}>{t('table.filter.title')}</Box>
<Button color="primary" onClick={handleClick}>
{t('table.filter.clearAll')}
+29 -23
View File
@@ -73,6 +73,27 @@ export type AwsS3IntegrationConfig = {
externalId?: string;
};
// @public
export class AzureBlobStorageIntegration implements ScmIntegration {
constructor(integrationConfig: AzureBlobStorageIntegrationConfig);
// (undocumented)
get config(): AzureBlobStorageIntegrationConfig;
// (undocumented)
static factory: ScmIntegrationsFactory<AzureBlobStorageIntegration>;
// (undocumented)
resolveEditUrl(url: string): string;
// (undocumented)
resolveUrl(options: {
url: string;
base: string;
lineNumber?: number | undefined;
}): string;
// (undocumented)
get title(): string;
// (undocumented)
get type(): string;
}
// @public
export type AzureBlobStorageIntegrationConfig = {
accountName?: string;
@@ -89,26 +110,11 @@ export type AzureBlobStorageIntegrationConfig = {
};
};
// @public
export class AzureBlobStorageIntergation implements ScmIntegration {
constructor(integrationConfig: AzureBlobStorageIntegrationConfig);
// (undocumented)
get config(): AzureBlobStorageIntegrationConfig;
// (undocumented)
static factory: ScmIntegrationsFactory<AzureBlobStorageIntergation>;
// (undocumented)
resolveEditUrl(url: string): string;
// (undocumented)
resolveUrl(options: {
url: string;
base: string;
lineNumber?: number | undefined;
}): string;
// (undocumented)
get title(): string;
// (undocumented)
get type(): string;
}
// @public @deprecated
export const AzureBlobStorageIntergation: typeof AzureBlobStorageIntegration;
// @public @deprecated
export type AzureBlobStorageIntergation = AzureBlobStorageIntegration;
// @public
export type AzureClientSecretCredential = AzureCredentialBase & {
@@ -771,7 +777,7 @@ export interface IntegrationsByType {
// (undocumented)
azure: ScmIntegrationsGroup<AzureIntegration>;
// (undocumented)
azureBlobStorage: ScmIntegrationsGroup<AzureBlobStorageIntergation>;
azureBlobStorage: ScmIntegrationsGroup<AzureBlobStorageIntegration>;
// (undocumented)
bitbucketCloud: ScmIntegrationsGroup<BitbucketCloudIntegration>;
// (undocumented)
@@ -980,7 +986,7 @@ export interface ScmIntegrationRegistry
// (undocumented)
azure: ScmIntegrationsGroup<AzureIntegration>;
// (undocumented)
azureBlobStorage: ScmIntegrationsGroup<AzureBlobStorageIntergation>;
azureBlobStorage: ScmIntegrationsGroup<AzureBlobStorageIntegration>;
// (undocumented)
bitbucketCloud: ScmIntegrationsGroup<BitbucketCloudIntegration>;
// (undocumented)
@@ -1013,7 +1019,7 @@ export class ScmIntegrations implements ScmIntegrationRegistry {
// (undocumented)
get azure(): ScmIntegrationsGroup<AzureIntegration>;
// (undocumented)
get azureBlobStorage(): ScmIntegrationsGroup<AzureBlobStorageIntergation>;
get azureBlobStorage(): ScmIntegrationsGroup<AzureBlobStorageIntegration>;
// (undocumented)
get bitbucketCloud(): ScmIntegrationsGroup<BitbucketCloudIntegration>;
// (undocumented)
@@ -39,7 +39,7 @@ import { AwsCodeCommitIntegrationConfig } from './awsCodeCommit';
import { HarnessIntegration, HarnessIntegrationConfig } from './harness';
import {
AzureBlobStorageIntegrationConfig,
AzureBlobStorageIntergation,
AzureBlobStorageIntegration,
} from './azureBlobStorage';
import { GoogleGcsIntegration, GoogleGcsIntegrationConfig } from './googleGcs';
@@ -56,7 +56,7 @@ describe('ScmIntegrations', () => {
host: 'azure.local',
} as AzureIntegrationConfig);
const azureBlob = new AzureBlobStorageIntergation({
const azureBlob = new AzureBlobStorageIntegration({
host: 'azureblobstorage.local',
} as AzureBlobStorageIntegrationConfig);
+4 -4
View File
@@ -28,7 +28,7 @@ import { ScmIntegration, ScmIntegrationsGroup } from './types';
import { ScmIntegrationRegistry } from './registry';
import { GiteaIntegration } from './gitea';
import { HarnessIntegration } from './harness/HarnessIntegration';
import { AzureBlobStorageIntergation } from './azureBlobStorage';
import { AzureBlobStorageIntegration } from './azureBlobStorage';
import { GoogleGcsIntegration } from './googleGcs/GoogleGcsIntegration';
/**
@@ -39,7 +39,7 @@ import { GoogleGcsIntegration } from './googleGcs/GoogleGcsIntegration';
export interface IntegrationsByType {
awsS3: ScmIntegrationsGroup<AwsS3Integration>;
awsCodeCommit: ScmIntegrationsGroup<AwsCodeCommitIntegration>;
azureBlobStorage: ScmIntegrationsGroup<AzureBlobStorageIntergation>;
azureBlobStorage: ScmIntegrationsGroup<AzureBlobStorageIntegration>;
azure: ScmIntegrationsGroup<AzureIntegration>;
bitbucketCloud: ScmIntegrationsGroup<BitbucketCloudIntegration>;
bitbucketServer: ScmIntegrationsGroup<BitbucketServerIntegration>;
@@ -63,7 +63,7 @@ export class ScmIntegrations implements ScmIntegrationRegistry {
return new ScmIntegrations({
awsS3: AwsS3Integration.factory({ config }),
awsCodeCommit: AwsCodeCommitIntegration.factory({ config }),
azureBlobStorage: AzureBlobStorageIntergation.factory({ config }),
azureBlobStorage: AzureBlobStorageIntegration.factory({ config }),
azure: AzureIntegration.factory({ config }),
bitbucketCloud: BitbucketCloudIntegration.factory({ config }),
bitbucketServer: BitbucketServerIntegration.factory({ config }),
@@ -88,7 +88,7 @@ export class ScmIntegrations implements ScmIntegrationRegistry {
return this.byType.awsCodeCommit;
}
get azureBlobStorage(): ScmIntegrationsGroup<AzureBlobStorageIntergation> {
get azureBlobStorage(): ScmIntegrationsGroup<AzureBlobStorageIntegration> {
return this.byType.azureBlobStorage;
}
@@ -15,11 +15,11 @@
*/
import { ConfigReader } from '@backstage/config';
import { AzureBlobStorageIntergation } from './AzureBlobStorageIntegration';
import { AzureBlobStorageIntegration } from './AzureBlobStorageIntegration';
describe('AzureBlobStorageIntegration', () => {
it('has a working factory', () => {
const integrations = AzureBlobStorageIntergation.factory({
const integrations = AzureBlobStorageIntegration.factory({
config: new ConfigReader({
integrations: {
azureBlobStorage: [
@@ -40,7 +40,7 @@ describe('AzureBlobStorageIntegration', () => {
});
it('returns the basics', () => {
const integration = new AzureBlobStorageIntergation({
const integration = new AzureBlobStorageIntegration({
host: 'myaccount.blob.core.windows.net',
} as any);
expect(integration.type).toBe('azureBlobStorage');
@@ -49,7 +49,7 @@ describe('AzureBlobStorageIntegration', () => {
describe('resolveUrl', () => {
it('works for valid URLs', () => {
const integration = new AzureBlobStorageIntergation({
const integration = new AzureBlobStorageIntegration({
host: 'blob.core.windows.net',
} as any);
@@ -63,7 +63,7 @@ describe('AzureBlobStorageIntegration', () => {
});
it('resolve edit URL', () => {
const integration = new AzureBlobStorageIntergation({
const integration = new AzureBlobStorageIntegration({
host: 'myaccount.blob.core.windows.net',
} as any);
@@ -26,15 +26,15 @@ import {
*
* @public
*/
export class AzureBlobStorageIntergation implements ScmIntegration {
static factory: ScmIntegrationsFactory<AzureBlobStorageIntergation> = ({
export class AzureBlobStorageIntegration implements ScmIntegration {
static factory: ScmIntegrationsFactory<AzureBlobStorageIntegration> = ({
config,
}) => {
const configs = readAzureBlobStorageIntegrationConfigs(
config.getOptionalConfigArray('integrations.azureBlobStorage') ?? [],
);
return basicIntegrations(
configs.map(c => new AzureBlobStorageIntergation(c)),
configs.map(c => new AzureBlobStorageIntegration(c)),
i => i.config.host,
);
};
@@ -69,3 +69,20 @@ export class AzureBlobStorageIntergation implements ScmIntegration {
return url;
}
}
/**
* Microsoft Azure Blob storage based integration.
*
* @public
* @deprecated Use {@link AzureBlobStorageIntegration} instead. This was a typo in the original class name.
*/
export const AzureBlobStorageIntergation = AzureBlobStorageIntegration;
/**
* Microsoft Azure Blob storage based integration.
*
* @public
* @deprecated Use {@link AzureBlobStorageIntegration} instead. This was a typo in the original class name.
*/
// eslint-disable-next-line @typescript-eslint/no-redeclare
export type AzureBlobStorageIntergation = AzureBlobStorageIntegration;
@@ -13,7 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export { AzureBlobStorageIntergation } from './AzureBlobStorageIntegration';
export {
AzureBlobStorageIntegration,
AzureBlobStorageIntergation,
} from './AzureBlobStorageIntegration';
export {
readAzureBlobStorageIntegrationConfig,
readAzureBlobStorageIntegrationConfigs,
@@ -496,7 +496,7 @@ describe('parseRetryAfterMs', () => {
expect(parseRetryAfterMs(pastDate, 5000)).toBe(0);
});
it('returns fallback for null or unparseable values', () => {
it('returns fallback for null or unparsable values', () => {
expect(parseRetryAfterMs(null, 5000)).toBe(5000);
expect(parseRetryAfterMs('', 5000)).toBe(5000);
expect(parseRetryAfterMs('not-a-date-or-number', 5000)).toBe(5000);
+2 -2
View File
@@ -25,7 +25,7 @@ import { GithubIntegration } from './github/GithubIntegration';
import { GitLabIntegration } from './gitlab/GitLabIntegration';
import { GiteaIntegration } from './gitea/GiteaIntegration';
import { HarnessIntegration } from './harness/HarnessIntegration';
import { AzureBlobStorageIntergation } from './azureBlobStorage';
import { AzureBlobStorageIntegration } from './azureBlobStorage';
/**
* Holds all registered SCM integrations, of all types.
@@ -36,7 +36,7 @@ export interface ScmIntegrationRegistry
extends ScmIntegrationsGroup<ScmIntegration> {
awsS3: ScmIntegrationsGroup<AwsS3Integration>;
awsCodeCommit: ScmIntegrationsGroup<AwsCodeCommitIntegration>;
azureBlobStorage: ScmIntegrationsGroup<AzureBlobStorageIntergation>;
azureBlobStorage: ScmIntegrationsGroup<AzureBlobStorageIntegration>;
azure: ScmIntegrationsGroup<AzureIntegration>;
bitbucketCloud: ScmIntegrationsGroup<BitbucketCloudIntegration>;
bitbucketServer: ScmIntegrationsGroup<BitbucketServerIntegration>;
@@ -35,7 +35,7 @@ import { LocationSpec } from '@backstage/plugin-catalog-common';
import { randomUUID } from 'node:crypto';
import { readAzureBlobStorageConfigs } from './config';
import {
AzureBlobStorageIntergation,
AzureBlobStorageIntegration,
DefaultAzureCredentialsManager,
ScmIntegrations,
} from '@backstage/integration';
@@ -106,12 +106,12 @@ export class AzureBlobStorageEntityProvider implements EntityProvider {
});
}
private readonly config: AzureBlobStorageConfig;
private readonly integration: AzureBlobStorageIntergation;
private readonly integration: AzureBlobStorageIntegration;
private readonly credentialsProvider: DefaultAzureCredentialsManager;
private constructor(
config: AzureBlobStorageConfig,
integration: AzureBlobStorageIntergation,
integration: AzureBlobStorageIntegration,
credentialsProvider: DefaultAzureCredentialsManager,
logger: LoggerService,
schedule: SchedulerServiceTaskRunner,
@@ -140,6 +140,10 @@ RelatedEntitiesCard.asResourceEntities = asResourceEntities;
RelatedEntitiesCard.systemEntityColumns = systemEntityColumns;
RelatedEntitiesCard.systemEntityHelpLink = systemEntityHelpLink;
RelatedEntitiesCard.asSystemEntities = asSystemEntities;
RelatedEntitiesCard.domainEntityColumns = domainEntityColumns;
/**
* @deprecated Use `RelatedEntitiesCard.domainEntityColumns` instead. This was a typo in the original property name.
*/
RelatedEntitiesCard.domainEntityColums = domainEntityColumns;
RelatedEntitiesCard.domainEntityHelpLink = domainEntityHelpLink;
RelatedEntitiesCard.asDomainEntities = asDomainEntities;
+1
View File
@@ -224,6 +224,7 @@ export const homeTranslationRef: TranslationRef<
readonly 'customHomepageButtons.save': 'Save';
readonly 'customHomepage.noWidgets': "No widgets added. Start by clicking the 'Add widget' button.";
readonly 'widgetSettingsOverlay.cancelButtonTitle': 'Cancel';
readonly 'widgetSettingsOverlay.editSettingsTooltip': 'Edit settings';
readonly 'widgetSettingsOverlay.editSettingsTooptip': 'Edit settings';
readonly 'widgetSettingsOverlay.deleteWidgetTooltip': 'Delete widget';
readonly 'widgetSettingsOverlay.submitButtonTitle': 'Submit';
+1
View File
@@ -191,6 +191,7 @@ export const homeTranslationRef: TranslationRef<
readonly 'customHomepageButtons.save': 'Save';
readonly 'customHomepage.noWidgets': "No widgets added. Start by clicking the 'Add widget' button.";
readonly 'widgetSettingsOverlay.cancelButtonTitle': 'Cancel';
readonly 'widgetSettingsOverlay.editSettingsTooltip': 'Edit settings';
readonly 'widgetSettingsOverlay.editSettingsTooptip': 'Edit settings';
readonly 'widgetSettingsOverlay.deleteWidgetTooltip': 'Delete widget';
readonly 'widgetSettingsOverlay.submitButtonTitle': 'Submit';
@@ -77,6 +77,16 @@ export const WidgetSettingsOverlay = (props: WidgetSettingsOverlayProps) => {
const onClose = () => setSettingsDialogOpen(false);
const { t } = useTranslationRef(homeTranslationRef);
// Prefer the corrected key, but fall back to the deprecated typo key so that
// existing translation overrides on `editSettingsTooptip` keep working.
const editSettingsTooltipText = t(
'widgetSettingsOverlay.editSettingsTooltip',
);
const editSettingsTooltip =
editSettingsTooltipText === 'Edit settings'
? t('widgetSettingsOverlay.editSettingsTooptip')
: editSettingsTooltipText;
return (
<div className={styles.settingsOverlay}>
{widget.settingsSchema && (
@@ -124,7 +134,7 @@ export const WidgetSettingsOverlay = (props: WidgetSettingsOverlayProps) => {
>
{widget.settingsSchema && (
<Grid item className="overlayGridItem">
<Tooltip title={t('widgetSettingsOverlay.editSettingsTooptip')}>
<Tooltip title={editSettingsTooltip}>
<IconButton
color="primary"
onClick={() => setSettingsDialogOpen(true)}
+4
View File
@@ -39,6 +39,10 @@ export const homeTranslationRef = createTranslationRef({
noWidgets: "No widgets added. Start by clicking the 'Add widget' button.",
},
widgetSettingsOverlay: {
editSettingsTooltip: 'Edit settings',
/**
* @deprecated Use `editSettingsTooltip` instead. This was a typo in the original key.
*/
editSettingsTooptip: 'Edit settings',
deleteWidgetTooltip: 'Delete widget',
submitButtonTitle: 'Submit',
+8 -1
View File
@@ -18,12 +18,19 @@ Phoen = "Phoen" # GitHub username K-Phoen in plugin metadata
Hashi = "Hashi" # prefix of HashiCorp company name
ba = "ba" # Swedish word in comment in buildDocs.ts
mosquitto = "mosquitto" # correct spelling of the Eclipse Mosquitto MQTT broker
Additiona = "Additiona" # deprecated field name getAdditionaRemoteInfo kept for backward compat
ALLO = "ALLO" # prefix of ALLOWs in AuthorizedSearchEngine.ts comment
VALIDAT = "VALIDAT" # prefix of VALIDATEs in catalog-backend migration comment
styl = "styl" # Stylus stylesheet file extension in jest.js regex pattern
Entitie = "Entitie" # camelCase fragment of starredEntitie$ (RxJS observable naming convention in StarredEntitiesApi)
# Deprecated names kept for backward compatibility.
# Remove each entry when the corresponding deprecated symbol is removed.
Additiona = "Additiona" # deprecated field name `getAdditionaRemoteInfo` (use `getAdditionalRemoteInfo`)
Intergation = "Intergation" # deprecated alias `AzureBlobStorageIntergation` (use `AzureBlobStorageIntegration`) in @backstage/integration
Tooptip = "Tooptip" # deprecated translation key `editSettingsTooptip` (use `editSettingsTooltip`) in @backstage/plugin-home
heder = "heder" # deprecated `TableFiltersClassKey` literal `'heder'` (use `'header'`) in @backstage/core-components
Colums = "Colums" # deprecated `RelatedEntitiesCard.domainEntityColums` (use `domainEntityColumns`) in @backstage/plugin-catalog
[files]
extend-exclude = [
# Release and changelog files