Files
backstage/package.json
T
Hellgren Heikki 3cee0cd660 chore: update devcontainer
this is pre-work for upcoming Backstage ContribFest at KubeCon
Amsterdam to hopefully make it easier for people to start contributing.
node was updated to 24 to support the latest things in backstage,
additionally necessary vscode plugins and settings are now included.

Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2026-01-22 18:04:10 +02:00

206 lines
8.5 KiB
JSON

{
"name": "root",
"version": "1.47.0-next.2",
"backstage": {
"cli": {
"new": {
"globals": {
"private": false,
"namePrefix": "@backstage/"
}
}
}
},
"private": true,
"repository": {
"type": "git",
"url": "https://github.com/backstage/backstage"
},
"workspaces": {
"packages": [
"packages/*",
"plugins/*"
]
},
"scripts": {
"build-storybook": "storybook build --output-dir dist-storybook",
"build-storybook:chromatic": "STORYBOOK_STORY_SET=chromatic storybook build --stats-json --output-dir dist-storybook",
"build:all": "backstage-cli repo build --all",
"build:api-docs": "LANG=en_EN yarn build:api-reports --docs --exclude 'plugins/@(api-docs|api-docs-module-protoc-gen-doc|app-visualizer|catalog-graph|catalog-import|catalog-unprocessed-entities|config-schema|example-todo-list|example-todo-list-backend)'",
"build:api-reports": "yarn build:api-reports:only --tsc",
"build:api-reports:only": "LANG=en_US.UTF-8 NODE_OPTIONS=--max-old-space-size=8192 backstage-repo-tools api-reports --sql-reports --allow-warnings 'packages/backend-app-api,packages/core-components,plugins/+(catalog|catalog-import|kubernetes)' -o ae-undocumented,ae-wrong-input-file-type --validate-release-tags",
"build:backend": "yarn workspace example-backend build",
"build:knip-reports": "backstage-repo-tools knip-reports",
"build:plugins-report": "node ./scripts/build-plugins-report",
"clean": "backstage-cli repo clean",
"create-plugin": "echo \"use 'yarn new' instead\"",
"dev": "echo \"use 'yarn start' instead\"",
"dev:next": "echo \"use 'yarn start:next' instead\"",
"docker-build": "yarn tsc && yarn workspace example-backend build && yarn workspace example-backend build-image",
"fix": "backstage-cli repo fix --publish",
"postinstall": "husky || true",
"lint": "backstage-cli repo lint --since origin/master",
"lint:all": "backstage-cli repo lint",
"lint:circular-deps": "madge --circular .",
"lint:docs": "node ./scripts/check-docs-quality",
"lint:peer-deps": "backstage-repo-tools peer-deps",
"lint:type-deps": "backstage-repo-tools type-deps",
"mui-to-bui": "node scripts/mui-to-bui/backstage-migration-analytics.js",
"new": "backstage-cli new",
"patch-pr": "node .patches/create-pr-patch.js",
"prepare": "husky",
"prettier:check": "prettier --check .",
"prettier:fix": "prettier --write .",
"release": "node scripts/prepare-release.js && changeset version && yarn prettier --write '{packages,plugins}/*/{package.json,CHANGELOG.md}' '.changeset/*.json' && yarn install --no-immutable",
"snyk:test": "npx snyk test --yarn-workspaces --strict-out-of-sync=false",
"snyk:test:package": "yarn snyk:test --include",
"start": "backstage-cli repo start",
"start-backend": "echo \"Use 'yarn start example-backend' instead\"",
"start:docker": "docker compose -f docker-compose.deps.yml up --wait && BACKSTAGE_ENV=docker yarn start",
"start:microsite": "cd microsite/ && yarn start",
"start:next": "yarn start example-app-next example-backend",
"storybook": "storybook dev -p 6006",
"sync-issue-templates": "node ./.github/ISSUE_TEMPLATE/sync.js",
"techdocs-cli": "node scripts/techdocs-cli.js",
"techdocs-cli:dev": "cross-env TECHDOCS_CLI_DEV_MODE=true node scripts/techdocs-cli.js",
"test": "NODE_OPTIONS='--no-node-snapshot --experimental-vm-modules' backstage-cli repo test",
"test:all": "NODE_OPTIONS='--no-node-snapshot --experimental-vm-modules' backstage-cli repo test --coverage",
"test:e2e": "NODE_OPTIONS=--no-node-snapshot playwright test",
"tsc": "NODE_OPTIONS='--max-old-space-size=8192' tsc",
"tsc:full": "backstage-cli repo clean && NODE_OPTIONS='--max-old-space-size=8192' tsc --skipLibCheck false --incremental false"
},
"lint-staged": {
"*.{js,jsx,ts,tsx,mjs,cjs}": [
"eslint --fix",
"prettier --write"
],
"*.json": [
"prettier --write"
],
"*.md": [
"prettier --write",
"node ./scripts/check-docs-quality"
],
"{plugins,packages}/*/catalog-info.yaml": [
"yarn backstage-repo-tools generate-catalog-info --ci"
],
".github/CODEOWNERS": [
"yarn backstage-repo-tools generate-catalog-info",
"git add */catalog-info.yaml"
],
"package.json": [
"yarn backstage-repo-tools generate-catalog-info",
"git add */catalog-info.yaml",
"node ./scripts/sort-package-json.mjs"
],
"yarn.lock": [
"node ./scripts/verify-lockfile-duplicates --fix"
]
},
"prettier": "@backstage/cli/config/prettier",
"jest": {
"rejectFrontendNetworkRequests": true
},
"resolutions": {
"@changesets/assemble-release-plan@^6.0.0": "patch:@changesets/assemble-release-plan@npm%3A6.0.0#./.yarn/patches/@changesets-assemble-release-plan-npm-6.0.0-f7b3005037.patch",
"@material-ui/pickers@^3.2.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch",
"@material-ui/pickers@^3.3.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@yarnpkg/plugin-npm@npm:^3.1.0": "patch:@yarnpkg/plugin-npm@npm%3A3.1.0#~/.yarn/patches/@yarnpkg-plugin-npm-npm-3.1.0-6533d0f5a1.patch",
"GendocuPublicApis": "npm:gendocu-public-apis@^1.0.0",
"ast-types@0.14.2": "patch:ast-types@npm%3A0.14.2#./.yarn/patches/ast-types-npm-0.14.2-43c4ac4b0d.patch",
"ast-types@^0.14.1": "patch:ast-types@npm%3A0.14.2#./.yarn/patches/ast-types-npm-0.14.2-43c4ac4b0d.patch",
"ast-types@npm:0.14.2": "patch:ast-types@npm%3A0.16.1#./.yarn/patches/ast-types-npm-0.16.1-43c4ac4b0d.patch",
"ast-types@npm:^0.13.4": "patch:ast-types@npm%3A0.16.1#./.yarn/patches/ast-types-npm-0.16.1-43c4ac4b0d.patch",
"ast-types@npm:^0.16.1": "patch:ast-types@npm%3A0.16.1#./.yarn/patches/ast-types-npm-0.16.1-43c4ac4b0d.patch",
"csstype@npm:^3.0.2": "3.0.9",
"csstype@npm:^3.1.2": "3.0.9",
"csstype@npm:^3.1.3": "3.0.9",
"recast@npm:0.23.9>ast-types": "patch:ast-types@npm%3A0.16.1#./.yarn/patches/ast-types-npm-0.16.1-43c4ac4b0d.patch"
},
"dependencies": {
"@backstage/errors": "workspace:^",
"@manypkg/get-packages": "^1.1.3",
"@types/global-agent": "^2.1.3",
"@useoptic/optic": "^1.0.0",
"yaml": "^2.7.0"
},
"devDependencies": {
"@backstage/cli": "workspace:*",
"@backstage/codemods": "workspace:*",
"@backstage/create-app": "workspace:*",
"@backstage/e2e-test-utils": "workspace:*",
"@backstage/eslint-plugin": "workspace:*",
"@backstage/repo-tools": "workspace:*",
"@changesets/cli": "^2.14.0",
"@devcontainers/cli": "^0.81.1",
"@jest/environment-jsdom-abstract": "^30",
"@octokit/rest": "^19.0.3",
"@playwright/test": "^1.32.3",
"@spotify/eslint-plugin": "^15.0.0",
"@storybook/addon-a11y": "^10.2.0-alpha.7",
"@storybook/addon-docs": "^10.2.0-alpha.7",
"@storybook/addon-links": "^10.2.0-alpha.7",
"@storybook/addon-mcp": "0.1.4-next.2",
"@storybook/addon-themes": "^10.2.0-alpha.7",
"@storybook/addon-vitest": "^10.2.0-alpha.7",
"@storybook/react-vite": "^10.2.0-alpha.7",
"@techdocs/cli": "workspace:*",
"@types/cacheable-request": "^8.3.6",
"@types/jest": "^30",
"@types/jsdom": "^27",
"@types/memjs": "^1.3.3",
"@types/node": "^22.13.14",
"@types/webpack": "^5.28.0",
"array-to-table": "^1.0.1",
"command-exists": "^1.2.9",
"cross-env": "^10.0.0",
"e2e-test": "workspace:*",
"eslint": "^8.6.0",
"eslint-plugin-notice": "^1.0.0",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-testing-library": "^6.0.0",
"fs-extra": "^11.2.0",
"husky": "^9.0.0",
"jest": "^30",
"js-yaml": "^4.1.1",
"jsdom": "^27",
"lint-staged": "^15.0.0",
"madge": "^8.0.0",
"minimist": "^1.2.5",
"node-gyp": "^10.0.0",
"prettier": "^2.2.1",
"semver": "^7.5.3",
"shx": "^0.4.0",
"sloc": "^0.3.1",
"sort-package-json": "^2.8.0",
"storybook": "^10.2.0-alpha.7",
"ts-morph": "^24.0.0",
"typedoc": "^0.28.0",
"typescript": "~5.7.0",
"vite": "^7.1.5"
},
"packageManager": "yarn@4.8.1",
"engines": {
"node": "22 || 24"
},
"madge": {
"fileExtensions": [
"ts",
"tsx",
"js",
"jsx"
],
"detectiveOptions": {
"ts": {
"skipTypeImports": true
},
"tsx": {
"skipTypeImports": true
}
},
"tsConfig": "./tsconfig.json"
}
}