125 Commits

Author SHA1 Message Date
github-actions[bot]
48d8d70007 Update versions to 2.34.0 2026-03-22 22:21:50 +00:00
Hugo Alliaume
89e5ed2dfe [Autocomplete][Chartjs][Cropperjs][Dropzone][LazyImage][LiveComponent][Map][Notify][React][StimulusBundle][Svelte][Swup][TogglePassword][Translator][Turbo][Typed][Vue] Update package.json to 2.33.0
The job that release npm packages failed https://github.com/symfony/ux/actions/runs/23216748609/job/67479440402

it should be fixed by https://github.com/symfony/ux/pull/3400
v2.34.0
2026-03-21 23:29:11 +01:00
Hugo Alliaume
755151f30a Update tsdown & use @tsdown/css
This update simplifies the tsdown configuration, we do not need our custom plugin to minify CSS anymore (replaced by `css.minify = true`), and same for our hooks that rename the built CSS (replaced by `css.fileName`) 😍
2026-03-20 09:00:50 +01:00
Hugo Alliaume
cd7ecdefbc Remove unused @vitest/browser v2.33.0 2026-03-15 09:01:16 +01:00
Hugo Alliaume
db05b26e3c Update Vitest to ^4.1.0 2026-03-15 08:57:29 +01:00
Hugo Alliaume
88dcdda7fa Migrate from tsup (deprecated) to tsdown
tsup is deprecated in favor of tsdown.

Follow https://github.com/symfony/ux/pull/2935, https://github.com/symfony/ux/pull/2944, and many (local) tries were I was not really happy with the files generated by tsdown/rolldown, we are finally having something extra good!

We have the benefits from https://github.com/symfony/ux/pull/2935, https://github.com/symfony/ux/pull/2944, but without their drawbacks. The code correctly follow the `es2022` target and does not do anything weird anymore with static properties (needed by controllers).

