Skip to content

Commit 8987791

Browse files
committed
Fix vendor assets not found in production mode
1 parent c4c6432 commit 8987791

3 files changed

Lines changed: 13 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2929
- Added `JsonException` if `sprinkles.json` doesn't contain valid json.
3030
- Added specific tests for sprinkleManager with 100% test coverage
3131
- Ignore existing `package-lock.json` which caused incorrect dependencies to be installed when upgrading from older versions of UserFrosting.
32+
- Vendor assets not found in production mode
3233

3334
## 4.2.0-beta.1
3435

app/sprinkles/core/src/ServicesProvider/ServicesProvider.php

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,13 @@ public function register(ContainerInterface $container)
123123

124124
// Load asset schema
125125
if ($config['assets.use_raw']) {
126+
127+
// Register sprinkle assets stream, plus vendor assets in shared streams
128+
$locator->registerStream('assets', 'vendor', \UserFrosting\BOWER_ASSET_DIR, true);
129+
$locator->registerStream('assets', 'vendor', \UserFrosting\NPM_ASSET_DIR, true);
130+
$locator->registerStream('assets', 'vendor', \UserFrosting\BROWSERIFIED_ASSET_DIR, true);
131+
$locator->registerStream('assets', '', \UserFrosting\DS . \UserFrosting\ASSET_DIR_NAME);
132+
126133
$baseUrl = $config['site.uri.public'] . '/' . $config['assets.raw.path'];
127134

128135
$assets = new Assets($locator, 'assets', $baseUrl);
@@ -144,6 +151,11 @@ public function register(ContainerInterface $container)
144151
$assets->addAssetBundles($bundles);
145152
}
146153
} else {
154+
155+
// Register compiled assets stream in public folder + alias for vendor ones
156+
$c->locator->registerStream('assets', '', \UserFrosting\PUBLIC_DIR_NAME . '/' . \UserFrosting\ASSET_DIR_NAME, true);
157+
$c->locator->registerStream('assets', 'vendor', \UserFrosting\PUBLIC_DIR_NAME . '/' . \UserFrosting\ASSET_DIR_NAME, true);
158+
147159
$baseUrl = $config['site.uri.public'] . '/' . $config['assets.compiled.path'];
148160
$assets = new Assets($locator, 'assets', $baseUrl);
149161

@@ -249,13 +261,6 @@ public function register(ContainerInterface $container)
249261

250262
$config->set('csrf.blacklist', $csrfBlacklist);
251263

252-
// Reset 'assets' scheme in locator to use raw assets if specified in config.
253-
// Must be done here to prevent circular dependency as config is not loaded in system and locator can't be extended here.
254-
if (!$config['assets.use_raw']) {
255-
$c->locator->removeStream('assets');
256-
$c->locator->registerStream('assets', '', \UserFrosting\PUBLIC_DIR_NAME . '/' . \UserFrosting\ASSET_DIR_NAME, true);
257-
}
258-
259264
return $config;
260265
};
261266

app/system/ServicesProvider.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,8 @@ public function register(ContainerInterface $container)
5454
$locator->registerStream('log', '', \UserFrosting\APP_DIR_NAME . \UserFrosting\DS . \UserFrosting\LOG_DIR_NAME, true);
5555
$locator->registerStream('cache', '', \UserFrosting\APP_DIR_NAME . \UserFrosting\DS . \UserFrosting\CACHE_DIR_NAME, true);
5656
$locator->registerStream('session', '', \UserFrosting\APP_DIR_NAME . \UserFrosting\DS . \UserFrosting\SESSION_DIR_NAME, true);
57-
$locator->registerStream('assets', 'vendor', \UserFrosting\BOWER_ASSET_DIR, true);
58-
$locator->registerStream('assets', 'vendor', \UserFrosting\NPM_ASSET_DIR, true);
59-
$locator->registerStream('assets', 'vendor', \UserFrosting\BROWSERIFIED_ASSET_DIR, true);
6057

6158
// Register sprinkles streams
62-
$locator->registerStream('assets', '', \UserFrosting\DS . \UserFrosting\ASSET_DIR_NAME);
6359
$locator->registerStream('config', '', \UserFrosting\DS . \UserFrosting\CONFIG_DIR_NAME);
6460
$locator->registerStream('extra', '', \UserFrosting\DS . \UserFrosting\EXTRA_DIR_NAME);
6561
$locator->registerStream('factories', '', \UserFrosting\DS . \UserFrosting\FACTORY_DIR_NAME);

0 commit comments

Comments
 (0)