mariusbalcytis / webpack-bundle

Bundle to Integrate Webpack into Symfony
MIT License
122 stars 36 forks source link

Symfony 4.0 support #81

Closed mvrhov closed 6 years ago

mvrhov commented 6 years ago

Hey @mariusbalcytis do you have any ETA for sf 4.0 support? ATM it seems that the only thing that is not compatible is ProcessBuilder which is removed in 4.0

mariusbalcytis commented 6 years ago

I'd like to wait for at least beta version as there are some dependency problems otherwise. For example, this bundle depends on other library, which requires symfony component in 2.x|3.x. As 4.0 is not yet stabilized, it's not possible to release stable version which would support 4.0, as it's not yet 100% sure what's 4.0 really is (maybe some methods etc. would still change overtime). So it gets more and more complicated as it's not only whether this bundle supports 4.0, but if it's dependencies also do.

On another hand, 4.0 support is planned, together with flex recipe to ease the installation.

mvrhov commented 6 years ago

IMO there won't be much breakage anymore. As there is about a month till the final release. As for the flex. I don't care about that. I use different directory structure which is not supported in flex also about a half of apps have two kernels api/frontend with different configurations each which also is not supported.

secit-pl commented 6 years ago

Any update on this? Beta 4 (https://github.com/symfony/symfony/releases/tag/v4.0.0-BETA4) was released a few days ago.

steven-prybylynskyi commented 6 years ago

@mvrhov @secit-pl did you tried Encore made by Symfony?

mvrhov commented 6 years ago

It's not the same. Encore is missing "twig" extraction. This bundle brings you the same behavior as the assetic does. However nobody is saying that this bundle couldn't support the Encore type config builder.

steven-prybylynskyi commented 6 years ago

@mvrhov what do you mean by "twig" extraction?

mvrhov commented 6 years ago

This bundle has some twig extensions that help it found all js and css resources across twig files and then it pushes them to the webpack. Encore requires that I declare one css and one js html tag inside main template and then do complete frontend stuff inside it. Like i said ths bundle is modern replacement for asseticbundle where encore is not.

steven-prybylynskyi commented 6 years ago

@mvrhov ah, I see what you mean. In an Encore config one should use the addEntry method for every entry point.

Though for simple projects -- without a lot of entry points, or if you aren't lazy to add those in two places -- Encore is probably the right choice. It is very succinct, needs less bootstrap configuration, comes with a built-in manifest file support starting from Symfony 3.3, it's stable and most importantly backed by Symfony.

mvrhov commented 6 years ago

The problem I have with Encore is that I want all resources even 3rd party ones that are needed inside a directory of my application tree and commited into the git. I do not want this inside in some huge lib_node directory mangled together with build tools.

steven-prybylynskyi commented 6 years ago

Are you need to commit vendor libraries to your git repository? That's confusing. What's the problem with the webpack config that is generated by Encore and how it differs from the one created with maba's lib?

mariusbalcytis commented 6 years ago

Currently https://github.com/Codeception/Codeception/issues/4318 is pending for being able to test on 4.0 release. I don't quite like to allow 4.0 version without running the tests. Of course, this could possible be done in dev-master without tagging, but this could still make some issues for some.

mariusbalcytis commented 6 years ago

I've made needed changed, but not yet tagged the new version. @mvrhov do you have any project to test if you see any issues with the changes for 4.0?

mvrhov commented 6 years ago

I have one which is in process of moving to it. I can install the master and run it.

mvrhov commented 6 years ago

I've installed the master to project of mine. It uses a components from both 4.0 and 3.4 as there are still some dependencies from some bundles on 3.4 and it seems to work.