Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Jul 29, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@baseplate-dev/[email protected]

Major Changes

  • #622 85e6413 Thanks @kingston! - This major refactor splits the monolithic auth plugin into a managed plugin architecture:

    Plugin Structure Changes

    • Base auth plugin (auth): Manages common functionality, roles, and provider selection
    • Implementation plugins (managed):
      • local-auth: Email/password authentication (renamed from original auth plugin)
      • auth0: Auth0 integration
      • placeholder-auth: Development/testing placeholder

    Key Changes

    Plugin Metadata System

    • BREAKING: Replace manifest.json with plugin.json for all plugins
    • BREAKING: Rename id to key in plugin metadata for URL consistency
    • Add managedBy field to plugin metadata for managed plugin relationships
    • Implement package.json-based plugin discovery configuration

    Managed Plugin Pattern

    • Implementation plugins are hidden from main plugin list
    • Base plugin automatically manages lifecycle of implementation plugins
    • UI shows "Managed Plugins" section grouped by manager
    • Configure buttons on managed plugins redirect to manager's config page

    Configuration Schema

    • Base auth plugin config includes implementationPluginKey to specify active provider
    • Roles configuration moved to base plugin (shared across implementations)
    • Provider-specific configs remain in implementation plugins

    UI Improvements

    • Add tabbed navigation (AuthConfigTabs) across all auth plugin interfaces
    • Dynamic provider selection within base plugin configuration
    • Consistent UX patterns between all auth implementation plugins

    Migration Support

    • Automatic migration of existing plugin-auth configs to new structure
    • Rename existing plugin-auth_auth to plugin-auth_local-auth
    • Auto-enable base auth plugin when implementation plugins are detected
    • Preserve all existing configuration without code changes needed

Patch Changes

@baseplate-dev/[email protected]

Minor Changes

  • #622 85e6413 Thanks @kingston! - This major refactor splits the monolithic auth plugin into a managed plugin architecture:

    Plugin Structure Changes

    • Base auth plugin (auth): Manages common functionality, roles, and provider selection
    • Implementation plugins (managed):
      • local-auth: Email/password authentication (renamed from original auth plugin)
      • auth0: Auth0 integration
      • placeholder-auth: Development/testing placeholder

    Key Changes

    Plugin Metadata System

    • BREAKING: Replace manifest.json with plugin.json for all plugins
    • BREAKING: Rename id to key in plugin metadata for URL consistency
    • Add managedBy field to plugin metadata for managed plugin relationships
    • Implement package.json-based plugin discovery configuration

    Managed Plugin Pattern

    • Implementation plugins are hidden from main plugin list
    • Base plugin automatically manages lifecycle of implementation plugins
    • UI shows "Managed Plugins" section grouped by manager
    • Configure buttons on managed plugins redirect to manager's config page

    Configuration Schema

    • Base auth plugin config includes implementationPluginKey to specify active provider
    • Roles configuration moved to base plugin (shared across implementations)
    • Provider-specific configs remain in implementation plugins

    UI Improvements

    • Add tabbed navigation (AuthConfigTabs) across all auth plugin interfaces
    • Dynamic provider selection within base plugin configuration
    • Consistent UX patterns between all auth implementation plugins

    Migration Support

    • Automatic migration of existing plugin-auth configs to new structure
    • Rename existing plugin-auth_auth to plugin-auth_local-auth
    • Auto-enable base auth plugin when implementation plugins are detected
    • Preserve all existing configuration without code changes needed

Patch Changes

@baseplate-dev/[email protected]

Minor Changes

  • #622 85e6413 Thanks @kingston! - This major refactor splits the monolithic auth plugin into a managed plugin architecture:

    Plugin Structure Changes

    • Base auth plugin (auth): Manages common functionality, roles, and provider selection
    • Implementation plugins (managed):
      • local-auth: Email/password authentication (renamed from original auth plugin)
      • auth0: Auth0 integration
      • placeholder-auth: Development/testing placeholder

    Key Changes

    Plugin Metadata System

    • BREAKING: Replace manifest.json with plugin.json for all plugins
    • BREAKING: Rename id to key in plugin metadata for URL consistency
    • Add managedBy field to plugin metadata for managed plugin relationships
    • Implement package.json-based plugin discovery configuration

    Managed Plugin Pattern

    • Implementation plugins are hidden from main plugin list
    • Base plugin automatically manages lifecycle of implementation plugins
    • UI shows "Managed Plugins" section grouped by manager
    • Configure buttons on managed plugins redirect to manager's config page

    Configuration Schema

    • Base auth plugin config includes implementationPluginKey to specify active provider
    • Roles configuration moved to base plugin (shared across implementations)
    • Provider-specific configs remain in implementation plugins

    UI Improvements

    • Add tabbed navigation (AuthConfigTabs) across all auth plugin interfaces
    • Dynamic provider selection within base plugin configuration
    • Consistent UX patterns between all auth implementation plugins

    Migration Support

    • Automatic migration of existing plugin-auth configs to new structure
    • Rename existing plugin-auth_auth to plugin-auth_local-auth
    • Auto-enable base auth plugin when implementation plugins are detected
    • Preserve all existing configuration without code changes needed

Patch Changes

@baseplate-dev/[email protected]

Patch Changes

  • #626 8ec33fc Thanks @kingston! - Remove dotenv references and replace with native node --env-file option

  • #621 fbde70f Thanks @kingston! - Update package versions to match latest dependencies from main repo

    • Update ESLint and related plugins to latest versions
    • Update TypeScript ESLint to 8.38.0
    • Update Prettier plugins to latest versions
    • Update Tailwind CSS Prettier plugin to 0.6.14
  • Updated dependencies [687a47e]:

@baseplate-dev/[email protected]

Patch Changes

@baseplate-dev/[email protected]

Patch Changes

@baseplate-dev/[email protected]

Patch Changes

  • #626 8ec33fc Thanks @kingston! - Remove dotenv references and replace with native node --env-file option

  • #619 687a47e Thanks @kingston! - Add comprehensive snapshot management CLI commands for granular control of project differences

    This adds a complete suite of snapshot commands to manage persistent differences between generated and working codebases:

    New Commands:

    • baseplate snapshot save <project-directory> <app> - Save snapshot of current differences (with confirmation prompt)
    • baseplate snapshot add <project-directory> <app> <files...> - Add specific files to snapshot tracking
    • baseplate snapshot add --deleted <project-directory> <app> <files...> - Mark files as intentionally deleted
    • baseplate snapshot remove <project-directory> <app> <files...> - Remove files from snapshot tracking
    • baseplate snapshot show <project-directory> <app> - Display current snapshot contents

    Features:

    • Granular file-level snapshot management following established CLI patterns
    • Integration with existing snapshot storage system (.baseplate-snapshot/ directory)
    • Automatic snapshot directory resolution with --snapshot-dir option
    • Comprehensive error handling and user confirmation for destructive operations
    • Support for tracking both modified and intentionally deleted files

    These commands enable the generator development workflow described in the design doc, allowing developers to maintain persistent baselines of expected differences while iterating on generator templates.

  • Updated dependencies [687a47e, 85e6413, aaf8634, 687a47e, d0b08b8, 687a47e]:

@baseplate-dev/[email protected]

Patch Changes

@baseplate-dev/[email protected]

Patch Changes

  • #619 687a47e Thanks @kingston! - Implement structured directory snapshots for baseplate diff to detect deleted files

    The baseplate diff command now provides complete diff coverage by detecting files that exist in the working directory but not in the generated output (deleted files). This enhancement includes:

    • Added scanWorkingDirectory function using globby for efficient directory traversal
    • Updated compareFiles function to detect and report deleted files in addition to added and modified files
    • Enhanced diff output to show deleted files with proper formatting and unified diffs
    • Added comprehensive unit tests for the new directory scanning functionality
    • Maintained compatibility with existing ignore patterns and glob filters

    New Default Ignore Patterns:

    • Added baseplate/**/* to ignore Baseplate configuration and project definition files
    • Added prisma/migrations/**/* to ignore Prisma migration files that are auto-generated

    This addresses the TODO in the diff implementation and provides developers with a complete picture of differences between generated and working directory files while filtering out commonly ignored directories.

  • #619 687a47e Thanks @kingston! - Add comprehensive snapshot management CLI commands for granular control of project differences

    This adds a complete suite of snapshot commands to manage persistent differences between generated and working codebases:

    New Commands:

    • baseplate snapshot save <project-directory> <app> - Save snapshot of current differences (with confirmation prompt)
    • baseplate snapshot add <project-directory> <app> <files...> - Add specific files to snapshot tracking
    • baseplate snapshot add --deleted <project-directory> <app> <files...> - Mark files as intentionally deleted
    • baseplate snapshot remove <project-directory> <app> <files...> - Remove files from snapshot tracking
    • baseplate snapshot show <project-directory> <app> - Display current snapshot contents

    Features:

    • Granular file-level snapshot management following established CLI patterns
    • Integration with existing snapshot storage system (.baseplate-snapshot/ directory)
    • Automatic snapshot directory resolution with --snapshot-dir option
    • Comprehensive error handling and user confirmation for destructive operations
    • Support for tracking both modified and intentionally deleted files

    These commands enable the generator development workflow described in the design doc, allowing developers to maintain persistent baselines of expected differences while iterating on generator templates.

  • #619 687a47e Thanks @kingston! - Implement snapshot application in sync command when overwrite mode is enabled. When baseplate sync --overwrite is used with snapshots, the sync process now applies snapshot diffs to the generated output before writing files to the filesystem, matching the behavior described in the design doc.

  • Updated dependencies [82cee71, 687a47e, 85e6413, 8ec33fc, d0b08b8, fbde70f, 96a3099]:

@baseplate-dev/[email protected]

Patch Changes

@baseplate-dev/[email protected]

Patch Changes

  • #619 687a47e Thanks @kingston! - Implement structured directory snapshots for baseplate diff to detect deleted files

    The baseplate diff command now provides complete diff coverage by detecting files that exist in the working directory but not in the generated output (deleted files). This enhancement includes:

    • Added scanWorkingDirectory function using globby for efficient directory traversal
    • Updated compareFiles function to detect and report deleted files in addition to added and modified files
    • Enhanced diff output to show deleted files with proper formatting and unified diffs
    • Added comprehensive unit tests for the new directory scanning functionality
    • Maintained compatibility with existing ignore patterns and glob filters

    New Default Ignore Patterns:

    • Added baseplate/**/* to ignore Baseplate configuration and project definition files
    • Added prisma/migrations/**/* to ignore Prisma migration files that are auto-generated

    This addresses the TODO in the diff implementation and provides developers with a complete picture of differences between generated and working directory files while filtering out commonly ignored directories.

  • Updated dependencies []:

@baseplate-dev/[email protected]

Patch Changes

  • #627 aaf8634 Thanks @kingston! - Add AsyncComboboxField component with advanced async option loading

    • New AsyncComboboxField component: Provides async option loading with debounced search, race condition protection, and delayed loading indicators to prevent flashing
    • ComboboxLoading component: New loading state component that pairs with ComboboxEmpty for consistent async combobox experiences
    • useDebounce hook: Utility hook for debouncing values to improve performance in async scenarios
    • Persistent selected values: Selected options are cached and persist across searches, solving the common issue where selected values disappear when search results change
    • Optional value resolution: Added resolveValue prop to fetch option details when values are set externally (useful for pre-populated forms)
    • Race condition protection: Prevents stale results from overwriting newer search results
    • Configurable loading delay: Prevents loading indicator flashing for fast API responses (default 200ms delay)
    • Comprehensive error handling: Support for custom error formatting and graceful error states
    • React Hook Form integration: Full support via AsyncComboboxFieldController with proper validation
    • Extensive Storybook examples: Stories demonstrating all features including persistent values, error states, and loading behaviors

    This component provides a production-ready async combobox solution that handles all the edge cases and UX considerations needed for real-world applications.

  • Updated dependencies []:

@baseplate-dev/[email protected]

Patch Changes

@baseplate-dev/[email protected]

@baseplate-dev/[email protected]

@baseplate-dev/[email protected]

Patch Changes

@baseplate-dev/[email protected]

@coderabbitai
Copy link

coderabbitai bot commented Jul 29, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Join our Discord community for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@vercel
Copy link

vercel bot commented Jul 29, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
baseplate-project-builder-web ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 31, 2025 2:41am

@github-actions github-actions bot force-pushed the changeset-release/main branch from 3d699bd to 39ee531 Compare July 29, 2025 15:29
@github-actions github-actions bot force-pushed the changeset-release/main branch from 39ee531 to bf4d6e2 Compare July 29, 2025 23:27
@github-actions github-actions bot force-pushed the changeset-release/main branch from bf4d6e2 to 13fd581 Compare July 30, 2025 13:28
@github-actions github-actions bot force-pushed the changeset-release/main branch from 13fd581 to c1fc0c3 Compare July 30, 2025 13:53
@github-actions github-actions bot force-pushed the changeset-release/main branch from c1fc0c3 to 636770f Compare July 30, 2025 16:15
@github-actions github-actions bot force-pushed the changeset-release/main branch from 636770f to 4b2910f Compare July 30, 2025 17:49
@github-actions github-actions bot force-pushed the changeset-release/main branch from 4b2910f to 2f9f98d Compare July 31, 2025 02:17
@github-actions github-actions bot force-pushed the changeset-release/main branch from 2f9f98d to af20520 Compare July 31, 2025 02:37
@kingston kingston merged commit f22dd48 into main Jul 31, 2025
5 of 6 checks passed
@kingston kingston deleted the changeset-release/main branch July 31, 2025 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants