maximilian-walter/typo3-jshrink

This package is abandoned and no longer maintained. No replacement package was suggested.

Integrates the library JShrink in the build-in JavaScript-compressor of TYPO3

Installs: 187

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:typo3-cms-extension

v1.1.0 2018-06-28 11:52 UTC

This package is not auto-updated.

Last update: 2022-05-14 08:50:07 UTC


README

License Latest Stable Version Total Downloads

The TYPO3 core can compress CSS and JavaScript files to improve frontend-performance. Unlike CSS files the JavaScript files are only compressed with GZip and not minified. This extension integrates the popular library JShrink to add this feature also for JavaScript.

This extension aims to be as lightweight as possible. Hopefully the minification will one day be integrated into the core to make this extension obsolete.

It is no replacement for much more powerful extensions like Scriptmerger!

Compatibility

This extension uses a XClass to hijack the method \TYPO3\CMS\Core\Resource\ResourceCompressor::compressJsFile() and add the call to JShrink. This could break with every update of TYPO3, because this method is not defined as stable API. Please keep this in mind while your updating your instance.

If you have a better idea how JShrink could be integrated into the core, please drop me a line or create a pull request.

Currently supported versions: TYPO3 7.6.0 - 8.1.0 (newer versions should work, but are not tested yet)

Usage

Install the extension and make sure compression for JavaScript-files is activated via Typoscript:

page.config.compressJs = 1

Installing

Composer

Installing JShrink can be done through a variety of methods, although Composer is recommended.

"require": {
  "maximilian-walter/typo3-jshrink": "~1.0"
}

The JShrink-library will be automatically installed as dependency.

TER

This extension can also be installed via TER. You have to search for the name "jshrink". If you do so, please make sure the class \JShrink\Minifier can be used.

Contribution

Feel free to add issues or pull requests on GitHub. Code changes should follow the Coding Guidelines of TYPO3.

License

This extension is licensed under the GNU General Public License, either version 2 of the License, or any later version.

For the full copyright and license information, please read the LICENSE.txt file that was distributed with this source code.

Attributions

The heavy lifting is done by the popular library JShrink - https://github.com/tedious/JShrink

The icon is based on Font Awesome by Dave Gandy - http://fontawesome.io

Thanks to all contributors for all your work on those great projects!