Handle --alwaysPack=value and --alwaysYarnPack=value variants in the
legacy flag normalization, not just the bare flag forms.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
- Remove unnecessary optional chaining on getRoleInfo().role since it
throws for unknown roles.
- Add parameters declaration to repo start so [packages...] shows in
help output.
- Add tests verifying cleye strips Backstage flags from args before
forwarding to Jest, including legacy camelCase flag support.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
FieldLabel renders a div and spreads restProps onto it, but
FieldLabelProps didn't extend native div props. This meant
attributes like aria-*, data-*, role, etc. couldn't be
passed with type safety.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Container renders a div and spreads restProps onto it, but
ContainerProps didn't extend native div props. This meant
attributes like aria-*, data-*, role, etc. couldn't be
passed with type safety.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Alert renders a div and spreads restProps onto it, but
AlertProps didn't extend native div props. This meant
attributes like aria-*, data-*, role, etc. couldn't be
passed with type safety.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
The style prop was defined in ButtonLinkOwnProps but never
destructured or applied in the component, causing it to be
silently dropped. Removing it lets style flow through to the
underlying RAC Link via restProps instead.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
The style prop was defined in ButtonOwnProps but never
destructured or applied in the component, causing it to be
silently dropped. Removing it lets style flow through to the
underlying RAC Button via restProps instead.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
The style prop was defined in ButtonIconOwnProps but never
destructured or applied in the component, causing it to be
silently dropped. Removing it lets style flow through to the
underlying RAC Button via restProps instead.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
DialogBodyProps previously only extended DialogBodyOwnProps,
meaning native HTML attributes like aria-*, data-*, etc.
could not be passed to the underlying div element.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
The E2E tests scaffold a new app from the create-app template,
which still passed variant="gridItem" to EntityAboutCard,
EntityUserProfileCard, and EntityGroupProfileCard after the prop
was removed.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Instead of a hard breaking change, the old camelCase flag names
(--baseVersion, --successCache, --successCacheDir, --alwaysPack) still
work via type-flag's built-in camelCase/kebab-case mapping, but now
print a deprecation warning pointing to the new kebab-case spelling.
Downgrades the changeset from minor (breaking) to patch.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Move the empty-string-to-boolean conversion from cleye's String type
into the command handlers so that startPackage/runBackend keep their
existing boolean | string interface.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
- Use cleye's `type: String` for --inspect/--inspect-brk instead of
custom extractInspectFlags pre-processing in both package start and
repo start commands.
- Switch repo test from node:util parseArgs to cleye so that --help
shows Backstage-specific flags rather than dumping Jest's full help.
- Fix create-github-app help output to include <github-org> positional.
- Update downstream inspect types from `boolean | string` to `string`.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
- Handle --inspect/--inspect-brk optional host value by extracting
them from raw args before passing to cleye (supports both bare
--inspect and --inspect=host:port forms)
- Change require flag from [String] to String in package start since
downstream only accepts a single value
- Preserve legacy --alwaysYarnPack alias in build-workspace command
- Update changeset to mention camelCase → kebab-case flag changes
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
- Handle quoted arguments in createScriptOptionsParser using a proper
shell-like splitter instead of naive whitespace splitting
- Pass CommandContext directly in bump tests instead of using a helper
- Regenerate cli-report.md
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
All command handlers in the CLI now use cleye or node:util.parseArgs
for argument parsing instead of commander. The top-level command
registration in CliInitializer still uses commander, but all individual
command implementations are now independent of it.
Modules migrated: build, lint, test, maintenance, migrate, new, and
create-github-app. Also replaced createScriptOptionsParser in both
build and lint modules to use node:util.parseArgs instead of commander.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Each file now has a default export matching the CommandExecuteFn
pattern, removing the need for import wrapping in the loader.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor