Skip to content

Fix Clerk distribution: add missing components, authlib dependency, and build workflow#9

Merged
BSd3v merged 26 commits into
mainfrom
copilot/create-dash-auth-plus-clerk
Dec 1, 2025
Merged

Fix Clerk distribution: add missing components, authlib dependency, and build workflow#9
BSd3v merged 26 commits into
mainfrom
copilot/create-dash-auth-plus-clerk

Conversation

Copilot AI commented Nov 26, 2025

Copy link
Copy Markdown
Contributor
  • Explore repository structure and understand the issue
  • Identify missing components (imports.py and component Python files)
  • Build JavaScript components from TypeScript sources (npm install && npm run build:js)
  • Generate Python component wrappers (ClerkProvider, UserProfile, UserProfilePage)
  • Copy generated files to both dash_auth_plus_components and dash_auth_plus/DashAuthComponents
  • Update MANIFEST.in to include component files in distribution
  • Update setup.py to include dash_auth_plus_components package
  • Fix clerk extras to include authlib dependency
  • Test that Clerk extras install with all required dependencies
  • Verify components can be imported and instantiated after pip install
  • Fix failing tests - added skipif decorator for Clerk test
  • Run npm format to apply Black formatting to component files
  • Update build workflow to include npm build and format steps
  • All tests pass (10 passed, 1 skipped when credentials not available)

Summary

Successfully fixed the Clerk distribution issue. The dash-auth-plus[clerk] flavor now:

  • ✅ Downloads all required dependencies (authlib, clerk-backend-api, clerk-sdk)
  • ✅ Includes all Dash components (ClerkProvider, UserProfile, UserProfilePage)
  • ✅ Contains the JavaScript bundle for components
  • ✅ Can be installed and used without any missing module errors
  • ✅ All tests pass (Clerk test skips gracefully without credentials)
  • ✅ Code formatted with Black to match project style
  • ✅ Build workflow updated to automatically build and format components before packaging

Build Workflow Updates

Updated .github/workflows/build.yml to ensure components are properly built and formatted during the release process:

  • Added npm run build step to build JavaScript components from TypeScript and generate Python wrappers
  • Added npm run format step to apply Black formatting to all Python files
  • These steps run before the distribution generation to ensure all releases include properly built and formatted components

Fixes #8

Original prompt

This section details on the original issue you should resolve

<issue_title>Clerk distro doesn't have components and doesn't install the requirements</issue_title>
<issue_description>The clerk doesn't download all requirements necessary and it also does have the components available.

Create a dash-auth-plus with clerk flavor that downloads the optional requirements.</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits November 26, 2025 14:54
- Generated Python component wrappers (ClerkProvider, UserProfile, UserProfilePage)
- Created _imports_.py for component imports
- Built JavaScript bundle from TypeScript sources
- Updated MANIFEST.in to include all component files
- Updated setup.py to include dash_auth_plus_components package

Co-authored-by: BSd3v <82055130+BSd3v@users.noreply.github.com>
ClerkAuth depends on authlib for OAuth functionality. Added authlib to clerk extras requirements.

Co-authored-by: BSd3v <82055130+BSd3v@users.noreply.github.com>
Copilot AI changed the title [WIP] Create dash-auth-plus with clerk flavor for requirements Fix Clerk distribution: add missing components and authlib dependency Nov 26, 2025
Copilot AI requested a review from BSd3v November 26, 2025 15:04
@BSd3v

BSd3v commented Nov 26, 2025

Copy link
Copy Markdown
Owner

@copilot

fix the failing tests

Add pytest skipif decorator to test_clerk_auth_flow to skip the test when required Clerk environment variables are not available. This allows tests to pass in environments without Clerk credentials while still running when credentials are provided in CI.

Co-authored-by: BSd3v <82055130+BSd3v@users.noreply.github.com>

Copilot AI commented Nov 26, 2025

Copy link
Copy Markdown
Contributor Author

@copilot

fix the failing tests

