Spike: migrate Bower to Webpack

Description

Background

Currently Bower is not the recommended way of loading assets any more. And the SpBowerBundle is deprecated/abandoned. Symfony 4 supports the use of Webpack.

The following documentation is affected:
http://www.integratedfordevelopers.com/content/documentation/article/loading-assets-with-bower
http://www.integratedfordevelopers.com/content/documentation/article/including-assets

Requirements

  • Set up a plan for the use of Webpack in Integrated

  • Create a list with things, files, documentation, etc. which have to be changed

Please note

  • The AssetBundle has been created to avoid loading all javascripts on every page. For example: a popup calendar is used only on one page in Integrated, we don't want to have this scripts loaded on every page. Migration of the Integrated AssetBundle is also part of this issue. The Assetbundle should work the same after the update to Webpack.

  • A problem of the current Bower setup is that a bower package may include php files, which will be placed in the web root. If you are not aware, this can introduce a security leak. Hopefully this is better with Webpack.

  • A problem of the current Bower setup is that a deletion or privatization of a repository ruins a deployment. Hopefully this is better with Webpack.

Technical tasks

None

Deployment actions

None

Activity

Show:
API
January 10, 2018, 1:56 PM

.Schatting van 21.25 uur is geaccepteerd door Integrated Marijn (in opdracht ingevoerd door ).

Jeroen van Leeuwen
February 8, 2018, 12:54 PM

ziet er compleet uit, verder geen opmerkingen.

API
February 9, 2018, 8:03 AM

.Notificatie oplevering gestuurd naar Integrated Marijn (marijn@e-active.nl)

Jan Sanne Mulder
February 9, 2018, 11:25 AM

hier nog een reactie op je thema / webpack config / skeleton punten.

Moi weet zo niet wat uiteindelijk het best / handigste is maar je kan de style en javascript beschikbaar maken door deze als node depencency in te laden. Dus dat deze als externe package in de package.json komt te staan. Maar is ook mogelijk dat je deze gewoon in de bundle te laat staan maar dan dient er in de webpack config naar gelinkt worden door een absolute pad. Bij dat laatste zit je ook een beetje met je mogelijk dependecies want deze zal je dan ook zelf moeten kopiƫren naar de project package.json. Wat je vooral moet begrijpen is dat je van alles in een bundle kan zetten als je dat wil maar dit heeft op geen enkele manier invloed op de style van het eventuele project aangezien alles uit de project root komt. Dus je kan daar wel een hele webpack en package config plaatsen maar tenzij deze naar je project kopieert of linkt zal hier helemaal niets meer worden gedaan.

Zoals al in de lap tekst, onder het kopje Assets bundle, is aangegeven is kan webpack het lazy loading wel voor je regels zolang je de script die je schrijft hier maar op afstelt. Zie ook: https://webpack.js.org/guides/code-splitting/

Marijn Otte
February 9, 2018, 2:14 PM

tnx voor de aanvulling. Inladen als node depencencies lijkt mij een prima oplossing.

Bij verdwijnen van de assets bundle moet toch alles worden aangepast wat hiervan gebruik maakt, dus omzetten naar de Webpack manier van lazy loading lijkt mij geen bezwaar.

Assignee

Unassigned

External issue ID

None

Client

Integrated Marijn

Min. hours

None

Dev hour estimate

None

Epic Link

Sprint

None

Fix versions

Configure