$modules], $lineno, $tag); } /** * Compiles the node to PHP. * * @param TwigCompiler $compiler A TwigCompiler instance */ public function compile(TwigCompiler $compiler) { $build = Parameter::get('system::core.build', 'winter'); $cacheBust = '?v=' . $build; $modules = $this->getAttribute('modules'); $compiler ->addDebugInfo($this) ->write("\$_minify = ".CombineAssets::class."::instance()->useMinify;" . PHP_EOL); $moduleMap = [ 'base' => (Config::get('develop.debugSnowboard', false) === true) ? 'snowboard.base.debug' : 'snowboard.base', 'vendor' => 'snowboard.vendor', 'request' => 'snowboard.request', 'attr' => 'snowboard.data-attr', 'extras' => 'snowboard.extras', ]; $manifestPath = Url::asset('/modules/system/assets/js/build/manifest.js'); $basePath = Url::asset('/modules/system/assets/js/snowboard/build') . '/'; if (!static::$baseLoaded) { // Add manifest and vendor files $compiler ->write("echo ''.PHP_EOL;" . PHP_EOL); $vendorJs = $moduleMap['vendor']; $compiler ->write("echo ''.PHP_EOL;" . PHP_EOL); // Add base script $baseJs = $moduleMap['base']; $baseUrl = Url::to('/'); $assetUrl = Url::asset('/'); $compiler ->write("echo ''.PHP_EOL;" . PHP_EOL); static::$baseLoaded = true; } foreach ($modules as $module) { $moduleJs = $moduleMap[$module]; $compiler ->write("echo ''.PHP_EOL;" . PHP_EOL); } } }