I (Claude) added a plugin to remove the region and JSDoc comments (except if they contain `@deprecated``), since I think we want to keep the code non-minified.
2026-02-28 09:33:37 +01:00
Hugo Alliaume
5bb81613b2 Remove tsx dependency and rely on Node.js 22.18.0 native TypeScript runner 2026-02-27 20:17:39 +01:00
Hugo Alliaume
acf7d36dac Drop Biome.js for oxfmt and oxlint 2026-02-03 23:14:09 +01:00
Hugo Alliaume
141a1403e2 Fix npm releases due to repository issue 2026-01-16 23:36:00 +01:00
Hugo Alliaume
95642b025e Update versions to 2.32.0 2026-01-16 23:35:37 +01:00
Hugo Alliaume
b7e3cd2464 Update root JS dependencies 2026-01-11 00:13:28 +01:00
Hugo Alliaume
293429a9dd [CI] Fix compatibility issues with Symfony 8 and spatie/phpunit-snapshot-assertions 2026-01-10 01:02:57 +01:00
Steven Renaux
e0ca4e1a5e [Map] Add Map::removeAll*() methods v2.32.0 2025-12-26 10:58:22 +01:00
Hugo Alliaume
cfcf0b95c0 Git-ignore config/reference.php 2025-12-02 08:12:06 +01:00
Hugo Alliaume
1db1960ad1 [CI] Tests over Symfony 7.4.0-beta1 and 8.0.0-beta1 2025-11-16 19:52:01 +01:00
Hugo Alliaume
f26b75b926 Update versions to 2.31.0 2025-10-27 23:21:26 +01:00
Hugo Alliaume
258f2bfd08 Add --json flag to composer config command v2.31.0 2025-10-16 09:24:06 +02:00
Romain Monteil
96abdf8853 [Map] Display warning when trying to define a custom icon for a Marker that already has an Icon 2025-10-04 13:45:35 +02:00
Hugo Alliaume
a0b46c914c Refactor "test_package.sh" to its original purpose, add multiples checks for packages definition 2025-09-20 13:50:04 +02:00
Raphaël Geffroy
7965c23461 [Docs] Add doc for E2E steps + minor modifications 2025-09-19 15:06:31 +02:00
Hugo Alliaume
7ebc6566cf [App/E2E] Add examples listing on homepage, improve example page 2025-09-12 22:38:45 +02:00
Hugo Alliaume
1c9525e28e Configure .gitattributes to ignore Vitest and Playwright config files from export 2025-09-01 22:55:23 +02:00
github-actions[bot]
26610e885e Update versions to 2.30.0 2025-08-27 18:16:44 +00:00
Hugo Alliaume
6e4c320ed4 Fix changelogs v2.30.0 2025-08-27 17:25:48 +02:00
rrr63
0c86d09ee9 [Map] Leaflet bridge doc 2025-08-22 18:46:07 +02:00
Hugo Alliaume
74b1c62839 Ensure PHP 8.5 compatibility 2025-08-22 16:23:49 +02:00
Hugo Alliaume
bebe7ac14b [Map] Add E2E tests 2025-08-22 08:40:44 +02:00
Hugo Alliaume
bb79feca75 [Map] Deprecate option title from Polygon, Polyline, Rectangle and Circle in favor of infoWindow
While writing E2E tests for Map, I found that our `title` option from `Polygon`, `Polyline`, `Rectangle` and `Circle` was wrongly used, and does not make sense.

Using `title` won't add an HTML attribute `title` as I expected, it's not something supported by Google nor Leaflet.
Instead, we used it to display a popup, like the `infoWindow` (which is more complete).

I suggest deprecating `title` from 2.x and remove it in 3.0.
2025-08-21 08:30:19 +02:00
Hugo Alliaume
946e6bf5c2 [Map][Leaflet] Fix InfoWindow auto-opening 2025-08-20 08:58:07 +02:00
Hugo Alliaume
3755e120ae minor #3014 Create E2E app for browsers tests (Kocal)
This PR was merged into the 2.x branch.

Discussion
----------

 Create E2E app for browsers tests

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Docs?         | no <!-- required for new features -->
| Issues        | Fix #3009 <!-- 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.
 - Update/add documentation as required (we can help!)
 - 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).
-->

This pull request updates the browser testing workflow and related configuration to improve reliability, consistency, and maintainability across UX packages. The main changes include refactoring the browser test workflow to use a matrix strategy for Symfony versions, standardizing dependency installation steps, removing unused dependencies, and renaming the Playwright configuration for easier reuse.

**Workflow and CI improvements:**

* Refactored `.github/workflows/browser-tests.yml` to use a matrix strategy for Symfony versions, added concurrency controls to cancel in-progress runs, and split setup steps for JS and PHP dependencies, Docker containers, and E2E app configuration. Artifact uploads now only occur on browser test failures. [[1]](diffhunk://#diff-255cac5fcd7ae015d5bc1ccf14bfa2fff33bcabb653402be014e6668db1036ceR23-R38) [[2]](diffhunk://#diff-255cac5fcd7ae015d5bc1ccf14bfa2fff33bcabb653402be014e6668db1036ceL36-R116)
* Standardized JS dependency installation across workflows by replacing direct `pnpm install` commands with named steps (`Install root JS dependencies`) in code quality, unit test, dist files, and release workflows. [[1]](diffhunk://#diff-4a2765c2cfcbd3804a66aab805cb92ddda74de1730923cc5bf53671d0beccf06R27-R36) [[2]](diffhunk://#diff-b117ce55777f198ed74d5eb1cd6319c0b63837e2e9eed5c44b2477658e12248fR24) [[3]](diffhunk://#diff-b117ce55777f198ed74d5eb1cd6319c0b63837e2e9eed5c44b2477658e12248fL32-R38) [[4]](diffhunk://#diff-8e3deeaeb0bdfc6967ff8173f1d99e5001fe75dc497cbfb85fe64ceaade5e399L33-R34) [[5]](diffhunk://#diff-6e608e02c595d53ab6b70822a2bf19abcfc6ddcc976c2f536ad5bfca20f0443fR148) [[6]](diffhunk://#diff-6e608e02c595d53ab6b70822a2bf19abcfc6ddcc976c2f536ad5bfca20f0443fL157-R161)

**Testing and configuration changes:**

* Updated `package.json` to run browser tests in all workspaces concurrently, removed the unused `webdriverio` dependency, and improved the `test:browser` script for workspace aggregation. [[1]](diffhunk://#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L13-R13) [[2]](diffhunk://#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L28-R28)
* Renamed `playwright.config.ts` to `playwright.config.base.ts`, added documentation for usage in UX packages, and improved test matching patterns and output directory configuration. [[1]](diffhunk://#diff-8f3b25b652873317fa4aa36b920f753b44dc82f5c1f0d2ff5e6b1781ef1dc90fL1-R30) [[2]](diffhunk://#diff-8f3b25b652873317fa4aa36b920f753b44dc82f5c1f0d2ff5e6b1781ef1dc90fL30-L36)

**Dependency management:**

* Removed `webdriverio` from the lockfile and marked many transitive dependencies as optional in `pnpm-lock.yaml`, reducing the install footprint and improving clarity for unused packages. [[1]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL54-L56) [[2]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR3991) [[3]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4242) [[4]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4260-R4260) [[5]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4270-R4276) [[6]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4429) [[7]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4438-R4451) [[8]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4472-R4480) [[9]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4530) [[10]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4541) [[11]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4543-R4556) [[12]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4578-R4597) [[13]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4597-R4613) [[14]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4622) [[15]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4670) [[16]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4685) [[17]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4704-R4724) [[18]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4733) [[19]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4725-R4756) [[20]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbR4779-R4793) [[21]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4778-R4807) [[22]](diffhunk://#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bbL4791-R4828)

These changes make the browser testing workflow more robust and maintainable, ensure consistent dependency installation, and clean up unused or optional packages to streamline CI runs.

Commits
-------

dd1c13aff81 Create E2E app & run it in CI
2025-08-19 20:34:58 +02:00
Hugo Alliaume
f02ca8de2d Create E2E app & run it in CI 2025-08-19 20:30:58 +02:00
github-actions[bot]
634fa9bd54 Update versions to 2.29.2 2025-08-19 12:08:45 +00:00
Hugo Alliaume
bed20dc9dc Configure Vitest for unit and browser tests (use @puppeteer/browsers and webdriverio) v2.29.2 2025-08-18 08:22:05 +02:00
github-actions[bot]
b6a0d7026c Update versions to 2.29.1 2025-08-08 12:45:34 +00:00
Kevin Bond
764616b101 bug #2983 [Map] Allows Bridges JavaScript assets to be installed with npm when using file:vendor/symfony/ux-*-map/assets (Kocal)
This PR was merged into the 2.x branch.

Discussion
----------

[Map] Allows Bridges JavaScript assets to be installed with `npm` when using `file:vendor/symfony/ux-*-map/assets`

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Docs?         | no <!-- required for new features -->
| Issues        | Fix https://github.com/symfony/ux/issues/2951, https://github.com/symfony/ux/issues/2737 <!-- 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.
 - Update/add documentation as required (we can help!)
 - 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).
-->

Alternative to #2982.

Moving the `"`@symfony`/ux-map": "workspace:*"` requirements **outside the package.json** allows the Bridges JavaScript assets to be installed with `npm` when ``@symfony`/ux-leaflet-map` (or ``@symfony`/ux-google-map`) is using constraint version `file:vendor/symfony/ux-leaflet-map/assets` (or `file:vendor/symfony/ux-google-map/assets`) in the user application.

This is possible to this super feature from pnpm: [packageExtensions](https://pnpm.io/settings#packageextensions), which allows to override some part of package definitions in file `pnpm-workspace.yaml`:
- this file is read by pnpm and understand that ``@symfony`/ux-map` is a dependency of ``@symfony`/ux-leaflet-map` and ``@symfony`/ux-google-map` 🎉
- this file is totally unknown to npm, no `workspace:*` anymore in any `package.json` 🎉

It is not possible to defines `packageExtensions.devDependencies`, so I used `packageExtensions.dependencies` instead but that's fine. ``@symfony`/ux-map` is not referenced in any `package.json` when running `pnpm pack` in `src/Bridge/*/assets`.

Commits
-------

1667af71 [Map] Allows Bridges JavaScript assets to be installed with `npm` when using `file:vendor/symfony/ux-*-map/assets`
v2.29.1
2025-08-08 08:42:20 -04:00
github-actions[bot]
5e8ea7aa2f Update versions to 2.29.0 2025-08-08 11:38:41 +00:00
Hugo Alliaume
b1f7d688c8 [Map] Allows Bridges JavaScript assets to be installed with npm when using file:vendor/symfony/ux-*-map/assets 2025-08-08 10:51:01 +02:00
Hugo Alliaume
129898902e Add support for Symfony 8 v2.29.0 2025-08-06 00:04:40 +02:00
github-actions[bot]
3352335624 Update versions to 2.28.2 2025-07-30 12:24:53 +00:00
Nicolas Grekas
a8ace6fc13 Apply fabbot rules v2.28.2 2025-07-29 17:18:27 +02:00
Hugo Alliaume
69b7e71183 Update versions to 2.28.1 2025-07-29 09:04:28 +02:00
Hugo Alliaume
3cdbb78d0a Fix package.json files to not use "catalog" feature from PNPM, as it breaks installation from vendor/ PHP packages v2.28.1 2025-07-28 21:36:26 +02:00
Hugo Alliaume
286c5897bf [Map] Replace deprecation Vitest option browser.name to browser.instances v2.28.0 2025-07-28 00:05:36 +02:00
Hugo Alliaume
1dc3915a5f Modernize and simplify our packages building tools, replace Rollup by tsup 2025-07-27 09:05:51 +02:00
Hugo Alliaume
240ce81587 Replace Yarn Berry by PNPM 2025-07-21 10:05:53 +02:00
Hugo Alliaume
e509e2e2ef Explicitly import Vitest APIs instead of relying on globals 2025-07-20 12:48:08 +02:00
Hugo Alliaume
51a833d016 [Map] Add options minZoom and maxZoom
Co-authored-by: Nina Alin <56309556+nina-alin@users.noreply.github.com>
2025-07-07 09:04:19 +02:00
Hugo Alliaume
545b7fbff2 Remove @symfony/stimulus-testing 2025-06-29 15:05:22 +02:00
Hugo Alliaume
7ed9d7ff45 Migrate bin/*.js to TypeScript, use tsx 2025-06-28 09:42:29 +02:00
Hugo Alliaume
17f96a020b Migrate PHPUnit configs and homogenize them 2025-06-27 11:05:08 +02:00