PHPackages                             surda/webloader-jm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. surda/webloader-jm

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

surda/webloader-jm
==================

Tool for loading or deploying CSS and JS files into web pages

v2.0.0(2y ago)015MITPHPPHP &gt;= 7.1CI failing

Since Apr 22Pushed 2y agoCompare

[ Source](https://github.com/surda/webloader-jm)[ Packagist](https://packagist.org/packages/surda/webloader-jm)[ RSS](/packages/surda-webloader-jm/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (32)Versions (3)Used By (0)

WebLoader
=========

[](#webloader)

Component for CSS and JS files loading

---

[![Licence](https://camo.githubusercontent.com/737e11abe3d12f972f91534882d1f502e6b5b3d9b35739ee2f9fa9aa0feb049d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f73757264612f7765626c6f616465722d6a6d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/surda/webloader-jm)[![Latest stable](https://camo.githubusercontent.com/b88be17d6664e4a8141c79857257488cb1518eafe4cd89427c520a57d251fdd3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73757264612f7765626c6f616465722d6a6d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/surda/webloader-jm)[![PHPStan](https://camo.githubusercontent.com/441b5874ce4df0a2defc892979c96c46889b69cb32119d04f0b48626349f8bc9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d656e61626c65642d627269676874677265656e2e7376673f7374796c653d666c6174)](https://github.com/phpstan/phpstan)

Installation
------------

[](#installation)

The recommended way to is via Composer:

```
composer require surda/webloader-jm

```

Example with Nette Framework extension used
-------------------------------------------

[](#example-with-nette-framework-extension-used)

Configuration in `config.neon`:

```
extensions:
	webloader: WebLoader\Nette\Extension

services:
	wlCssFilter: WebLoader\Filter\CssUrlsFilter(%wwwDir%)
	lessFilter: WebLoader\Filter\LessFilter
	jwlCssMinFilter: Joseki\Webloader\CssMinFilter

webloader:
	css:
		default:
			files:
				- style.css
				- {files: ["*.css", "*.less"], from: %appDir%/presenters} # Nette\Utils\Finder support
			filters:
				- @jwlCssMinFilter
			fileFilters:
				- @lessFilter
				- @wlCssFilter
			watchFiles:		# only watch modify file
				- {files: ["*.css", "*.less"], from: css}
				- {files: ["*.css", "*.less"], in: css}

	js:
		default:
			remoteFiles:
				- http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js
				- http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js
			files:
				- %appDir%/../libs/nette/nette/client-side/netteForms.js
				- web.js
```

Usage in presenter:

```
class BasePresenter extends Presenter
{
	/** @var \WebLoader\Nette\LoaderFactory @inject */
	public $webLoader;

	/** @return CssLoader */
	protected function createComponentCss()
	{
		return $this->webLoader->createCssLoader('default');
	}

	/** @return JavaScriptLoader */
	protected function createComponentJs()
	{
		return $this->webLoader->createJavaScriptLoader('default');
	}
}
```

Template:

```
{control css}
{control js}
```

Example
-------

[](#example)

Control factory in Nette presenter:

```
protected function createComponentCss()
{
	$files = new WebLoader\FileCollection(WWW_DIR . '/css');
	$files->addFiles(array(
		'style.css',
		WWW_DIR . '/colorbox/colorbox.css',
	));

	$files->addWatchFiles(Finder::findFiles('*.css', '*.less')->in(WWW_DIR . '/css'));

	$compiler = WebLoader\Compiler::createCssCompiler($files, WWW_DIR . '/temp');

	$compiler->addFilter(new WebLoader\Filter\VariablesFilter(array('foo' => 'bar')));
	$compiler->addFilter(function ($code) {
		return cssmin::minify($code, "remove-last-semicolon");
	});

	$control = new WebLoader\Nette\CssLoader($compiler, '/webtemp');
	$control->setMedia('screen');

	return $control;
}
```

Template:

```
{control css}
```

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1399 days

Total

2

Last Release

863d ago

Major Versions

v1.0.0 → v2.0.02024-02-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/e8d497ef90ca9ed180419b5ab29857be10e88d0614cf01c94b0f2ab5094de45d?d=identicon)[surda](/maintainers/surda)

---

Top Contributors

[![surda](https://avatars.githubusercontent.com/u/588663?v=4)](https://github.com/surda "surda (2 commits)")

---

Tags

javascriptnettecssassetswebloader

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/surda-webloader-jm/health.svg)

```
[![Health](https://phpackages.com/badges/surda-webloader-jm/health.svg)](https://phpackages.com/packages/surda-webloader-jm)
```

###  Alternatives

[janmarek/webloader

Tool for loading or deploying CSS and JS files into web pages

114517.9k14](/packages/janmarek-webloader)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
