diff --git a/.changeset/slow-lies-jam.md b/.changeset/slow-lies-jam.md new file mode 100644 index 0000000000..a9d7a90b95 --- /dev/null +++ b/.changeset/slow-lies-jam.md @@ -0,0 +1,11 @@ +--- +'@backstage/backend-common': patch +'@backstage/cli': patch +'@backstage/cli-common': patch +'@backstage/core-app-api': patch +'@backstage/core-components': patch +'@backstage/dev-utils': patch +'@techdocs/cli': patch +--- + +Tweaked wording to use inclusive terminology diff --git a/contrib/docs/tutorials/aws-alb-aad-oidc-auth.md b/contrib/docs/tutorials/aws-alb-aad-oidc-auth.md index 3cedf5634b..1bdf9cc367 100644 --- a/contrib/docs/tutorials/aws-alb-aad-oidc-auth.md +++ b/contrib/docs/tutorials/aws-alb-aad-oidc-auth.md @@ -48,7 +48,7 @@ Once you've saved the action, you should see an authentication flow be triggered ### Frontend The Backstage App needs a SignInPage when authentication is required. -When using ALB authentication Backstage will only be loaded once the user has successfully authenticated; we won't need to display a SignIn page, however we will need to create a dummy SignIn component that can refresh the token. +When using ALB authentication Backstage will only be loaded once the user has successfully authenticated; we won't need to display a SignIn page, however we will need to create a placeholder SignIn component that can refresh the token. - edit `packages/app/src/App.tsx` - import the following two additional definitions from `@backstage/core-plugin-api`: `useApi`, `configApiRef`; these will be used to check whether Backstage is running locally or behind an ALB @@ -59,7 +59,7 @@ import React from 'react'; import { UserIdentity } from '@backstage/core-components'; import { SignInPageProps } from '@backstage/core-app-api'; -const DummySignInComponent: any = (props: SignInPageProps) => { +const SampleSignInComponent: any = (props: SignInPageProps) => { const [error, setError] = React.useState(); const config = useApi(configApiRef); React.useEffect(() => { @@ -102,13 +102,13 @@ const DummySignInComponent: any = (props: SignInPageProps) => { }; ``` -- add `DummySignInComponent` as `SignInPage`: +- add `SampleSignInComponent` as `SignInPage`: ```ts const app = createApp({ ... components: { - SignInPage: DummySignInComponent, + SignInPage: SampleSignInComponent, ... }, ... diff --git a/docs/FAQ.md b/docs/FAQ.md index f695a59410..fcd5542f74 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -54,7 +54,7 @@ begun work on various aspects of all three phases. Looking at the [milestones for active issues](https://github.com/backstage/backstage/milestones) will also give you a sense of our progress. -### My company doesn't have thousands of developers or services. Is Backstage overkill? +### My company doesn't have thousands of developers or services. Is using Backstage excessive for our needs? Not at all! A core reason to adopt Backstage is to standardize how software is built at your company. It's easier to decide on those standards as a small diff --git a/docs/architecture-decisions/adr010-luxon-date-library.md b/docs/architecture-decisions/adr010-luxon-date-library.md index 65cabd256c..a7b287ae0d 100644 --- a/docs/architecture-decisions/adr010-luxon-date-library.md +++ b/docs/architecture-decisions/adr010-luxon-date-library.md @@ -10,7 +10,7 @@ description: Architecture Decision Record (ADR) for Luxon Date Library Date formatting (e.g. `a day ago`) and calculations are common within Backstage. Some of these useful features are not supported by the standard JavaScript `Date` object. The popular [Moment.js](https://momentjs.com/) library has been -commonly used to fill this gap but suffers from large bundle sizes and mutable +commonly used to fill this gap but is affected by large bundle sizes and mutable state issues. On top of this, `momentjs` is [being sunset](https://momentjs.com/docs/#/-project-status/) and the project recommends using one of the more modern alternative libraries. diff --git a/docs/auth/cloudflare/access.md b/docs/auth/cloudflare/access.md index c7db308438..d47495180a 100644 --- a/docs/auth/cloudflare/access.md +++ b/docs/auth/cloudflare/access.md @@ -63,7 +63,7 @@ export default async function createPlugin( // and the access token and produces the Backstage token with the // relevant user info. async resolver({ profile, result }, ctx) { - // Somehow compute the Backstage token claims. Just some dummy code + // Somehow compute the Backstage token claims. Just some sample code // shown here, but you may want to query your LDAP server, or // https://.cloudflareaccess.com/cdn-cgi/access/get-identity // https://developers.cloudflare.com/cloudflare-one/identity/users/validating-json/#groups-within-a-jwt diff --git a/docs/auth/google/gcp-iap-auth.md b/docs/auth/google/gcp-iap-auth.md index 90d267b327..d6303ced6f 100644 --- a/docs/auth/google/gcp-iap-auth.md +++ b/docs/auth/google/gcp-iap-auth.md @@ -70,7 +70,7 @@ export default async function createPlugin( // and the IAP token and produces the Backstage token with the // relevant user info. async resolver({ profile, result: { iapToken } }, ctx) { - // Somehow compute the Backstage token claims. Just some dummy code + // Somehow compute the Backstage token claims. Just some sample code // shown here, but you may want to query your LDAP server, or // GSuite or similar, based on the IAP token sub/email claims const id = iapToken.email.split('@')[0]; diff --git a/docs/deployment/k8s.md b/docs/deployment/k8s.md index a80ba1816e..b0218c8657 100644 --- a/docs/deployment/k8s.md +++ b/docs/deployment/k8s.md @@ -256,7 +256,7 @@ bash-5.1# exit The database pod is running, but how does another pod connect to it? -Kubernetes pods are transient - they can be killed, restarted, or created +Kubernetes pods are transient - they can be stopped, restarted, or created dynamically. Therefore we don't want to try to connect to pods directly, but rather create a Kubernetes Service. Services keep track of pods and direct traffic to the right place. diff --git a/docs/features/software-catalog/system-model.md b/docs/features/software-catalog/system-model.md index 8a7e0cd30a..409f3e8450 100644 --- a/docs/features/software-catalog/system-model.md +++ b/docs/features/software-catalog/system-model.md @@ -50,7 +50,7 @@ components need to be in a known machine-readable format so we can build further tooling and analysis on top. APIs have a visibility: they are either public (making them available for any -other component to consume), restricted (only available to a whitelisted set of +other component to consume), restricted (only available to an allowlisted set of consumers), or private (only available within their system). As public APIs are going to be the primary way interaction between components, Backstage supports documenting, indexing and searching all APIs so we can browse them as diff --git a/docs/overview/architecture-overview.md b/docs/overview/architecture-overview.md index 384ab6cf32..3ba3f4ba0b 100644 --- a/docs/overview/architecture-overview.md +++ b/docs/overview/architecture-overview.md @@ -260,7 +260,7 @@ development dependency only. It can sometimes be difficult to decide where to place your plugin code. For example should it go directly in the `-backend` plugin package or in the `-node` package? -As a rule of thumb you should try to keep the exposure of your code as low +As a general guideline you should try to keep the exposure of your code as low as possible. If it doesn't need to be public API, it's best to avoid. If you don't need it to be used by other plugins, then keep it directly in the plugin packages. diff --git a/docs/plugins/backend-plugin.md b/docs/plugins/backend-plugin.md index 3eddb9e1c2..65a668d391 100644 --- a/docs/plugins/backend-plugin.md +++ b/docs/plugins/backend-plugin.md @@ -51,7 +51,7 @@ terminal window, now run curl localhost:7007/carmen/health ``` -This should return `{"status":"ok"}`. Success! Press `Ctrl + c` to kill it +This should return `{"status":"ok"}`. Success! Press `Ctrl + c` to stop it again. ## Developing your Backend Plugin diff --git a/docs/plugins/testing.md b/docs/plugins/testing.md index aa7815728c..baee47c695 100644 --- a/docs/plugins/testing.md +++ b/docs/plugins/testing.md @@ -123,7 +123,7 @@ than simply letting them know they had an invalid input. > input change. This piggybacks the Scalability Principle and applies primarily to frontend -development. As a general rule of thumb, frontends should be flexible enough so +development. As a general guideline, frontends should be flexible enough so that the UX or design can change while touching the least amount of code possible. So for example, a poor unit test would verify the color of a button when it is hovered. This would be a poor unit test, because if you decide to @@ -353,7 +353,7 @@ For more information: ### Accessing `store`, `theme`, routing, browser history, etc. The Backstage application has several core providers at its root. To run your -test wrapped in a "dummy" Backstage application, you can use our utility +test wrapped in a "sample" Backstage application, you can use our utility functions: **`wrapInTestApp`** diff --git a/docs/plugins/url-reader.md b/docs/plugins/url-reader.md index 8788737f17..815674091b 100644 --- a/docs/plugins/url-reader.md +++ b/docs/plugins/url-reader.md @@ -268,7 +268,7 @@ async function main() { ``` This will be run every time you restart the backend. Note that after any change -in the URL Reader code, you need to kill the backend and restart, since the +in the URL Reader code, you need to stop the backend and restart, since the `reader` instance is memoized and does not update on hot module reloading. Also, there are a lot of unit tests written for the URL Readers, which you can make use of. diff --git a/microsite/blog/2022-03-04-backstage-upgrade-helper.md b/microsite/blog/2022-03-04-backstage-upgrade-helper.md index a189e28cd5..80b3b9c0a8 100644 --- a/microsite/blog/2022-03-04-backstage-upgrade-helper.md +++ b/microsite/blog/2022-03-04-backstage-upgrade-helper.md @@ -29,7 +29,7 @@ We started by creating a fork from React Native’s open source project, applyin The Backstage Upgrade Helper tool enables adopters to easily upgrade their Backstage app by using the power of git to create a diff between different versions. -Whenever a new version of Backstage is released, the Helper scaffolds a new dummy Backstage app using the `backstage-create-app` cli utility and checks all the generated files in a specific git branch. After the branch is generated, it gets compared with all the existing ones, which results in generating specific git patches stored in specific files. By selecting the version of the current Backstage release together with the version you want to upgrade to, the UI knows which patch file needs to be picked up. +Whenever a new version of Backstage is released, the Helper scaffolds a new sample Backstage app using the `backstage-create-app` cli utility and checks all the generated files in a specific git branch. After the branch is generated, it gets compared with all the existing ones, which results in generating specific git patches stored in specific files. By selecting the version of the current Backstage release together with the version you want to upgrade to, the UI knows which patch file needs to be picked up. So, now you can update your Backstage application in three steps rather than manually reading the changelogs of all the Backstage modules in reverse order. diff --git a/packages/backend-common/src/cache/CacheManager.ts b/packages/backend-common/src/cache/CacheManager.ts index 9bf5000fc6..8fa4b92b42 100644 --- a/packages/backend-common/src/cache/CacheManager.ts +++ b/packages/backend-common/src/cache/CacheManager.ts @@ -102,7 +102,7 @@ export class CacheManager { getClient: (opts = {}): CacheClient => { const concreteClient = this.getClientWithTtl(pluginId, opts.defaultTtl); - // Always provide an error handler to avoid killing the process. + // Always provide an error handler to avoid stopping the process. concreteClient.on('error', (err: Error) => { // In all cases, just log the error. this.logger.error(err); diff --git a/packages/backend-common/src/reading/AwsS3UrlReader.test.ts b/packages/backend-common/src/reading/AwsS3UrlReader.test.ts index 4a2be1fc74..dd4cd23de4 100644 --- a/packages/backend-common/src/reading/AwsS3UrlReader.test.ts +++ b/packages/backend-common/src/reading/AwsS3UrlReader.test.ts @@ -133,7 +133,7 @@ describe('AwsS3UrlReader', () => { }); }; - it('creates a dummy reader without the awsS3 field', () => { + it('creates a sample reader without the awsS3 field', () => { const entries = createReader({ integrations: {}, }); diff --git a/packages/backend-common/src/tokens/ServerTokenManager.ts b/packages/backend-common/src/tokens/ServerTokenManager.ts index 970dcfb83d..c7468eeb1a 100644 --- a/packages/backend-common/src/tokens/ServerTokenManager.ts +++ b/packages/backend-common/src/tokens/ServerTokenManager.ts @@ -27,7 +27,7 @@ const TOKEN_EXPIRY_AFTER = Duration.fromObject({ hours: 1 }); const TOKEN_REISSUE_AFTER = Duration.fromObject({ minutes: 10 }); /** - * A token manager that issues static dummy tokens and never fails + * A token manager that issues static fake tokens and never fails * authentication. This can be useful for testing. */ class NoopTokenManager implements TokenManager { @@ -66,7 +66,7 @@ export class ServerTokenManager implements TokenManager { private currentTokenPromise: Promise<{ token: string }> | undefined; /** - * Creates a token manager that issues static dummy tokens and never fails + * Creates a token manager that issues static fake tokens and never fails * authentication. This can be useful for testing. */ static noop(): TokenManager { diff --git a/packages/cli-common/src/paths.ts b/packages/cli-common/src/paths.ts index 2b1ca34ca5..bdd0245c76 100644 --- a/packages/cli-common/src/paths.ts +++ b/packages/cli-common/src/paths.ts @@ -64,7 +64,7 @@ export function findRootPath( ): string | undefined { let path = searchDir; - // Some sanity check to avoid infinite loop + // Some confidence check to avoid infinite loop for (let i = 0; i < 1000; i++) { const packagePath = resolvePath(path, 'package.json'); const exists = fs.existsSync(packagePath); diff --git a/packages/cli/config/eslint-factory.js b/packages/cli/config/eslint-factory.js index e213f58e4e..a40aa79fb3 100644 --- a/packages/cli/config/eslint-factory.js +++ b/packages/cli/config/eslint-factory.js @@ -231,7 +231,7 @@ function createConfigForRole(dir, role, extraConfig = {}) { }, restrictedImports: [ { - // Importing the entire MUI icons packages kills build performance as the list of icons is huge. + // Importing the entire MUI icons packages impedes build performance as the list of icons is huge. name: '@material-ui/icons', message: "Please import '@material-ui/icons/' instead.", }, diff --git a/packages/cli/config/jest.js b/packages/cli/config/jest.js index 4b9fcd3d8e..148d574441 100644 --- a/packages/cli/config/jest.js +++ b/packages/cli/config/jest.js @@ -82,7 +82,7 @@ async function getProjectConfig(targetPath, displayName) { let closestPkgJson = undefined; let currentPath = targetPath; - // Some sanity check to avoid infinite loop + // Some confidence check to avoid infinite loop for (let i = 0; i < 100; i++) { const packagePath = path.resolve(currentPath, 'package.json'); const exists = fs.pathExistsSync(packagePath); diff --git a/packages/cli/src/lib/builder/packager.test.ts b/packages/cli/src/lib/builder/packager.test.ts index 6264eb57ac..ea38aa82d9 100644 --- a/packages/cli/src/lib/builder/packager.test.ts +++ b/packages/cli/src/lib/builder/packager.test.ts @@ -31,7 +31,7 @@ describe('formatErrorMessage with esbuild plugin error', () => { plugin: 'esbuild', message: 'test', id: 'index.js', - errors: [{ text: 'Dummy', location: { line: 1, column: 1 } }], + errors: [{ text: 'Sample', location: { line: 1, column: 1 } }], }); expect(msg).toContain('test\n\n'); }); diff --git a/packages/cli/src/lib/builder/plugins.ts b/packages/cli/src/lib/builder/plugins.ts index 3b1cbe4f1c..e68758c1c8 100644 --- a/packages/cli/src/lib/builder/plugins.ts +++ b/packages/cli/src/lib/builder/plugins.ts @@ -114,7 +114,7 @@ export function forwardFileImports(options: ForwardFileImportsOptions): Plugin { return false; } - // Sanity check, dunno if this can happen + // Confidence check, dunno if this can happen if (!importer) { throw new Error(`Unknown importer of file module ${id}`); } diff --git a/packages/cli/src/lib/bundler/LinkedPackageResolvePlugin.test.ts b/packages/cli/src/lib/bundler/LinkedPackageResolvePlugin.test.ts index 450126e6fa..a64630d6fb 100644 --- a/packages/cli/src/lib/bundler/LinkedPackageResolvePlugin.test.ts +++ b/packages/cli/src/lib/bundler/LinkedPackageResolvePlugin.test.ts @@ -80,7 +80,7 @@ describe('LinkedPackageResolvePlugin', () => { const callbackFalse = jest.fn(); tap( { - request: 'dummy', + request: 'sample', path: false, }, 'some-context', diff --git a/packages/core-app-api/src/app/AppManager.tsx b/packages/core-app-api/src/app/AppManager.tsx index 0ca09c0a0c..4582a3c7cd 100644 --- a/packages/core-app-api/src/app/AppManager.tsx +++ b/packages/core-app-api/src/app/AppManager.tsx @@ -116,7 +116,7 @@ function getBasePath(configApi: Config) { function readBasePath(configApi: ConfigApi) { let { pathname } = new URL( configApi.getOptionalString('app.baseUrl') ?? '/', - 'http://dummy.dev', // baseUrl can be specified as just a path + 'http://sample.dev', // baseUrl can be specified as just a path ); pathname = pathname.replace(/\/*$/, ''); return pathname; diff --git a/packages/core-components/src/components/Link/Link.tsx b/packages/core-components/src/components/Link/Link.tsx index 66b7453abd..dfa38be44e 100644 --- a/packages/core-components/src/components/Link/Link.tsx +++ b/packages/core-components/src/components/Link/Link.tsx @@ -80,7 +80,7 @@ const useBaseUrl = () => { */ const useBasePath = () => { // baseUrl can be specified as just a path - const base = 'http://dummy.dev'; + const base = 'http://sample.dev'; const url = useBaseUrl() ?? '/'; const { pathname } = new URL(url, base); return trimEnd(pathname, '/'); diff --git a/packages/core-components/src/components/OverflowTooltip/OverflowTooltip.stories.tsx b/packages/core-components/src/components/OverflowTooltip/OverflowTooltip.stories.tsx index a022b3b5c2..5ab5ba7dc4 100644 --- a/packages/core-components/src/components/OverflowTooltip/OverflowTooltip.stories.tsx +++ b/packages/core-components/src/components/OverflowTooltip/OverflowTooltip.stories.tsx @@ -23,7 +23,7 @@ export default { }; const text = - 'Lorem Ipsum is simply dummy text of the printing and typesetting industry.'; + 'Lorem Ipsum is simply sample text of the printing and typesetting industry.'; export const Default = () => ( diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index bd364dac67..f3a505fc02 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -912,7 +912,7 @@ ### Patch Changes -- 5aa4ceea6: Make sure to provide dummy routes for all external routes of plugins given to DevApp +- 5aa4ceea6: Make sure to provide sample routes for all external routes of plugins given to DevApp - Updated dependencies [3a58084b6] - Updated dependencies [e799e74d4] - Updated dependencies [dc12852c9] diff --git a/packages/dev-utils/src/devApp/render.tsx b/packages/dev-utils/src/devApp/render.tsx index e04779b4d1..6fa73ba860 100644 --- a/packages/dev-utils/src/devApp/render.tsx +++ b/packages/dev-utils/src/devApp/render.tsx @@ -165,9 +165,9 @@ export class DevAppBuilder { * Build a DevApp component using the resources registered so far */ build(): ComponentType<{}> { - const dummyRouteRef = createRouteRef({ id: 'dummy' }); - const DummyPage = () => Page belonging to another plugin.; - attachComponentData(DummyPage, 'core.mountPoint', dummyRouteRef); + const fakeRouteRef = createRouteRef({ id: 'fake' }); + const FakePage = () => Page belonging to another plugin.; + attachComponentData(FakePage, 'core.mountPoint', fakeRouteRef); const apis = [...this.apis]; if (!apis.some(api => api.api.id === scmIntegrationsApiRef.id)) { @@ -188,7 +188,7 @@ export class DevAppBuilder { for (const plugin of this.plugins ?? []) { const targets: Record> = {}; for (const routeKey of Object.keys(plugin.externalRoutes)) { - targets[routeKey] = dummyRouteRef; + targets[routeKey] = fakeRouteRef; } bind(plugin.externalRoutes, targets); } @@ -215,7 +215,7 @@ export class DevAppBuilder { {this.routes} - } /> + } /> diff --git a/packages/techdocs-cli/e2e-tests/techdocs-cli.test.ts b/packages/techdocs-cli/e2e-tests/techdocs-cli.test.ts index 15d420af2c..dbbc219ab6 100644 --- a/packages/techdocs-cli/e2e-tests/techdocs-cli.test.ts +++ b/packages/techdocs-cli/e2e-tests/techdocs-cli.test.ts @@ -64,7 +64,7 @@ describe('end-to-end', () => { afterEach(async () => { // On Windows the pid of a spawned process may be wrong - // Because of this, we should be kill the MKDocs after the test + // Because of this, we should stop the MKDocs after the test // (e.g. https://github.com/nodejs/node/issues/4289#issuecomment-854270414) if (process.platform === 'win32') { const procs = await findProcess('name', 'mkdocs', true); diff --git a/packages/techdocs-cli/src/lib/run.ts b/packages/techdocs-cli/src/lib/run.ts index 9e2abeb617..13ac7d9d4c 100644 --- a/packages/techdocs-cli/src/lib/run.ts +++ b/packages/techdocs-cli/src/lib/run.ts @@ -63,7 +63,7 @@ export const run = async ( return childProcess; }; -// Block indefinitely and wait for a signal to kill the child process(es) +// Block indefinitely and wait for a signal to stop the child process(es) // Throw error if any child process errors // Resolves only when all processes exit with status code 0 export async function waitForSignal( diff --git a/plugins/techdocs-node/CHANGELOG.md b/plugins/techdocs-node/CHANGELOG.md index 12e8fba8d1..65e0d267fe 100644 --- a/plugins/techdocs-node/CHANGELOG.md +++ b/plugins/techdocs-node/CHANGELOG.md @@ -1170,7 +1170,7 @@ ### Minor Changes -- bc9d62f4f: Move the sanity checks of the publisher configurations to a dedicated `PublisherBase#getReadiness()` method instead of throwing an error when doing `Publisher.fromConfig(...)`. +- bc9d62f4f: Move the confidence checks of the publisher configurations to a dedicated `PublisherBase#getReadiness()` method instead of throwing an error when doing `Publisher.fromConfig(...)`. You should include the check when your backend to get early feedback about a potential misconfiguration: ```diff