Skip to content

Commit

Permalink
minor #2232 Replace JS toolchain by asset-mapper when testing ux-turb…
Browse files Browse the repository at this point in the history
…o (nicolas-grekas)

This PR was merged into the 2.x branch.

Discussion
----------

Replace JS toolchain by asset-mapper when testing ux-turbo

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| Issues        | -
| License       | MIT

:speak_no_evil:

Commits
-------

e4bd4f2 Replace JS toolchain by asset-mapper when testing ux-turbo
  • Loading branch information
javiereguiluz committed Oct 3, 2024
2 parents 623fe50 + e4bd4f2 commit c23d756
Show file tree
Hide file tree
Showing 12 changed files with 61 additions and 86 deletions.
28 changes: 7 additions & 21 deletions .github/workflows/test-turbo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,12 @@ jobs:
strategy:
fail-fast: false
matrix:
php-version: ['8.1', '8.4']
php-version: ['8.1', '8.3', '8.4']
include:
- php-version: '8.1'
dependency-version: 'lowest'
- php-version: '8.3'
dependency-version: 'highest'
- php-version: '8.4'
dependency-version: 'highest'

Expand All @@ -65,8 +67,6 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- run: corepack enable

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
Expand All @@ -75,31 +75,17 @@ jobs:
- name: Install symfony/flex
run: composer global config allow-plugins.symfony/flex true && composer global require symfony/flex

- name: Install Turbo packages
- name: Install dependencies with composer
uses: ramsey/composer-install@v3
with:
working-directory: src/Turbo
dependency-versions: ${{ matrix.dependency-version }}

- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT

- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install JavaScript dependencies
working-directory: src/Turbo/tests/app
run: touch yarn.lock && yarn install --mode update-lockfile && yarn install

- name: Build JavaScript
working-directory: src/Turbo/tests/app
run: yarn build
run: |
php public/index.php importmap:install
php public/index.php asset-map:compile
- name: Create DB
working-directory: src/Turbo/tests/app
Expand Down
9 changes: 5 additions & 4 deletions src/Turbo/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
/.phpunit.result.cache
/composer.phar
/composer.lock
/drivers/
/phpunit.xml
/vendor/
/tests/app/var
/tests/app/assets/vendor/
/tests/app/public/assets/
/tests/app/public/build/
/tests/app/var/
/vendor/
node_modules/
package-lock.json
yarn.lock
8 changes: 4 additions & 4 deletions src/Turbo/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,21 +41,21 @@
"doctrine/doctrine-bundle": "^2.4.3",
"doctrine/orm": "^2.8 | 3.0",
"phpstan/phpstan": "^1.10",
"symfony/asset-mapper": "^6.4|^7.0",
"symfony/debug-bundle": "^5.4|^6.0|^7.0",
"symfony/form": "^5.4|^6.0|^7.0",
"symfony/framework-bundle": "^5.4|^6.0|^7.0",
"symfony/framework-bundle": "^6.4|^7.0",
"symfony/mercure-bundle": "^0.3.7",
"symfony/messenger": "^5.4|^6.0|^7.0",
"symfony/panther": "^1.0|^2.0",
"symfony/panther": "^2.1",
"symfony/phpunit-bridge": "^5.4|^6.0|^7.0",
"symfony/process": "^5.4|6.3.*|^7.0",
"symfony/property-access": "^5.4|^6.0|^7.0",
"symfony/security-core": "^5.4|^6.0|^7.0",
"symfony/stopwatch": "^5.4|^6.0|^7.0",
"symfony/ux-twig-component": "^2.21",
"symfony/twig-bundle": "^5.4|^6.0|^7.0",
"symfony/twig-bundle": "^6.4|^7.0",
"symfony/web-profiler-bundle": "^5.4|^6.0|^7.0",
"symfony/webpack-encore-bundle": "^2.1.1",
"symfony/expression-language": "^5.4|^6.0|^7.0",
"dbrekelmans/bdi": "dev-main"
},
Expand Down
4 changes: 2 additions & 2 deletions src/Turbo/tests/BroadcastTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ class BroadcastTest extends PantherTestCase

