@backstage/app-defaults 1.5.5 → 1.5.6-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @backstage/app-defaults
2
2
 
3
+ ## 1.5.6-next.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @backstage/core-components@0.14.8-next.1
9
+ - @backstage/core-plugin-api@1.9.3-next.0
10
+ - @backstage/core-app-api@1.12.6-next.0
11
+ - @backstage/plugin-permission-react@0.4.23-next.0
12
+ - @backstage/theme@0.5.6-next.0
13
+
14
+ ## 1.5.6-next.0
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies
19
+ - @backstage/theme@0.5.6-next.0
20
+ - @backstage/core-components@0.14.8-next.0
21
+ - @backstage/core-app-api@1.12.5
22
+ - @backstage/core-plugin-api@1.9.2
23
+ - @backstage/plugin-permission-react@0.4.22
24
+
3
25
  ## 1.5.5
4
26
 
5
27
  ### Patch Changes
@@ -5,24 +5,23 @@ import { themes } from './defaults/themes.esm.js';
5
5
  import { createSpecializedApp } from '@backstage/core-app-api';
6
6
 
7
7
  function createApp(options) {
8
- var _a, _b, _c, _d;
9
8
  return createSpecializedApp({
10
9
  ...options,
11
- apis: (_a = options == null ? void 0 : options.apis) != null ? _a : [],
12
- bindRoutes: options == null ? void 0 : options.bindRoutes,
10
+ apis: options?.apis ?? [],
11
+ bindRoutes: options?.bindRoutes,
13
12
  components: {
14
13
  ...components,
15
- ...options == null ? void 0 : options.components
14
+ ...options?.components
16
15
  },
17
- configLoader: options == null ? void 0 : options.configLoader,
16
+ configLoader: options?.configLoader,
18
17
  defaultApis: apis,
19
18
  icons: {
20
19
  ...icons,
21
- ...options == null ? void 0 : options.icons
20
+ ...options?.icons
22
21
  },
23
- plugins: (_b = options == null ? void 0 : options.plugins) != null ? _b : [],
24
- featureFlags: (_c = options == null ? void 0 : options.featureFlags) != null ? _c : [],
25
- themes: (_d = options == null ? void 0 : options.themes) != null ? _d : themes
22
+ plugins: options?.plugins ?? [],
23
+ featureFlags: options?.featureFlags ?? [],
24
+ themes: options?.themes ?? themes
26
25
  });
27
26
  }
28
27
 
