@backstage/create-app 0.4.5 → 0.4.6

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,72 @@
1
1
  # @backstage/create-app
2
2
 
3
+ ## 0.4.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 24d2ce03f3: Search Modal now relies on the Search Context to access state and state setter. If you use the SidebarSearchModal as described in the [getting started documentation](https://backstage.io/docs/features/search/getting-started#using-the-search-modal), make sure to update your code with the SearchContextProvider.
8
+
9
+ ```diff
10
+ export const Root = ({ children }: PropsWithChildren<{}>) => (
11
+ <SidebarPage>
12
+ <Sidebar>
13
+ <SidebarLogo />
14
+ - <SidebarSearchModal />
15
+ + <SearchContextProvider>
16
+ + <SidebarSearchModal />
17
+ + </SearchContextProvider>
18
+ <SidebarDivider />
19
+ ...
20
+ ```
21
+
22
+ - 905dd952ac: Incorporate usage of the tokenManager into the backend created using `create-app`.
23
+
24
+ In existing backends, update the `PluginEnvironment` to include a `tokenManager`:
25
+
26
+ ```diff
27
+ // packages/backend/src/types.ts
28
+
29
+ ...
30
+ import {
31
+ ...
32
+ + TokenManager,
33
+ } from '@backstage/backend-common';
34
+
35
+ export type PluginEnvironment = {
36
+ ...
37
+ + tokenManager: TokenManager;
38
+ };
39
+ ```
40
+
41
+ Then, create a `ServerTokenManager`. This can either be a `noop` that requires no secret and validates all requests by default, or one that uses a secret from your `app-config.yaml` to generate and validate tokens.
42
+
43
+ ```diff
44
+ // packages/backend/src/index.ts
45
+
46
+ ...
47
+ import {
48
+ ...
49
+ + ServerTokenManager,
50
+ } from '@backstage/backend-common';
51
+ ...
52
+
53
+ function makeCreateEnv(config: Config) {
54
+ ...
55
+ // CHOOSE ONE
56
+ // TokenManager not requiring a secret
57
+ + const tokenManager = ServerTokenManager.noop();
58
+ // OR TokenManager requiring a secret
59
+ + const tokenManager = ServerTokenManager.fromConfig(config);
60
+
61
+ ...
62
+ return (plugin: string): PluginEnvironment => {
63
+ ...
64
+ - return { logger, cache, database, config, reader, discovery };
65
+ + return { logger, cache, database, config, reader, discovery, tokenManager };
66
+ };
67
+ }
68
+ ```
69
+
3
70
  ## 0.4.5
4
71
 
5
72
  ### Patch Changes
package/dist/index.cjs.js CHANGED
@@ -55,25 +55,25 @@ ${chalk__default['default'].red(`${error}`)}
55
55
  }
56
56
  }
57
57
 
58
- var version$A = "0.4.5";
58
+ var version$A = "0.4.6";
59
59
 
60
60
  var version$z = "0.1.1";
61
61
 
62
- var version$y = "0.9.11";
62
+ var version$y = "0.9.12";
63
63
 
64
64
  var version$x = "0.5.2";
65
65
 
66
66
  var version$w = "0.9.7";
67
67
 
68
- var version$v = "0.9.1";
68
+ var version$v = "0.10.0";
69
69
 
70
70
  var version$u = "0.1.11";
71
71
 
72
- var version$t = "0.1.23";
72
+ var version$t = "0.1.24";
73
73
 
74
- var version$s = "0.7.5";
74
+ var version$s = "0.7.6";
75
75
 
76
- var version$r = "0.2.1";
76
+ var version$r = "0.2.2";
77
77
 
78
78
  var version$q = "0.1.5";
79
79
 
@@ -81,23 +81,23 @@ var version$p = "0.1.14";
81
81
 
82
82
  var version$o = "0.1.23";
83
83
 
84
- var version$n = "0.2.13";
84
+ var version$n = "0.2.14";
85
85
 
86
- var version$m = "0.6.15";
86
+ var version$m = "0.6.16";
87
87
 
88
88
  var version$l = "0.3.19";
89
89
 
90
- var version$k = "0.4.9";
90
+ var version$k = "0.4.10";
91
91
 
92
92
  var version$j = "0.7.3";
93
93
 
94
94
  var version$i = "0.6.4";
95
95
 
96
- var version$h = "0.18.0";
96
+ var version$h = "0.19.0";
97
97
 
98
98
  var version$g = "0.7.4";
99
99
 
100
- var version$f = "0.2.29";
100
+ var version$f = "0.2.30";
101
101
 
102
102
  var version$e = "0.3.21";
103
103
 
@@ -111,11 +111,11 @@ var version$a = "0.2.14";
111
111
 
112
112
  var version$9 = "0.1.16";
113
113
 
114
- var version$8 = "0.11.12";
114
+ var version$8 = "0.11.13";
115
115
 
116
- var version$7 = "0.15.14";
116
+ var version$7 = "0.15.15";
117
117
 
118
- var version$6 = "0.4.18";
118
+ var version$6 = "0.5.0";
119
119
 
120
120
  var version$5 = "0.2.7";
121
121
 
@@ -123,11 +123,11 @@ var version$4 = "0.4.3";
123
123
 
124
124
  var version$3 = "0.4.12";
125
125
 
126
- var version$2 = "0.12.7";
126
+ var version$2 = "0.12.8";
127
127
 
128
- var version$1 = "0.10.9";
128
+ var version$1 = "0.11.0";
129
129
 
130
- var version = "0.3.11";
130
+ var version = "0.3.12";
131
131
 
132
132
  const packageVersions = {
133
133
  "@backstage/app-defaults": version$z,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@backstage/create-app",
3
3
  "description": "A CLI that helps you create your own Backstage app",
4
- "version": "0.4.5",
4
+ "version": "0.4.6",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -56,5 +56,5 @@
56
56
  "dist",
57
57
  "templates"
58
58
  ],
59
- "gitHead": "85c127e436a24140bb3606f17f034f82aa9c7c0d"
59
+ "gitHead": "a05e7081b805006e3f0b2960a08a7753357f532f"
60
60
  }
@@ -6,6 +6,11 @@ organization:
6
6
  name: My Company
7
7
 
8
8
  backend:
9
+ # Used for enabling authentication, secret is shared by all backend plugins
10
+ # See backend-to-backend-auth.md in the docs for information on the format
11
+ # auth:
12
+ # keys:
13
+ # - secret: ${BACKEND_SECRET}
9
14
  baseUrl: http://localhost:7007
10
15
  listen:
11
16
  port: 7007
@@ -25,7 +25,10 @@ import LogoFull from './LogoFull';
25
25
  import LogoIcon from './LogoIcon';
26
26
  import { NavLink } from 'react-router-dom';
27
27
  import { Settings as SidebarSettings } from '@backstage/plugin-user-settings';
28
- import { SidebarSearchModal } from '@backstage/plugin-search';
28
+ import {
29
+ SidebarSearchModal,
30
+ SearchContextProvider,
31
+ } from '@backstage/plugin-search';
29
32
  import {
30
33
  Sidebar,
31
34
  SidebarPage,
@@ -74,7 +77,9 @@ export const Root = ({ children }: PropsWithChildren<{}>) => (
74
77
  <SidebarPage>
75
78
  <Sidebar>
76
79
  <SidebarLogo />
77
- <SidebarSearchModal />
80
+ <SearchContextProvider>
81
+ <SidebarSearchModal />
82
+ </SearchContextProvider>
78
83
  <SidebarDivider />
79
84
  {/* Global nav, not org-specific */}
80
85
  <SidebarItem icon={HomeIcon} to="catalog" text="Home" />
@@ -17,6 +17,7 @@ import {
17
17
  DatabaseManager,
18
18
  SingleHostDiscovery,
19
19
  UrlReaders,
20
+ ServerTokenManager,
20
21
  } from '@backstage/backend-common';
21
22
  import { Config } from '@backstage/config';
22
23
  import app from './plugins/app';
@@ -37,12 +38,13 @@ function makeCreateEnv(config: Config) {
37
38
 
38
39
  const cacheManager = CacheManager.fromConfig(config);
39
40
  const databaseManager = DatabaseManager.fromConfig(config);
41
+ const tokenManager = ServerTokenManager.noop();
40
42
 
41
43
  return (plugin: string): PluginEnvironment => {
42
44
  const logger = root.child({ type: 'plugin', plugin });
43
45
  const database = databaseManager.forPlugin(plugin);
44
46
  const cache = cacheManager.forPlugin(plugin);
45
- return { logger, database, cache, config, reader, discovery };
47
+ return { logger, database, cache, config, reader, discovery, tokenManager };
46
48
  };
47
49
  }
48
50
 
@@ -12,6 +12,7 @@ export default async function createPlugin({
12
12
  logger,
13
13
  discovery,
14
14
  config,
15
+ tokenManager,
15
16
  }: PluginEnvironment) {
16
17
  // Initialize a connection to a search engine.
17
18
  const searchEngine = new LunrSearchEngine({ logger });
@@ -21,13 +22,20 @@ export default async function createPlugin({
21
22
  // collator gathers entities from the software catalog.
22
23
  indexBuilder.addCollator({
23
24
  defaultRefreshIntervalSeconds: 600,
24
- collator: DefaultCatalogCollator.fromConfig(config, { discovery }),
25
+ collator: DefaultCatalogCollator.fromConfig(config, {
26
+ discovery,
27
+ tokenManager,
28
+ }),
25
29
  });
26
30
 
27
31
  // collator gathers entities from techdocs.
28
32
  indexBuilder.addCollator({
29
33
  defaultRefreshIntervalSeconds: 600,
30
- collator: DefaultTechDocsCollator.fromConfig(config, { discovery, logger }),
34
+ collator: DefaultTechDocsCollator.fromConfig(config, {
35
+ discovery,
36
+ logger,
37
+ tokenManager,
38
+ }),
31
39
  });
32
40
 
33
41
  // The scheduler controls when documents are gathered from collators and sent
@@ -4,6 +4,7 @@ import {
4
4
  PluginCacheManager,
5
5
  PluginDatabaseManager,
6
6
  PluginEndpointDiscovery,
7
+ TokenManager,
7
8
  UrlReader,
8
9
  } from '@backstage/backend-common';
9
10
 
@@ -14,4 +15,5 @@ export type PluginEnvironment = {
14
15
  config: Config;
15
16
  reader: UrlReader;
16
17
  discovery: PluginEndpointDiscovery;
18
+ tokenManager: TokenManager;
17
19
  };