protected function setUp(): void
{
if (!file_exists(__DIR__.'/app/public/build')) {
throw new \Exception(\sprintf('Move into "%s" and execute Encore before running this test.', realpath(__DIR__.'/app')));
if (!file_exists(__DIR__.'/app/assets/vendor/installed.php')) {
throw new \Exception(\sprintf('Move into "%s" and execute `php public/index.php importmap:install` before running this test.', realpath(__DIR__.'/app')));
}

parent::setUp();
Expand Down
8 changes: 4 additions & 4 deletions src/Turbo/tests/app/Kernel.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
use Symfony\UX\StimulusBundle\StimulusBundle;
use Symfony\UX\Turbo\TurboBundle;
use Symfony\UX\TwigComponent\TwigComponentBundle;
use Symfony\WebpackEncoreBundle\WebpackEncoreBundle;
use Twig\Environment;

/**
Expand All @@ -57,7 +56,6 @@ public function registerBundles(): iterable
yield new MercureBundle();
yield new TwigComponentBundle();
yield new TurboBundle();
yield new WebpackEncoreBundle();
yield new StimulusBundle();
yield new WebProfilerBundle();
yield new DebugBundle();
Expand All @@ -67,10 +65,13 @@ protected function configureContainer(ContainerConfigurator $container): void
{
$container->extension('framework', [
'secret' => 'ChangeMe',
'test' => 'test' === ($_SERVER['APP_ENV'] ?? 'dev'),
'test' => 'test' === $this->environment,
'router' => [
'utf8' => true,
],
'asset_mapper' => [
'paths' => ['assets/'],
],
'profiler' => [
'only_exceptions' => false,
],
Expand Down Expand Up @@ -108,7 +109,6 @@ protected function configureContainer(ContainerConfigurator $container): void
$container
->extension('doctrine', $doctrineConfig);

$container->extension('webpack_encore', ['output_path' => 'build']);
$container->extension('web_profiler', [
'toolbar' => true,
'intercept_redirects' => false,
Expand Down
4 changes: 4 additions & 0 deletions src/Turbo/tests/app/assets/controllers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"controllers": {},
"entrypoints": []
}
Empty file.
29 changes: 29 additions & 0 deletions src/Turbo/tests/app/importmap.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

return [
'app' => [
'path' => './assets/app.js',
'entrypoint' => true,
],
'@hotwired/stimulus' => [
'version' => '3.2.2',
],
'@symfony/stimulus-bundle' => [
'path' => '../../vendor/symfony/stimulus-bundle/assets/dist/loader.js',
],
'@symfony/ux-turbo/dist/turbo_stream_controller' => [
'path' => '../../assets/dist/turbo_stream_controller.js',
],
'@hotwired/turbo' => [
'version' => '7.3.0',
],
];
27 changes: 0 additions & 27 deletions src/Turbo/tests/app/package.json

This file was deleted.

3 changes: 3 additions & 0 deletions src/Turbo/tests/app/public/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@

use App\Kernel;
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\ErrorHandler\Debug;
use Symfony\Component\HttpFoundation\Request;

require __DIR__.'/../../../vendor/autoload.php';

Debug::enable();

$app = new Kernel($_SERVER['APP_ENV'] ?? 'dev', $_SERVER['APP_DEBUG'] ?? true);

if (\PHP_SAPI === 'cli') {
Expand Down
4 changes: 3 additions & 1 deletion src/Turbo/tests/app/templates/base.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
<meta charset="UTF-8">
<title>Symfony UX Turbo</title>
{% block stylesheets %}{% endblock %}
{{ encore_entry_script_tags('app') }}
{% block javascripts %}
{% block importmap %}{{ importmap('app') }}{% endblock %}
{% endblock %}
</head>
<body>
<nav id="navigation">
Expand Down
23 changes: 0 additions & 23 deletions src/Turbo/tests/app/webpack.config.js

This file was deleted.

0 comments on commit c23d756

Please sign in to comment.