diff --git a/.changeset/chatty-coats-sin.md b/.changeset/chatty-coats-sin.md new file mode 100644 index 0000000000..3842074f4c --- /dev/null +++ b/.changeset/chatty-coats-sin.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-defaults': minor +--- + +**BREAKING**: Moved `createPublicSignInApp` to the `/alpha` sub-path export. diff --git a/packages/app-next/src/index-public-experimental.tsx b/packages/app-next/src/index-public-experimental.tsx index 34198f9553..4c01c428df 100644 --- a/packages/app-next/src/index-public-experimental.tsx +++ b/packages/app-next/src/index-public-experimental.tsx @@ -15,7 +15,7 @@ */ import ReactDOM from 'react-dom/client'; -import { createPublicSignInApp } from '@backstage/frontend-defaults'; +import { createPublicSignInApp } from '@backstage/frontend-defaults/alpha'; import '@backstage/ui/css/styles.css'; const app = createPublicSignInApp(); diff --git a/packages/frontend-defaults/package.json b/packages/frontend-defaults/package.json index 5a2cfb6eb3..4bbbf8986d 100644 --- a/packages/frontend-defaults/package.json +++ b/packages/frontend-defaults/package.json @@ -5,9 +5,7 @@ "role": "web-library" }, "publishConfig": { - "access": "public", - "main": "dist/index.esm.js", - "types": "dist/index.d.ts" + "access": "public" }, "repository": { "type": "git", @@ -16,8 +14,23 @@ }, "license": "Apache-2.0", "sideEffects": false, + "exports": { + ".": "./src/index.ts", + "./alpha": "./src/alpha/index.ts", + "./package.json": "./package.json" + }, "main": "src/index.ts", "types": "src/index.ts", + "typesVersions": { + "*": { + "alpha": [ + "src/alpha/index.ts" + ], + "package.json": [ + "package.json" + ] + } + }, "files": [ "dist" ], diff --git a/packages/frontend-defaults/report-alpha.api.md b/packages/frontend-defaults/report-alpha.api.md new file mode 100644 index 0000000000..1bd66e6521 --- /dev/null +++ b/packages/frontend-defaults/report-alpha.api.md @@ -0,0 +1,15 @@ +## API Report File for "@backstage/frontend-defaults" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { CreateAppOptions } from '@backstage/frontend-defaults'; +import { JSX as JSX_2 } from 'react'; + +// @alpha +export function createPublicSignInApp(options?: CreateAppOptions): { + createRoot(): JSX_2.Element; +}; + +// (No @packageDocumentation comment for this package) +``` diff --git a/packages/frontend-defaults/report.api.md b/packages/frontend-defaults/report.api.md index 37c770074e..ef7ae6a944 100644 --- a/packages/frontend-defaults/report.api.md +++ b/packages/frontend-defaults/report.api.md @@ -41,11 +41,6 @@ export interface CreateAppOptions { pluginInfoResolver?: FrontendPluginInfoResolver; } -// @public -export function createPublicSignInApp(options?: CreateAppOptions): { - createRoot(): JSX_2; -}; - // @public (undocumented) export function discoverAvailableFeatures(config: Config): { features: (FrontendFeature | FrontendFeatureLoader)[]; diff --git a/packages/frontend-defaults/src/createPublicSignInApp.test.tsx b/packages/frontend-defaults/src/alpha/createPublicSignInApp.test.tsx similarity index 100% rename from packages/frontend-defaults/src/createPublicSignInApp.test.tsx rename to packages/frontend-defaults/src/alpha/createPublicSignInApp.test.tsx diff --git a/packages/frontend-defaults/src/createPublicSignInApp.tsx b/packages/frontend-defaults/src/alpha/createPublicSignInApp.tsx similarity index 96% rename from packages/frontend-defaults/src/createPublicSignInApp.tsx rename to packages/frontend-defaults/src/alpha/createPublicSignInApp.tsx index af7107681b..90c6e5e178 100644 --- a/packages/frontend-defaults/src/createPublicSignInApp.tsx +++ b/packages/frontend-defaults/src/alpha/createPublicSignInApp.tsx @@ -21,7 +21,8 @@ import { useApi, } from '@backstage/frontend-plugin-api'; import { useAsync, useMountEffect } from '@react-hookz/web'; -import { CreateAppOptions, createApp } from './createApp'; +import { createApp } from '../createApp'; +import { CreateAppOptions } from '@backstage/frontend-defaults'; import appPlugin from '@backstage/plugin-app'; // This is a copy of the CookieAuthRedirect component from the auth-react @@ -84,7 +85,7 @@ export function InternalCookieAuthRedirect() { * }); * ``` * - * @public + * @alpha */ export function createPublicSignInApp(options?: CreateAppOptions) { return createApp({ diff --git a/packages/frontend-defaults/src/alpha/index.ts b/packages/frontend-defaults/src/alpha/index.ts new file mode 100644 index 0000000000..f9e45bdeec --- /dev/null +++ b/packages/frontend-defaults/src/alpha/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2025 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { createPublicSignInApp } from './createPublicSignInApp'; diff --git a/packages/frontend-defaults/src/index.ts b/packages/frontend-defaults/src/index.ts index 68d4c72568..0897d9f38e 100644 --- a/packages/frontend-defaults/src/index.ts +++ b/packages/frontend-defaults/src/index.ts @@ -21,6 +21,5 @@ */ export { createApp, type CreateAppOptions } from './createApp'; -export { createPublicSignInApp } from './createPublicSignInApp'; export { discoverAvailableFeatures } from './discovery'; export { resolveAsyncFeatures } from './resolution';