Repository: symfony/ux
Pull request #2612 (2025-03-01 07:17:47)

Document `src/**/assets/README.md` files about direct installation and recommended alternatives.
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Issues        | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT

<!--
Replace this notice by a description of your feature/bugfix.
This will help reviewers and should be a good start for the documentation.

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - For new features, provide some code snippets to help understand usage.
 - Features and deprecations must be submitted against branch main.
 - Changelog entry should follow https://symfony.com/doc/current/contributing/code/conventions.html#writing-a-changelog-entry
 - Never break backward compatibility (see https://symfony.com/bc).
-->

Follow #2595, related to #2575 


Patch:
diff --git a/.github/workflows/ux.symfony.com.yaml b/.github/workflows/ux.symfony.com.yaml
index 0506ec5a..d9d8a65d 100644
--- a/.github/workflows/ux.symfony.com.yaml
+++ b/.github/workflows/ux.symfony.com.yaml
@@ -6,12 +6,14 @@ on:
             - 'ux.symfony.com/**'
             - 'src/*/**'
             - '!src/*/doc/**'
+            - '!src/**/*.md'
             - '.github/**'
     pull_request:
         paths:
             - 'ux.symfony.com/**'
             - 'src/*/**'
             - '!src/*/doc/**'
+            - '!src/**/*.md'
             - '.github/**'
 
 jobs:
diff --git a/src/Autocomplete/assets/README.md b/src/Autocomplete/assets/README.md
index 5030158d..2f5e53fb 100644
--- a/src/Autocomplete/assets/README.md
+++ b/src/Autocomplete/assets/README.md
@@ -2,7 +2,9 @@
 
 Javascript-powered auto-completion functionality for your Symfony forms!
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-autocomplete](https://github.com/symfony/ux/tree/2.x/src/Autocomplete).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-autocomplete](https://packagist.org/packages/symfony/ux-autocomplete) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-autocomplete](https://packagist.org/packages/symfony/ux-autocomplete) PHP package version.**
 
 ## Resources
 
diff --git a/src/Chartjs/assets/README.md b/src/Chartjs/assets/README.md
index 19153f80..17b9d0a5 100644
--- a/src/Chartjs/assets/README.md
+++ b/src/Chartjs/assets/README.md
@@ -2,11 +2,13 @@
 
 Chart.js integration for Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-chartjs](https://github.com/symfony/ux/tree/2.x/src/Chartjs).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-chartjs](https://packagist.org/packages/symfony/ux-chartjs) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-chartjs](https://packagist.org/packages/symfony/ux-chartjs) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-chartjs/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Cropperjs/assets/README.md b/src/Cropperjs/assets/README.md
index 3e21de38..ba36d264 100644
--- a/src/Cropperjs/assets/README.md
+++ b/src/Cropperjs/assets/README.md
@@ -2,11 +2,13 @@
 
 Cropper.js integration for Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-cropperjs](https://github.com/symfony/ux/tree/2.x/src/Cropperjs).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-cropperjs](https://packagist.org/packages/symfony/ux-cropperjs) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-cropperjs](https://packagist.org/packages/symfony/ux-cropperjs) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-cropperjs/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Dropzone/assets/README.md b/src/Dropzone/assets/README.md
index a5ed0237..4bdb72f2 100644
--- a/src/Dropzone/assets/README.md
+++ b/src/Dropzone/assets/README.md
@@ -2,11 +2,13 @@
 
 File input dropzones for Symfony Forms.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-dropzone](https://github.com/symfony/ux/tree/2.x/src/Dropzone).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-dropzone](https://packagist.org/packages/symfony/ux-dropzone) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-dropzone](https://packagist.org/packages/symfony/ux-dropzone) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-dropzone/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/LazyImage/assets/README.md b/src/LazyImage/assets/README.md
index ab74d838..bfd45428 100644
--- a/src/LazyImage/assets/README.md
+++ b/src/LazyImage/assets/README.md
@@ -2,11 +2,13 @@
 
 Lazy image loader and utilities for Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-lazy-image](https://github.com/symfony/ux/tree/2.x/src/LazyImage).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-lazy-image](https://packagist.org/packages/symfony/ux-lazy-image) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-lazy-image](https://packagist.org/packages/symfony/ux-lazy-image) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-lazy-image/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/LiveComponent/assets/README.md b/src/LiveComponent/assets/README.md
index edf0b203..f417ec2c 100644
--- a/src/LiveComponent/assets/README.md
+++ b/src/LiveComponent/assets/README.md
@@ -2,11 +2,13 @@
 
 Live Component: bring server-side re-rendering & model binding to any element.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-live-component](https://github.com/symfony/ux/tree/2.x/src/LiveComponent).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-live-component](https://packagist.org/packages/symfony/ux-live-component) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-live-component](https://packagist.org/packages/symfony/ux-live-component) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-live-component/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Map/assets/README.md b/src/Map/assets/README.md
index 2844d3d5..6b4596b0 100644
--- a/src/Map/assets/README.md
+++ b/src/Map/assets/README.md
@@ -2,11 +2,9 @@
 
 Easily embed interactive maps in your Symfony application.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-map](https://github.com/symfony/ux/tree/2.x/src/Map).**
-
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-map/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Notify/assets/README.md b/src/Notify/assets/README.md
index 620d4c92..83952995 100644
--- a/src/Notify/assets/README.md
+++ b/src/Notify/assets/README.md
@@ -2,11 +2,13 @@
 
 Native notification integration for Symfony using Mercure.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-notify](https://github.com/symfony/ux/tree/2.x/src/Notify).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-notify](https://packagist.org/packages/symfony/ux-notify) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-notify](https://packagist.org/packages/symfony/ux-notify) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-notify/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/React/assets/README.md b/src/React/assets/README.md
index 1edac725..6777b7b4 100644
--- a/src/React/assets/README.md
+++ b/src/React/assets/README.md
@@ -2,11 +2,13 @@
 
 Integration of React in Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-react](https://github.com/symfony/ux/tree/2.x/src/React).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-react](https://packagist.org/packages/symfony/ux-react) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-react](https://packagist.org/packages/symfony/ux-react) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-react/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/StimulusBundle/assets/README.md b/src/StimulusBundle/assets/README.md
index 1748a85b..da98e12d 100644
--- a/src/StimulusBundle/assets/README.md
+++ b/src/StimulusBundle/assets/README.md
@@ -2,11 +2,13 @@
 
 Integration of @hotwired/stimulus into Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-stimulus-bundle](https://github.com/symfony/ux/tree/2.x/src/StimulusBundle).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/stimulus-bundle](https://packagist.org/packages/symfony/stimulus-bundle) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/stimulus-bundle](https://packagist.org/packages/symfony/stimulus-bundle) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/StimulusBundle/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Svelte/assets/README.md b/src/Svelte/assets/README.md
index 8817071b..eabd7719 100644
--- a/src/Svelte/assets/README.md
+++ b/src/Svelte/assets/README.md
@@ -2,11 +2,13 @@
 
 Integration of Svelte in Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-svelte](https://github.com/symfony/ux/tree/2.x/src/Svelte).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-svelte](https://packagist.org/packages/symfony/ux-svelte) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-svelte](https://packagist.org/packages/symfony/ux-svelte) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-svelte/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Swup/assets/README.md b/src/Swup/assets/README.md
index dd087774..eecfda40 100644
--- a/src/Swup/assets/README.md
+++ b/src/Swup/assets/README.md
@@ -2,11 +2,13 @@
 
 Swup integration for Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-swup](https://github.com/symfony/ux/tree/2.x/src/Swup).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-swup](https://packagist.org/packages/symfony/ux-swup) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-swup](https://packagist.org/packages/symfony/ux-swup) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-swup/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/TogglePassword/assets/README.md b/src/TogglePassword/assets/README.md
index ab6a3ab9..7fee79f8 100644
--- a/src/TogglePassword/assets/README.md
+++ b/src/TogglePassword/assets/README.md
@@ -2,11 +2,13 @@
 
 Toggle visibility of password inputs for Symfony Forms.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-toggle-password](https://github.com/symfony/ux/tree/2.x/src/TogglePassword).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-toggle-password](https://packagist.org/packages/symfony/ux-toggle-password) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-toggle-password](https://packagist.org/packages/symfony/ux-toggle-password) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-toggle-password/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Translator/assets/README.md b/src/Translator/assets/README.md
index 3da40cb2..6ca822ff 100644
--- a/src/Translator/assets/README.md
+++ b/src/Translator/assets/README.md
@@ -2,11 +2,13 @@
 
 Symfony Translator for JavaScript.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-translator](https://github.com/symfony/ux/tree/2.x/src/Translator).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-translator](https://packagist.org/packages/symfony/ux-translator) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-translator](https://packagist.org/packages/symfony/ux-translator) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-translator/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Turbo/assets/README.md b/src/Turbo/assets/README.md
index 890533c7..25485a1d 100644
--- a/src/Turbo/assets/README.md
+++ b/src/Turbo/assets/README.md
@@ -2,11 +2,13 @@
 
 Hotwire Turbo integration for Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-turbo](https://github.com/symfony/ux/tree/2.x/src/Turbo).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-turbo](https://packagist.org/packages/symfony/ux-turbo) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-turbo](https://packagist.org/packages/symfony/ux-turbo) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-turbo/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Typed/assets/README.md b/src/Typed/assets/README.md
index f6ab539d..8f11fc62 100644
--- a/src/Typed/assets/README.md
+++ b/src/Typed/assets/README.md
@@ -3,10 +3,13 @@
 Typed integration for Symfony.
 
 **This package can't be used on its own, and requires the PHP package [symfony/ux-typed](https://github.com/symfony/ux/tree/2.x/src/Typed).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-typed](https://packagist.org/packages/symfony/ux-typed) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-typed](https://packagist.org/packages/symfony/ux-typed) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-typed/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)
diff --git a/src/Vue/assets/README.md b/src/Vue/assets/README.md
index d204e1f7..4ec48c64 100644
--- a/src/Vue/assets/README.md
+++ b/src/Vue/assets/README.md
@@ -2,11 +2,13 @@
 
 Integration of Vue.js in Symfony.
 
-**This package can't be used on its own, and requires the PHP package [symfony/ux-vue](https://github.com/symfony/ux/tree/2.x/src/Vue).**
+**ℹ️ Direct installation of this package is for advanced users only.** We strongly recommend installing it through the PHP package [symfony/ux-vue](https://packagist.org/packages/symfony/ux-vue) in a Symfony application with Flex enabled.
+
+If you still want to install this package directly, **make sure its version exactly matches [symfony/ux-vue](https://packagist.org/packages/symfony/ux-vue) PHP package version.**
 
 ## Resources
 
--   [Documentation](https://symfony.com/bundles/ux-autocomplete/current/index.html)
+-   [Documentation](https://symfony.com/bundles/ux-vue/current/index.html)
 -   [Report issues](https://github.com/symfony/ux/issues) and
     [send Pull Requests](https://github.com/symfony/ux/pulls)
     in the [main Symfony UX repository](https://github.com/symfony/ux)


Test patch:
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 1ececd75..ee03e91b 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -4,10 +4,12 @@ on:
     push:
         paths-ignore:
             - 'src/*/doc/**'
+            - 'src/**/*.md'
             - 'ux.symfony.com/**'
     pull_request:
         paths-ignore:
             - 'src/*/doc/**'
+            - 'src/**/*.md'
             - 'ux.symfony.com/**'
 
 jobs: