Week3 GSoC with phpMyAdmin

Completed 3 weeks of Google Summer of Codes with phpMyAdmin. Major task for the week was to revamp the ajax handler so that it will be compatible with the new webpack generated bundle and there should not be any need of appending the files in the head of the document as it is there in the project right now. Webpack will take care of it.

Here is the major change in the AJAX add script function. There are some more changes by I am showing only this major change.

The new function introduced import() is a function which returns a promise resolution of which contains all the exported modules.

This function will take care of the appending of script in the head tag by generating chunks for modules needed by the dynamically imported module.

This function needs some edits to make it workable for all the files rather than the two files in the array.

The snapshots of the generated webpack profile with two different configurations are as below. Both the configuration have same output size both in development and production mode.

1). When vendor files like jQuery, Codemirror are not build in a separate chunk. The size of various chunks are also shown in the next snapshot

Webpack generated output

2). Second configuration when vendor files are placed in a separate bundle and included in the Header class for loading it each time with index_new.js

The reproducible pr is already made on github.

Major task for this week would be to work on optimising the webpack bundle and working on ajax handler to revamp it further and try to create multiple entry points for separate files and the compare the output with single entry point.