@@ -1 +1 @@
1
- {"version":3,"file":"createApp.esm.js","sources":["../src/createApp.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { apis, components, icons, themes } from './defaults';\nimport {\n AppTheme,\n BackstagePlugin,\n IconComponent,\n} from '@backstage/core-plugin-api';\nimport {\n AppComponents,\n AppOptions,\n AppIcons,\n createSpecializedApp,\n} from '@backstage/core-app-api';\n\n/**\n * Creates a new Backstage App using a default set of components, icons and themes unless\n * they are explicitly provided.\n *\n * @public\n */\nexport function createApp(\n options?: Omit<AppOptions, keyof OptionalAppOptions> & OptionalAppOptions,\n) {\n return createSpecializedApp({\n ...options,\n apis: options?.apis ?? [],\n bindRoutes: options?.bindRoutes,\n components: {\n ...components,\n ...options?.components,\n },\n configLoader: options?.configLoader,\n defaultApis: apis,\n icons: {\n ...icons,\n ...options?.icons,\n },\n plugins: (options?.plugins as BackstagePlugin[]) ?? [],\n featureFlags: options?.featureFlags ?? [],\n themes: options?.themes ?? themes,\n });\n}\n\n/**\n * The set of app options that {@link createApp} will provide defaults for\n * if they are not passed in explicitly.\n *\n * @public\n */\nexport type OptionalAppOptions = {\n /**\n * A set of icons to override the default icons with.\n *\n * The override is applied for each icon individually.\n *\n * @public\n */\n icons?: Partial<AppIcons> & {\n [key in string]: IconComponent;\n };\n\n /**\n * A set of themes that override all of the default app themes.\n *\n * If this option is provided none of the default themes will be used.\n *\n * @public\n */\n themes?: (Partial<AppTheme> & Omit<AppTheme, 'theme'>)[]; // TODO: simplify once AppTheme is updated\n\n /**\n * A set of components to override the default components with.\n *\n * The override is applied for each icon individually.\n *\n * @public\n */\n components?: Partial<AppComponents>;\n};\n"],"names":[],"mappings":";;;;;;AAmCO,SAAS,UACd,OACA,EAAA;AArCF,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAsCE,EAAA,OAAO,oBAAqB,CAAA;AAAA,IAC1B,GAAG,OAAA;AAAA,IACH,IAAM,EAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,IAAT,KAAA,IAAA,GAAA,EAAA,GAAiB,EAAC;AAAA,IACxB,YAAY,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,UAAA;AAAA,IACrB,UAAY,EAAA;AAAA,MACV,GAAG,UAAA;AAAA,MACH,GAAG,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,UAAA;AAAA,KACd;AAAA,IACA,cAAc,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,YAAA;AAAA,IACvB,WAAa,EAAA,IAAA;AAAA,IACb,KAAO,EAAA;AAAA,MACL,GAAG,KAAA;AAAA,MACH,GAAG,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA;AAAA,KACd;AAAA,IACA,OAAU,EAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,OAAT,KAAA,IAAA,GAAA,EAAA,GAA0C,EAAC;AAAA,IACrD,YAAc,EAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,YAAT,KAAA,IAAA,GAAA,EAAA,GAAyB,EAAC;AAAA,IACxC,MAAA,EAAA,CAAQ,EAAS,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,MAAA,KAAT,IAAmB,GAAA,EAAA,GAAA,MAAA;AAAA,GAC5B,CAAA,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"createApp.esm.js","sources":["../src/createApp.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { apis, components, icons, themes } from './defaults';\nimport {\n AppTheme,\n BackstagePlugin,\n IconComponent,\n} from '@backstage/core-plugin-api';\nimport {\n AppComponents,\n AppOptions,\n AppIcons,\n createSpecializedApp,\n} from '@backstage/core-app-api';\n\n/**\n * Creates a new Backstage App using a default set of components, icons and themes unless\n * they are explicitly provided.\n *\n * @public\n */\nexport function createApp(\n options?: Omit<AppOptions, keyof OptionalAppOptions> & OptionalAppOptions,\n) {\n return createSpecializedApp({\n ...options,\n apis: options?.apis ?? [],\n bindRoutes: options?.bindRoutes,\n components: {\n ...components,\n ...options?.components,\n },\n configLoader: options?.configLoader,\n defaultApis: apis,\n icons: {\n ...icons,\n ...options?.icons,\n },\n plugins: (options?.plugins as BackstagePlugin[]) ?? [],\n featureFlags: options?.featureFlags ?? [],\n themes: options?.themes ?? themes,\n });\n}\n\n/**\n * The set of app options that {@link createApp} will provide defaults for\n * if they are not passed in explicitly.\n *\n * @public\n */\nexport type OptionalAppOptions = {\n /**\n * A set of icons to override the default icons with.\n *\n * The override is applied for each icon individually.\n *\n * @public\n */\n icons?: Partial<AppIcons> & {\n [key in string]: IconComponent;\n };\n\n /**\n * A set of themes that override all of the default app themes.\n *\n * If this option is provided none of the default themes will be used.\n *\n * @public\n */\n themes?: (Partial<AppTheme> & Omit<AppTheme, 'theme'>)[]; // TODO: simplify once AppTheme is updated\n\n /**\n * A set of components to override the default components with.\n *\n * The override is applied for each icon individually.\n *\n * @public\n */\n components?: Partial<AppComponents>;\n};\n"],"names":[],"mappings":";;;;;;AAmCO,SAAS,UACd,OACA,EAAA;AACA,EAAA,OAAO,oBAAqB,CAAA;AAAA,IAC1B,GAAG,OAAA;AAAA,IACH,IAAA,EAAM,OAAS,EAAA,IAAA,IAAQ,EAAC;AAAA,IACxB,YAAY,OAAS,EAAA,UAAA;AAAA,IACrB,UAAY,EAAA;AAAA,MACV,GAAG,UAAA;AAAA,MACH,GAAG,OAAS,EAAA,UAAA;AAAA,KACd;AAAA,IACA,cAAc,OAAS,EAAA,YAAA;AAAA,IACvB,WAAa,EAAA,IAAA;AAAA,IACb,KAAO,EAAA;AAAA,MACL,GAAG,KAAA;AAAA,MACH,GAAG,OAAS,EAAA,KAAA;AAAA,KACd;AAAA,IACA,OAAA,EAAU,OAAS,EAAA,OAAA,IAAiC,EAAC;AAAA,IACrD,YAAA,EAAc,OAAS,EAAA,YAAA,IAAgB,EAAC;AAAA,IACxC,MAAA,EAAQ,SAAS,MAAU,IAAA,MAAA;AAAA,GAC5B,CAAA,CAAA;AACH;;;;"}
@@ -27,7 +27,7 @@ const DefaultErrorBoundaryFallback = ({
27
27
  return /* @__PURE__ */ React.createElement(
28
28
  ErrorPanel,
29
29
  {
30
- title: `Error in ${plugin == null ? void 0 : plugin.getId()}`,
30
+ title: `Error in ${plugin?.getId()}`,
31
31
  defaultExpanded: true,
32
32
  error
33
33
  },
@@ -1 +1 @@
1
- {"version":3,"file":"components.esm.js","sources":["../../src/defaults/components.tsx"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ReactNode } from 'react';\nimport Button from '@material-ui/core/Button';\nimport { ErrorPanel, Progress, ErrorPage } from '@backstage/core-components';\nimport {\n MemoryRouter,\n useInRouterContext,\n BrowserRouter,\n} from 'react-router-dom';\nimport {\n AppComponents,\n BootErrorPageProps,\n ErrorBoundaryFallbackProps,\n} from '@backstage/core-plugin-api';\n\nexport function OptionallyWrapInRouter({ children }: { children: ReactNode }) {\n if (useInRouterContext()) {\n return <>{children}</>;\n }\n return <MemoryRouter>{children}</MemoryRouter>;\n}\n\nconst DefaultNotFoundPage = () => (\n <ErrorPage status=\"404\" statusMessage=\"PAGE NOT FOUND\" />\n);\n\nconst DefaultBootErrorPage = ({ step, error }: BootErrorPageProps) => {\n let message = '';\n if (step === 'load-config') {\n message = `The configuration failed to load, someone should have a look at this error: ${error.message}`;\n } else if (step === 'load-chunk') {\n message = `Lazy loaded chunk failed to load, try to reload the page: ${error.message}`;\n }\n // TODO: figure out a nicer way to handle routing on the error page, when it can be done.\n return (\n <OptionallyWrapInRouter>\n <ErrorPage statusMessage={message} stack={error.stack} />\n </OptionallyWrapInRouter>\n );\n};\n\nconst DefaultErrorBoundaryFallback = ({\n error,\n resetError,\n plugin,\n}: ErrorBoundaryFallbackProps) => {\n return (\n <ErrorPanel\n title={`Error in ${plugin?.getId()}`}\n defaultExpanded\n error={error}\n >\n <Button variant=\"outlined\" onClick={resetError}>\n Retry\n </Button>\n </ErrorPanel>\n );\n};\n\n/**\n * Creates a set of default components to pass along to {@link @backstage/core-app-api#createSpecializedApp}.\n *\n * @public\n */\nexport const components: AppComponents = {\n Progress,\n Router: BrowserRouter,\n NotFoundErrorPage: DefaultNotFoundPage,\n BootErrorPage: DefaultBootErrorPage,\n ErrorBoundaryFallback: DefaultErrorBoundaryFallback,\n};\n"],"names":[],"mappings":";;;;;AA8BgB,SAAA,sBAAA,CAAuB,EAAE,QAAA,EAAqC,EAAA;AAC5E,EAAA,IAAI,oBAAsB,EAAA;AACxB,IAAA,iEAAU,QAAS,CAAA,CAAA;AAAA,GACrB;AACA,EAAO,uBAAA,KAAA,CAAA,aAAA,CAAC,oBAAc,QAAS,CAAA,CAAA;AACjC,CAAA;AAEA,MAAM,sBAAsB,sBAC1B,KAAA,CAAA,aAAA,CAAC,aAAU,MAAO,EAAA,KAAA,EAAM,eAAc,gBAAiB,EAAA,CAAA,CAAA;AAGzD,MAAM,oBAAuB,GAAA,CAAC,EAAE,IAAA,EAAM,OAAgC,KAAA;AACpE,EAAA,IAAI,OAAU,GAAA,EAAA,CAAA;AACd,EAAA,IAAI,SAAS,aAAe,EAAA;AAC1B,IAAU,OAAA,GAAA,CAAA,4EAAA,EAA+E,MAAM,OAAO,CAAA,CAAA,CAAA;AAAA,GACxG,MAAA,IAAW,SAAS,YAAc,EAAA;AAChC,IAAU,OAAA,GAAA,CAAA,0DAAA,EAA6D,MAAM,OAAO,CAAA,CAAA,CAAA;AAAA,GACtF;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,8CACE,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,eAAe,OAAS,EAAA,KAAA,EAAO,KAAM,CAAA,KAAA,EAAO,CACzD,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,+BAA+B,CAAC;AAAA,EACpC,KAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AACF,CAAkC,KAAA;AAChC,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,CAAY,SAAA,EAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,KAAO,EAAA,CAAA,CAAA;AAAA,MAClC,eAAe,EAAA,IAAA;AAAA,MACf,KAAA;AAAA,KAAA;AAAA,wCAEC,MAAO,EAAA,EAAA,OAAA,EAAQ,UAAW,EAAA,OAAA,EAAS,cAAY,OAEhD,CAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAOO,MAAM,UAA4B,GAAA;AAAA,EACvC,QAAA;AAAA,EACA,MAAQ,EAAA,aAAA;AAAA,EACR,iBAAmB,EAAA,mBAAA;AAAA,EACnB,aAAe,EAAA,oBAAA;AAAA,EACf,qBAAuB,EAAA,4BAAA;AACzB;;;;"}
1
+ {"version":3,"file":"components.esm.js","sources":["../../src/defaults/components.tsx"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ReactNode } from 'react';\nimport Button from '@material-ui/core/Button';\nimport { ErrorPanel, Progress, ErrorPage } from '@backstage/core-components';\nimport {\n MemoryRouter,\n useInRouterContext,\n BrowserRouter,\n} from 'react-router-dom';\nimport {\n AppComponents,\n BootErrorPageProps,\n ErrorBoundaryFallbackProps,\n} from '@backstage/core-plugin-api';\n\nexport function OptionallyWrapInRouter({ children }: { children: ReactNode }) {\n if (useInRouterContext()) {\n return <>{children}</>;\n }\n return <MemoryRouter>{children}</MemoryRouter>;\n}\n\nconst DefaultNotFoundPage = () => (\n <ErrorPage status=\"404\" statusMessage=\"PAGE NOT FOUND\" />\n);\n\nconst DefaultBootErrorPage = ({ step, error }: BootErrorPageProps) => {\n let message = '';\n if (step === 'load-config') {\n message = `The configuration failed to load, someone should have a look at this error: ${error.message}`;\n } else if (step === 'load-chunk') {\n message = `Lazy loaded chunk failed to load, try to reload the page: ${error.message}`;\n }\n // TODO: figure out a nicer way to handle routing on the error page, when it can be done.\n return (\n <OptionallyWrapInRouter>\n <ErrorPage statusMessage={message} stack={error.stack} />\n </OptionallyWrapInRouter>\n );\n};\n\nconst DefaultErrorBoundaryFallback = ({\n error,\n resetError,\n plugin,\n}: ErrorBoundaryFallbackProps) => {\n return (\n <ErrorPanel\n title={`Error in ${plugin?.getId()}`}\n defaultExpanded\n error={error}\n >\n <Button variant=\"outlined\" onClick={resetError}>\n Retry\n </Button>\n </ErrorPanel>\n );\n};\n\n/**\n * Creates a set of default components to pass along to {@link @backstage/core-app-api#createSpecializedApp}.\n *\n * @public\n */\nexport const components: AppComponents = {\n Progress,\n Router: BrowserRouter,\n NotFoundErrorPage: DefaultNotFoundPage,\n BootErrorPage: DefaultBootErrorPage,\n ErrorBoundaryFallback: DefaultErrorBoundaryFallback,\n};\n"],"names":[],"mappings":";;;;;AA8BgB,SAAA,sBAAA,CAAuB,EAAE,QAAA,EAAqC,EAAA;AAC5E,EAAA,IAAI,oBAAsB,EAAA;AACxB,IAAA,iEAAU,QAAS,CAAA,CAAA;AAAA,GACrB;AACA,EAAO,uBAAA,KAAA,CAAA,aAAA,CAAC,oBAAc,QAAS,CAAA,CAAA;AACjC,CAAA;AAEA,MAAM,sBAAsB,sBAC1B,KAAA,CAAA,aAAA,CAAC,aAAU,MAAO,EAAA,KAAA,EAAM,eAAc,gBAAiB,EAAA,CAAA,CAAA;AAGzD,MAAM,oBAAuB,GAAA,CAAC,EAAE,IAAA,EAAM,OAAgC,KAAA;AACpE,EAAA,IAAI,OAAU,GAAA,EAAA,CAAA;AACd,EAAA,IAAI,SAAS,aAAe,EAAA;AAC1B,IAAU,OAAA,GAAA,CAAA,4EAAA,EAA+E,MAAM,OAAO,CAAA,CAAA,CAAA;AAAA,GACxG,MAAA,IAAW,SAAS,YAAc,EAAA;AAChC,IAAU,OAAA,GAAA,CAAA,0DAAA,EAA6D,MAAM,OAAO,CAAA,CAAA,CAAA;AAAA,GACtF;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,8CACE,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,eAAe,OAAS,EAAA,KAAA,EAAO,KAAM,CAAA,KAAA,EAAO,CACzD,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,+BAA+B,CAAC;AAAA,EACpC,KAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AACF,CAAkC,KAAA;AAChC,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA,CAAA,SAAA,EAAY,MAAQ,EAAA,KAAA,EAAO,CAAA,CAAA;AAAA,MAClC,eAAe,EAAA,IAAA;AAAA,MACf,KAAA;AAAA,KAAA;AAAA,wCAEC,MAAO,EAAA,EAAA,OAAA,EAAQ,UAAW,EAAA,OAAA,EAAS,cAAY,OAEhD,CAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAOO,MAAM,UAA4B,GAAA;AAAA,EACvC,QAAA;AAAA,EACA,MAAQ,EAAA,aAAA;AAAA,EACR,iBAAmB,EAAA,mBAAA;AAAA,EACnB,aAAe,EAAA,oBAAA;AAAA,EACf,qBAAuB,EAAA,4BAAA;AACzB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/app-defaults",
3
- "version": "1.5.5",
3
+ "version": "1.5.6-next.1",
4
4
  "description": "Provides the default wiring of a Backstage App",
5
5
  "backstage": {
6
6
  "role": "web-library"
@@ -36,17 +36,17 @@
36
36
  "test": "backstage-cli package test"
37
37
  },
38
38
  "dependencies": {
39
- "@backstage/core-app-api": "^1.12.5",
40
- "@backstage/core-components": "^0.14.7",
41
- "@backstage/core-plugin-api": "^1.9.2",
42
- "@backstage/plugin-permission-react": "^0.4.22",
43
- "@backstage/theme": "^0.5.4",
39
+ "@backstage/core-app-api": "^1.12.6-next.0",
40
+ "@backstage/core-components": "^0.14.8-next.1",
41
+ "@backstage/core-plugin-api": "^1.9.3-next.0",
42
+ "@backstage/plugin-permission-react": "^0.4.23-next.0",
43
+ "@backstage/theme": "^0.5.6-next.0",
44
44
  "@material-ui/core": "^4.12.2",
45
45
  "@material-ui/icons": "^4.9.1"
46
46
  },
47
47
  "devDependencies": {
48
- "@backstage/cli": "^0.26.5",
49
- "@backstage/test-utils": "^1.5.5",
48
+ "@backstage/cli": "^0.26.7-next.2",
49
+ "@backstage/test-utils": "^1.5.6-next.1",
50
50
  "@testing-library/jest-dom": "^6.0.0",
51
51
  "@testing-library/react": "^15.0.0",
52
52
  "@types/react": "^16.13.1 || ^17.0.0"