Fixed in commit 76ef100. Added @pytest.mark.skipif decorator to the Clerk test to skip when required credentials (CLERK_SECRET_KEY, CLERK_DOMAIN, CLERK_PUBLISHABLE_KEY, CLERK_TEST_USER, CLERK_TEST_PASSWORD) are not available. All tests now pass: 10 passed, 1 skipped when credentials not provided.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3614 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.2RnqTN --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,10162272176662559817,17287857381988985192,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox --no-service-autorun --password-store=basic (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3757 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.SbkEMQ --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17408809763815372435,16865884942513502006,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3614 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.2RnqTN --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,10162272176662559817,17287857381988985192,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox --no-service-autorun --password-store=basic (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3757 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.SbkEMQ --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17408809763815372435,16865884942513502006,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3614 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.2RnqTN --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,10162272176662559817,17287857381988985192,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox --no-service-autorun --password-store=basic (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3757 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.SbkEMQ --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17408809763815372435,16865884942513502006,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3614 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.2RnqTN --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,10162272176662559817,17287857381988985192,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox --no-service-autorun --password-store=basic (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3757 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.SbkEMQ --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17408809763815372435,16865884942513502006,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@BSd3v

BSd3v commented Nov 27, 2025

Copy link
Copy Markdown
Owner

@copilot

Please also run npm run format on the PR, the package files for the component would be reformatted.

Applied Black code formatting to all component Python files using npm run format. This reformats the generated component wrappers to match the project's code style standards.

Co-authored-by: BSd3v <82055130+BSd3v@users.noreply.github.com>

Copilot AI commented Nov 27, 2025

Copy link
Copy Markdown
Contributor Author

@copilot

Please also run npm run format on the PR, the package files for the component would be reformatted.

Done in commit 12dce9a. Ran npm run format to apply Black formatting to all component Python files. All 10 component files have been reformatted to match the project's code style (double quotes, consistent spacing, etc.). Tests still pass: 10 passed, 1 skipped.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3633 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.fIlMVx --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,8978433838068961219,11373098924754360767,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox --no-service-autorun --password-store=basic (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3769 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.oVM8F9 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15307479067455341247,8829214195280536724,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3633 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.fIlMVx --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,8978433838068961219,11373098924754360767,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox --no-service-autorun --password-store=basic (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3769 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.oVM8F9 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15307479067455341247,8829214195280536724,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3633 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.fIlMVx --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,8978433838068961219,11373098924754360767,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox --no-service-autorun --password-store=basic (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3769 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.oVM8F9 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15307479067455341247,8829214195280536724,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3633 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.fIlMVx --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,8978433838068961219,11373098924754360767,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox --no-service-autorun --password-store=basic (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3769 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/.org.chromium.Chromium.scoped_dir.oVM8F9 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15307479067455341247,8829214195280536724,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --trace-process-track-uuid=3190708989122997041 --enable-logging --log-level=0 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@BSd3v

BSd3v commented Nov 27, 2025

Copy link
Copy Markdown
Owner

@copilot

It looks like the build yaml is missing the npm run build and npm run format before performing the dist.

Updated .github/workflows/build.yml to run 'npm run build' and 'npm run format' before generating the Python distribution. This ensures components are built from TypeScript sources and formatted with Black before packaging.

Co-authored-by: BSd3v <82055130+BSd3v@users.noreply.github.com>

Copilot AI commented Nov 27, 2025

Copy link
Copy Markdown
Contributor Author

@copilot

It looks like the build yaml is missing the npm run build and npm run format before performing the dist.

Fixed in commit dfb90bf. Added two new steps to the build workflow before the "Generate Python distribution" step:

  1. Build components - runs npm run build to build JS components from TypeScript and generate Python wrappers
  2. Format code - runs npm run format to apply Black formatting

The build workflow now runs in this order: setup dependencies → build components → format code → generate Python distribution.

Copilot AI changed the title Fix Clerk distribution: add missing components and authlib dependency Fix Clerk distribution: add missing components, authlib dependency, and build workflow Nov 27, 2025

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes critical distribution issues with the Clerk authentication integration by ensuring all required dependencies are installed and components are properly included in the package distribution.

Key changes:

  • Added authlib dependency to the clerk extras in setup.py, ensuring all required packages are installed with pip install dash-auth-plus[clerk]
  • Updated MANIFEST.in to include component files from both dash_auth_plus/DashAuthComponents and dash_auth_plus_components directories
  • Enhanced the build workflow to automatically build JavaScript components and format Python code before creating distributions
  • Added pytest skipif decorator to Clerk tests to gracefully skip when credentials are unavailable

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
setup.py Added missing authlib dependency to clerk extras to ensure Clerk authentication works with all required packages
MANIFEST.in Added recursive-include directives for component directories to ensure JavaScript bundles and Python wrappers are included in distributions
tests/test_clerk_auth.py Added skipif decorator to gracefully skip Clerk tests when required environment credentials are not available
.github/workflows/build.yml Added lint, build, and format steps to ensure components are properly built and formatted before package distribution
.github/workflows/test-runner.yml Added conditional check to only run distribution installation step when testing distributions
dash_auth_plus_components/init.py Applied Black formatting for consistent code style (no functional changes)
package-lock.json Updated version to match the current package version (0.0.1a3)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/build.yml
Comment thread dash_auth_plus_components/__init__.py
@BSd3v BSd3v merged commit cd45386 into main Dec 1, 2025
9 checks passed
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.

Clerk distro doesn't have components and doesn't install the requirements

3 participants