@backstage/create-app 0.9.1-next.1 → 0.9.1-next.3
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 +15 -0
- package/dist/createApp.cjs.js +56 -0
- package/dist/createApp.cjs.js.map +1 -1
- package/dist/lib/tasks.cjs.js +10 -0
- package/dist/lib/tasks.cjs.js.map +1 -1
- package/dist/lib/versions.cjs.js +62 -58
- package/dist/lib/versions.cjs.js.map +1 -1
- package/dist/package.json.cjs.js +1 -1
- package/dist/packages/app-defaults/package.json.cjs.js +1 -1
- package/dist/packages/backend-defaults/package.json.cjs.js +1 -1
- package/dist/packages/cli/package.json.cjs.js +1 -1
- package/dist/packages/cli-defaults/package.json.cjs.js +1 -1
- package/dist/packages/core-app-api/package.json.cjs.js +1 -1
- package/dist/packages/core-compat-api/package.json.cjs.js +1 -1
- package/dist/packages/core-components/package.json.cjs.js +1 -1
- package/dist/packages/core-plugin-api/package.json.cjs.js +1 -1
- package/dist/packages/frontend-defaults/package.json.cjs.js +1 -1
- package/dist/packages/frontend-plugin-api/package.json.cjs.js +1 -1
- package/dist/packages/frontend-test-utils/package.json.cjs.js +1 -1
- package/dist/packages/integration-react/package.json.cjs.js +1 -1
- package/dist/packages/repo-tools/package.json.cjs.js +1 -1
- package/dist/packages/test-utils/package.json.cjs.js +1 -1
- package/dist/plugins/api-docs/package.json.cjs.js +1 -1
- package/dist/plugins/app-backend/package.json.cjs.js +1 -1
- package/dist/plugins/app-module-user-settings/package.json.cjs.js +1 -1
- package/dist/plugins/app-react/package.json.cjs.js +1 -1
- package/dist/plugins/app-visualizer/package.json.cjs.js +1 -1
- package/dist/plugins/auth/package.json.cjs.js +1 -1
- package/dist/plugins/auth-backend/package.json.cjs.js +1 -1
- package/dist/plugins/catalog/package.json.cjs.js +1 -1
- package/dist/plugins/catalog-backend/package.json.cjs.js +1 -1
- package/dist/plugins/catalog-backend-module-logs/package.json.cjs.js +1 -1
- package/dist/plugins/catalog-graph/package.json.cjs.js +1 -1
- package/dist/plugins/catalog-import/package.json.cjs.js +1 -1
- package/dist/plugins/catalog-react/package.json.cjs.js +1 -1
- package/dist/plugins/home/package.json.cjs.js +6 -0
- package/dist/plugins/home/package.json.cjs.js.map +1 -0
- package/dist/plugins/home-react/package.json.cjs.js +6 -0
- package/dist/plugins/home-react/package.json.cjs.js.map +1 -0
- package/dist/plugins/kubernetes/package.json.cjs.js +1 -1
- package/dist/plugins/kubernetes-backend/package.json.cjs.js +1 -1
- package/dist/plugins/mcp-actions-backend/package.json.cjs.js +1 -1
- package/dist/plugins/notifications/package.json.cjs.js +1 -1
- package/dist/plugins/notifications-backend/package.json.cjs.js +1 -1
- package/dist/plugins/org/package.json.cjs.js +1 -1
- package/dist/plugins/permission-react/package.json.cjs.js +1 -1
- package/dist/plugins/scaffolder/package.json.cjs.js +1 -1
- package/dist/plugins/scaffolder-backend/package.json.cjs.js +1 -1
- package/dist/plugins/search/package.json.cjs.js +1 -1
- package/dist/plugins/search-react/package.json.cjs.js +1 -1
- package/dist/plugins/signals/package.json.cjs.js +1 -1
- package/dist/plugins/signals-react/package.json.cjs.js +1 -1
- package/dist/plugins/techdocs/package.json.cjs.js +1 -1
- package/dist/plugins/techdocs-module-addons-contrib/package.json.cjs.js +1 -1
- package/dist/plugins/techdocs-react/package.json.cjs.js +1 -1
- package/dist/plugins/user-settings/package.json.cjs.js +1 -1
- package/package.json +3 -3
- package/templates/default-app/app-config.yaml.hbs +86 -1
- package/templates/default-app/examples/template/template.yaml +1 -2
- package/templates/default-app/packages/app/package.json.hbs +2 -0
- package/templates/default-app/packages/app/src/App.tsx +2 -1
- package/templates/default-app/packages/app/src/modules/home/homeModule.tsx +52 -0
- package/templates/default-app/packages/app/src/modules/home/index.ts +1 -0
- package/templates/default-app/packages/app/src/modules/nav/Sidebar.tsx +1 -0
- package/templates/default-app/packages/backend/Dockerfile +0 -13
- package/templates/legacy-app/examples/template/template.yaml +1 -2
- package/templates/legacy-app/packages/backend/Dockerfile +0 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.json.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.json.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/create-app",
|
|
3
|
-
"version": "0.9.1-next.
|
|
3
|
+
"version": "0.9.1-next.3",
|
|
4
4
|
"description": "A CLI that helps you create your own Backstage app",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "cli"
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"recursive-readdir": "^2.2.2"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@backstage/backend-test-utils": "1.11.6-next.
|
|
57
|
-
"@backstage/cli": "0.36.5-next.
|
|
56
|
+
"@backstage/backend-test-utils": "1.11.6-next.1",
|
|
57
|
+
"@backstage/cli": "0.36.5-next.1",
|
|
58
58
|
"@types/command-exists": "^1.2.0",
|
|
59
59
|
"@types/fs-extra": "^11.0.0",
|
|
60
60
|
"@types/inquirer": "^8.1.3",
|
|
@@ -6,10 +6,95 @@ app:
|
|
|
6
6
|
packages: all
|
|
7
7
|
|
|
8
8
|
extensions:
|
|
9
|
-
#
|
|
9
|
+
# Default landing page configuration.
|
|
10
|
+
# The catalog is mounted at /catalog by default but is overridden here to
|
|
11
|
+
# serve as the root page. To switch to the Home page, comment out the
|
|
12
|
+
# catalog path override and uncomment the home path override.
|
|
10
13
|
- page:catalog:
|
|
11
14
|
config:
|
|
12
15
|
path: /
|
|
16
|
+
# - page:home:
|
|
17
|
+
# config:
|
|
18
|
+
# path: /
|
|
19
|
+
|
|
20
|
+
# Visit tracking records which pages users navigate to and is disabled by default.
|
|
21
|
+
# Enable it to populate the Most Visited and Recently Visited widgets on the Home page.
|
|
22
|
+
# Visit data is stored via UserSettings storage if available, otherwise browser localStorage.
|
|
23
|
+
# - api:home/visits: true
|
|
24
|
+
# - app-root-element:home/visit-listener: true
|
|
25
|
+
- home-page-widget:home/toolkit:
|
|
26
|
+
config:
|
|
27
|
+
tools:
|
|
28
|
+
- url: https://backstage.io/docs
|
|
29
|
+
label: Docs
|
|
30
|
+
icon: docs
|
|
31
|
+
- url: https://github.com/backstage/backstage
|
|
32
|
+
label: GitHub
|
|
33
|
+
icon: github
|
|
34
|
+
- url: https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md
|
|
35
|
+
label: Contributing
|
|
36
|
+
icon: docs
|
|
37
|
+
- url: https://backstage.io/plugins
|
|
38
|
+
label: Plugins Directory
|
|
39
|
+
icon: kind:component
|
|
40
|
+
- url: https://github.com/backstage/backstage/issues/new/choose
|
|
41
|
+
label: Submit New Issue
|
|
42
|
+
icon: github
|
|
43
|
+
- home-page-widget:home/world-clock:
|
|
44
|
+
config:
|
|
45
|
+
clockConfigs:
|
|
46
|
+
- label: NYC
|
|
47
|
+
timeZone: America/New_York
|
|
48
|
+
- label: UTC
|
|
49
|
+
timeZone: UTC
|
|
50
|
+
- label: STO
|
|
51
|
+
timeZone: Europe/Stockholm
|
|
52
|
+
- label: TYO
|
|
53
|
+
timeZone: Asia/Tokyo
|
|
54
|
+
- page:home:
|
|
55
|
+
config:
|
|
56
|
+
defaultConfig:
|
|
57
|
+
- component: HomePageSearchBar
|
|
58
|
+
column: 0
|
|
59
|
+
row: 0
|
|
60
|
+
width: 12
|
|
61
|
+
height: 2
|
|
62
|
+
deletable: false
|
|
63
|
+
- component: GettingStarted
|
|
64
|
+
column: 0
|
|
65
|
+
row: 1
|
|
66
|
+
width: 4
|
|
67
|
+
height: 11
|
|
68
|
+
- component: HomePageStarredEntities
|
|
69
|
+
column: 4
|
|
70
|
+
row: 2
|
|
71
|
+
width: 4
|
|
72
|
+
height: 4
|
|
73
|
+
- component: HomePageRandomJoke
|
|
74
|
+
column: 8
|
|
75
|
+
row: 2
|
|
76
|
+
width: 4
|
|
77
|
+
height: 4
|
|
78
|
+
- component: HomePageToolkit
|
|
79
|
+
column: 4
|
|
80
|
+
row: 6
|
|
81
|
+
width: 4
|
|
82
|
+
height: 3
|
|
83
|
+
- component: HomePageWorldClock
|
|
84
|
+
column: 8
|
|
85
|
+
row: 6
|
|
86
|
+
width: 4
|
|
87
|
+
height: 3
|
|
88
|
+
- component: HomePageTopVisited
|
|
89
|
+
column: 4
|
|
90
|
+
row: 9
|
|
91
|
+
width: 4
|
|
92
|
+
height: 4
|
|
93
|
+
- component: HomePageRecentlyVisited
|
|
94
|
+
column: 8
|
|
95
|
+
row: 9
|
|
96
|
+
width: 4
|
|
97
|
+
height: 4
|
|
13
98
|
|
|
14
99
|
organization:
|
|
15
100
|
name: My Company
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
"@backstage/plugin-catalog": "^{{ version '@backstage/plugin-catalog'}}",
|
|
28
28
|
"@backstage/plugin-catalog-graph": "^{{ version '@backstage/plugin-catalog-graph'}}",
|
|
29
29
|
"@backstage/plugin-catalog-import": "^{{ version '@backstage/plugin-catalog-import'}}",
|
|
30
|
+
"@backstage/plugin-home": "^{{ version '@backstage/plugin-home'}}",
|
|
31
|
+
"@backstage/plugin-home-react": "^{{ version '@backstage/plugin-home-react'}}",
|
|
30
32
|
"@backstage/plugin-kubernetes": "^{{ version '@backstage/plugin-kubernetes'}}",
|
|
31
33
|
"@backstage/plugin-notifications": "^{{ version '@backstage/plugin-notifications'}}",
|
|
32
34
|
"@backstage/plugin-org": "^{{ version '@backstage/plugin-org'}}",
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createApp } from '@backstage/frontend-defaults';
|
|
2
2
|
import catalogPlugin from '@backstage/plugin-catalog/alpha';
|
|
3
3
|
import { navModule } from './modules/nav';
|
|
4
|
+
import { homeModule } from './modules/home';
|
|
4
5
|
|
|
5
6
|
export default createApp({
|
|
6
|
-
features: [catalogPlugin, navModule],
|
|
7
|
+
features: [catalogPlugin, navModule, homeModule],
|
|
7
8
|
});
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { createFrontendModule } from '@backstage/frontend-plugin-api';
|
|
2
|
+
import { HomePageWidgetBlueprint } from '@backstage/plugin-home-react/alpha';
|
|
3
|
+
import { MarkdownContent } from '@backstage/core-components';
|
|
4
|
+
|
|
5
|
+
const content = `
|
|
6
|
+
## Welcome to Backstage! 👋
|
|
7
|
+
|
|
8
|
+
Backstage is your developer portal — a single place to manage all your
|
|
9
|
+
software, services, and documentation.
|
|
10
|
+
|
|
11
|
+
### Quick Start
|
|
12
|
+
|
|
13
|
+
- **Explore the catalog** — Browse all your organization's software in
|
|
14
|
+
the [Software Catalog](/catalog)
|
|
15
|
+
- **Create something new** — Use a [Software Template](/create) to
|
|
16
|
+
scaffold a new project in minutes
|
|
17
|
+
- **Read the docs** — Find technical documentation for any service
|
|
18
|
+
right from its catalog page
|
|
19
|
+
|
|
20
|
+
### Helpful Links
|
|
21
|
+
|
|
22
|
+
- [Backstage Documentation](https://backstage.io/docs)
|
|
23
|
+
- [Customizing Your Homepage](https://backstage.io/docs/getting-started/homepage)
|
|
24
|
+
- [Adding Plugins](https://backstage.io/docs/plugins)
|
|
25
|
+
- [Contributing](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md)
|
|
26
|
+
|
|
27
|
+
### How to Edit This Card
|
|
28
|
+
|
|
29
|
+
This widget is defined in \`packages/app/src/modules/home/homeModule.tsx\`.
|
|
30
|
+
You can update the markdown content there to welcome your team with
|
|
31
|
+
your own links and getting started tips.
|
|
32
|
+
|
|
33
|
+
To remove this card entirely, delete the getting started widget and
|
|
34
|
+
remove it from the home module's extensions array in this file.
|
|
35
|
+
`;
|
|
36
|
+
|
|
37
|
+
const gettingStartedWidget = HomePageWidgetBlueprint.make({
|
|
38
|
+
name: 'getting-started',
|
|
39
|
+
params: {
|
|
40
|
+
name: 'GettingStarted',
|
|
41
|
+
title: 'Getting Started',
|
|
42
|
+
description: 'Tips and links to help you get started with Backstage',
|
|
43
|
+
components: async () => ({
|
|
44
|
+
Content: () => <MarkdownContent content={content} />,
|
|
45
|
+
}),
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export const homeModule = createFrontendModule({
|
|
50
|
+
pluginId: 'home',
|
|
51
|
+
extensions: [gettingStartedWidget],
|
|
52
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { homeModule } from './homeModule';
|
|
@@ -17,16 +17,6 @@
|
|
|
17
17
|
|
|
18
18
|
FROM node:24-trixie-slim
|
|
19
19
|
|
|
20
|
-
# Set Python interpreter for `node-gyp` to use
|
|
21
|
-
ENV PYTHON=/usr/bin/python3
|
|
22
|
-
|
|
23
|
-
# Install isolate-vm dependencies, these are needed by the @backstage/plugin-scaffolder-backend.
|
|
24
|
-
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
|
25
|
-
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
|
26
|
-
apt-get update && \
|
|
27
|
-
apt-get install -y --no-install-recommends python3 g++ build-essential && \
|
|
28
|
-
rm -rf /var/lib/apt/lists/*
|
|
29
|
-
|
|
30
20
|
# Install sqlite3 dependencies. You can skip this if you don't use sqlite3 in the image,
|
|
31
21
|
# in which case you should also move better-sqlite3 to "devDependencies" in package.json.
|
|
32
22
|
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
|
@@ -51,9 +41,6 @@ COPY --chown=node:node backstage.json ./
|
|
|
51
41
|
# This switches many Node.js dependencies to production mode.
|
|
52
42
|
ENV NODE_ENV=production
|
|
53
43
|
|
|
54
|
-
# This disables node snapshot for Node 20 to work with the Scaffolder
|
|
55
|
-
ENV NODE_OPTIONS="--no-node-snapshot"
|
|
56
|
-
|
|
57
44
|
# Copy repo skeleton first, to avoid unnecessary docker cache invalidation.
|
|
58
45
|
# The skeleton contains the package.json of each package in the monorepo,
|
|
59
46
|
# and along with yarn.lock and the root package.json, that's enough to run yarn install.
|
|
@@ -17,16 +17,6 @@
|
|
|
17
17
|
|
|
18
18
|
FROM node:24-trixie-slim
|
|
19
19
|
|
|
20
|
-
# Set Python interpreter for `node-gyp` to use
|
|
21
|
-
ENV PYTHON=/usr/bin/python3
|
|
22
|
-
|
|
23
|
-
# Install isolate-vm dependencies, these are needed by the @backstage/plugin-scaffolder-backend.
|
|
24
|
-
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
|
25
|
-
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
|
26
|
-
apt-get update && \
|
|
27
|
-
apt-get install -y --no-install-recommends python3 g++ build-essential && \
|
|
28
|
-
rm -rf /var/lib/apt/lists/*
|
|
29
|
-
|
|
30
20
|
# Install sqlite3 dependencies. You can skip this if you don't use sqlite3 in the image,
|
|
31
21
|
# in which case you should also move better-sqlite3 to "devDependencies" in package.json.
|
|
32
22
|
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
|
@@ -51,9 +41,6 @@ COPY --chown=node:node backstage.json ./
|
|
|
51
41
|
# This switches many Node.js dependencies to production mode.
|
|
52
42
|
ENV NODE_ENV=production
|
|
53
43
|
|
|
54
|
-
# This disables node snapshot for Node 20 to work with the Scaffolder
|
|
55
|
-
ENV NODE_OPTIONS="--no-node-snapshot"
|
|
56
|
-
|
|
57
44
|
# Copy repo skeleton first, to avoid unnecessary docker cache invalidation.
|
|
58
45
|
# The skeleton contains the package.json of each package in the monorepo,
|
|
59
46
|
# and along with yarn.lock and the root package.json, that's enough to run yarn install.
|