Commit Graph

674 Commits

Author SHA1 Message Date
Patrik Oldsberg 4d081452b1 Address review feedback from freben
- Use cli-defaults instead of listing individual CLI modules in
  create-app template and root package.json
- Move nodeTransform config files from cli-module-build to cli-node
  to avoid cross-module direct imports
- Rename cli-module-create-github-app to cli-module-github
- Start createCliModule init chain with Promise.resolve()
- Deduplicate exitWithError in runCliModule.ts
- Extract shared isCommandNodeHidden to @internal/cli
- Add explanatory comment for fromArray deduplication field
- Restore error for cli role packages missing bin in runCliExtraction

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 12:55:22 +01:00
Patrik Oldsberg 2069f64201 Remove extra exports from CLI module packages
CLI modules should only export the module itself as a default export.
Remove the named `buildPlugin` export from cli-module-build and the
unused `configOption` export from cli-module-config. Also remove the
API report warning skip for CLI module packages.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-15 21:51:07 +01:00
Patrik Oldsberg 86509de5c8 Fix CI failures: dependencies, API reports, and create-app versions
- Move runtime dependencies from devDependencies to dependencies in
  cli-module-build, cli-module-auth, cli-module-migrate, cli-module-new,
  cli-module-test-jest, and cli-module-translations
- Fix relative package.json paths in cli-module-build
- Downgrade rollup in cli-module-build to ^4.27.3 to match the CLI
- Downgrade eslint-webpack-plugin to ^4.2.0 to prevent @types/eslint v9
- Add CLI module packages to create-app version helper
- Add allow-warnings for CLI module packages in API reports
- Generate API report files for all CLI module packages

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 16:44:50 +01:00
Patrik Oldsberg d806b0cc9f Add automatic discovery of CLI modules from project dependencies
The CLI now scans the project root's dependencies and devDependencies
for packages with the cli-module role, loading them automatically.
Falls back to the built-in set with a deprecation warning when no
modules are found. Updated create-app templates and the monorepo root
to include all CLI modules as explicit devDependencies.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-14 12:40:43 +01:00
Fredrik Adelöw 223a3d1f88 Merge pull request #33269 from backstage/renovate/lint-staged-16.x
chore(deps): update dependency lint-staged to v16
2026-03-12 10:31:48 +01:00
renovate[bot] 28f5462bd8 chore(deps): update dependency sort-package-json to v3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-11 13:05:08 +00:00
github-actions[bot] ed7c4e3bef Version Packages (next) 2026-03-10 17:34:12 +00:00
renovate[bot] 5cdba6200d chore(deps): update dependency lint-staged to v16
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-10 17:22:41 +00:00
renovate[bot] 4ed7e0b299 chore(deps): update dependency @storybook/addon-mcp to ^0.3.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 12:24:11 +00:00
github-actions[bot] db0d171511 Version Packages (next) 2026-03-03 14:16:49 +00:00
Gabriel Dugny 8ea65069f1 Merge branch 'master' into package-workspaces
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>

# Conflicts:
#	packages/cli-node/src/pacman/yarn/Yarn.test.ts
#	packages/cli-node/src/pacman/yarn/Yarn.ts
2026-02-25 09:11:36 +01:00
github-actions[bot] 4bd6a3a1af Version Packages (next) 2026-02-24 19:24:06 +00:00
Gabriel Dugny ebd4630702 chore: replace legacy package.json workspaces.packages by workspaces
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-02-22 16:50:54 +01:00
github-actions[bot] e6df5d52ce Version Packages 2026-02-17 16:06:18 +00:00
github-actions[bot] 7c41134684 Version Packages (next) 2026-02-10 16:14:59 +00:00
Patrik Oldsberg be7ebadb21 repo: promote app-next to main example app
This renames packages to make the new frontend system the default:

- packages/app → packages/app-legacy (example-app-legacy)
- packages/app-next → packages/app (example-app)
- packages/app-next-example-plugin → packages/app-example-plugin

Updated all related configuration, scripts, and documentation.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 14:30:16 +01:00
github-actions[bot] 1ea737c1e2 Version Packages (next) 2026-02-03 14:24:29 +00:00
Hellgren Heikki f6d96ef4a8 chore: downgrade devcontainer to 22
+ remove optional cli

Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2026-02-03 15:50:43 +02:00
Patrik Oldsberg be2e71240f Merge pull request #32478 from drodil/devcontainer_contribfest
chore: update devcontainer
2026-02-02 21:02:32 +01:00
Charles de Dreuille 2048ff4946 fix(storybook): clean up configuration after v10.3 upgrade
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2026-01-29 11:15:17 +00:00
Andre Wanlin 4977f58b9a Refactored into a script using zod based on feedback
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-01-27 19:14:44 -06:00
Andre Wanlin ed3bcf377c Plugins - Added plugin directory validation
Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Correct file check

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Correct file extension

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Minor corrections

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Corrected ldap-auth file

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Added pattern to npmPackageName

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Removing pattern

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Ran prettier

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Changes based on feedback

Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2026-01-27 18:26:47 -06:00
github-actions[bot] d4b85dddee Version Packages (next) 2026-01-27 15:51:11 +00:00
Fredrik Adelöw 7455dae884 require the use of node prefix on native imports
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-01-26 13:22:53 +01:00
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
renovate[bot] 8d9f021df5 chore(deps): update dependency @storybook/addon-mcp to v0.1.8
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 20:06:42 +00:00
github-actions[bot] 2e902e7b43 Version Packages 2026-01-20 16:40:05 +00:00
github-actions[bot] 880310b797 Version Packages (next) 2026-01-13 12:10:45 +00:00
renovate[bot] 92c6f7376d chore(deps): update dependency eslint-plugin-testing-library to v7
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-08 16:36:49 +01:00
Fredrik Adelöw 5d71ad009e Merge pull request #32180 from backstage/storybook-mcp
Add Storybook MCP
2026-01-07 18:13:47 +01:00
github-actions[bot] e237d65cdc Version Packages (next) 2026-01-05 22:23:51 +00:00
Fredrik Adelöw 5bfc3bc31d explicitly use jest 30
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-01-05 10:49:44 +01:00
renovate[bot] ac85225de4 chore(deps): update dependency cross-env to v10
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-31 12:44:34 +00:00
Backstage Service Account 9f1ee3e667 Version Packages (next) (#32222)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-30 16:06:20 +01:00
Backstage Service Account fea3e3972d Version Packages (next) (#32150) 2025-12-23 18:22:06 +01:00
Charles de Dreuille 2b361f5198 Add Storybook MCP
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-19 10:30:37 +00:00
dependabot[bot] 9c766827d7 build(deps-dev): bump storybook from 10.1.9 to 10.1.10
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) from 10.1.9 to 10.1.10.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v10.1.10/code/core)

---
updated-dependencies:
- dependency-name: storybook
  dependency-version: 10.1.10
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-18 18:58:27 +00:00
Charles de Dreuille 9ba74365e5 Merge pull request #32135 from backstage/storybook-10-upgrade
Upgrade Storybook to version 10
2025-12-17 18:40:14 +00:00
github-actions[bot] c24788d5bb Version Packages 2025-12-16 14:08:20 +00:00
Charles de Dreuille 2c4f1569c1 Upgrade Storybook to version 10
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
2025-12-16 09:26:00 +00:00
Johan Persson cd0b8a11a3 chore: make jest a peer dependency with v29/v30 support
Move jest from dependencies to peer dependencies, allowing users to
choose between Jest 29 and Jest 30.

The CLI now detects the Jest version at runtime and uses the
appropriate environment:
- Jest 29: Uses standard jest-environment-jsdom
- Jest 30: Uses a custom environment based on @jest/environment-jsdom-abstract
  with fixes for Web API globals (fetch, streams, Error, etc.)

The cross-fetch polyfill is only injected for Jest 29, as with Jest 30+
our patched Jest environment is used. The network request blocker is made
MSW-compatible by checking if fetch was wrapped before blocking.

Jest 30 (with jsdom v27) fixes `Could not parse CSS stylesheet`
warnings/errors when testing components from @backstage/ui or other
packages using CSS `@layer` declarations.

New peer dependencies (install based on your Jest version):
- jest (required, ^29 or ^30)
- Jest 29 requires: jest-environment-jsdom
- Jest 30 requires: @jest/environment-jsdom-abstract, jsdom

Production code changes for jsdom 27 testability:
- AppIdentityProxy: extract navigateToUrl method for spying
- LiveReloadAddon: export utils.reloadPage for spying
- collect.ts: export internal.resolvePackagePath for mocking

MockFetchApi: evaluate global.fetch at call time instead of construction
time, allowing MSW to patch fetch after MockFetchApi is constructed.

Test adaptations for jsdom 27:
- Use RGB values instead of named colors in CSS assertions
- Update error format expectations (hyphenated type names, SyntaxError
  instead of FetchError for JSON parse errors)
- Simplify URL error assertions for cross-version compatibility
- Fix accessible name whitespace handling for external links
- Use history.replaceState for location mocking (non-configurable)
- Use fireEvent.blur for contentEditable elements
- Move async assertions inside waitFor for race conditions
- Remove Blob.prototype.text polyfill (now native)
- Remove test case using credentials in plugin:// URLs

Test adaptations for Jest 30:
- Replace `expect.objectContaining([...])` with direct array equality
- Replace `expect.objectContaining({ length: N })` with
  `expect.any(Array)` + separate `toHaveLength()` assertions
- Use child process for native Node.js module resolution in
  collect.test.ts to work around Jest 30's resolver behavior
- Update snapshot headers for new Jest format

Also removes the jest-haste-map patch which is no longer needed.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2025-12-11 18:06:55 +01:00
github-actions[bot] e08f48a9b5 Version Packages (next) 2025-12-09 15:00:09 +00:00
Fredrik Adelöw 6fc8377792 Merge pull request #32048 from awanlin/topic/plugin-directory-audit
Plugins - Added plugin directory audit script
2025-12-09 13:51:42 +01:00
Fredrik Adelöw 2bae83ab2e Version Policy Update - Node 22 to 24
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2025-12-08 10:53:38 +01:00
Andre Wanlin 9b2c9a9b9e initial script
Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Plugins - Added plugin directory audit script

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Remove comments

Signed-off-by: Andre Wanlin <awanlin@spotify.com>

Updated log statement

Signed-off-by: Andre Wanlin <awanlin@spotify.com>
2025-12-06 11:11:38 -06:00
github-actions[bot] 336db00d21 Version Packages (next) 2025-12-02 15:37:41 +00:00
github-actions[bot] 756986e5e7 Version Packages (next) 2025-11-25 16:21:32 +00:00
Patrik Oldsberg fb5c157262 add new patch release process
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-21 11:04:32 +01:00
github-actions[bot] 792f4d7e3d Version Packages 2025-11-18 12:23:09 +00:00
Fredrik Adelöw 4d744bb728 Bump old space for tsc
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2025-11-17 14:56:43 +01:00