Skip to content
PHP Ecosystem
Explore

AbstractNpmAsset

API reference › Bootstrap 6 › asset › AbstractNpmAsset

abstract classyii2\extensions\bootstrap6\asset\AbstractNpmAsset
Extendsyii\web\AssetBundle » yii\base\BaseObject
Implementsyii\base\Configurable
Sourcesrc/asset/AbstractNpmAsset.php
3 subclasses

Provides local or CDN delivery for asset bundles backed by an npm package installed through Foxy.

In local mode the bundle publishes directory() of the package from the @npm alias. In CDN mode it links the same files from $cdnUrl, pinned to the installed version, so both delivery modes serve the same release.

Each bundle publishes its own sub-directory because the asset manager publishes a source directory only once: two bundles sharing one source path with different publishOptions['only'] filters would leave the files of the second bundle unpublished.

PropertyTypeDescriptionDefined by
$basePathstring|nullThe Web-accessible directory that contains the asset files in this bundle. Default: null.yii\web\AssetBundle
$baseUrlstring|nullThe base URL for the relative asset files listed in $js and $css. Default: null.yii\web\AssetBundle
$cdnboolWhether to link the files from the CDN instead of publishing the local package. Default: false.AbstractNpmAsset
$cdnUrlstringBase URL of the CDN serving npm packages as {cdnUrl}/{package}@{version}/{directory}/{file}. Default: 'https://cdn.jsdelivr.net/npm'.AbstractNpmAsset
$cssarray<string|array<array-key, mixed>>List of CSS files that this bundle contains. Default: [].yii\web\AssetBundle
$cssOptionsyii\web\RegisterCssFileOptionsThe options that will be passed to View::registerCssFile() when registering the CSS files in this bundle. Default: [].yii\web\AssetBundle
$dependsarray<class-string>List of bundle class names that this bundle depends on. Default: [].yii\web\AssetBundle
$jsarray<string|array<array-key, mixed>>List of JavaScript files that this bundle contains. Default: [].yii\web\AssetBundle
$jsOptionsyii\web\RegisterJsFileOptionsThe options that will be passed to View::registerJsFile() when registering the JS files in this bundle. Default: [].yii\web\AssetBundle
$minifiedbool|nullWhether to serve the minified files, or null to serve them outside debug mode. Default: null.AbstractNpmAsset
$publishOptionsyii\web\PublishOptionsThe options to be passed to AssetManager::publish() when the asset bundle is being published. Default: [].yii\web\AssetBundle
$sourcePathstring|nullThe directory that contains the source asset files for this asset bundle. Default: null.yii\web\AssetBundle
MethodDescriptionDefined by
__construct()Constructor.yii\base\BaseObject
__call()Calls the named method which is not a class method.yii\base\BaseObject
__get()Returns the value of an object property.yii\base\BaseObject
__isset()Checks if a property is set, i.e. defined and not null.yii\base\BaseObject
__set()Sets value of an object property.yii\base\BaseObject
__unset()Sets an object property to null.yii\base\BaseObject
canGetProperty()Returns a value indicating whether a property can be read.yii\base\BaseObject
canSetProperty()Returns a value indicating whether a property can be set.yii\base\BaseObject
className() staticReturns the fully qualified name of this class.yii\base\BaseObject
dependencies() staticReturns the asset bundle classes this bundle depends on.AbstractNpmAsset
hasMethod()Returns a value indicating whether a method is defined.yii\base\BaseObject
hasProperty()Returns a value indicating whether a property is defined.yii\base\BaseObject
init()Initializes the bundle file lists for the configured delivery mode.AbstractNpmAsset
publish()Publishes the asset bundle if its source code is not under Web-accessible directory.yii\web\AssetBundle
register() staticRegisters this asset bundle with a view.yii\web\AssetBundle
registerAssetFiles()Registers the CSS and JS files with the given view.yii\web\AssetBundle
registerWith() staticRegisters the bundle, and its npm-backed dependencies, with the given delivery mode.AbstractNpmAsset
directory() protectedReturns the package sub-directory the bundle publishes, without leading or trailing slashes.AbstractNpmAsset
package() protected abstractReturns the npm package name that ships the files.AbstractNpmAsset
publishPatterns() protectedReturns additional publish patterns, relative to directory(), for files referenced by the stylesheets.AbstractNpmAsset
scripts() protectedReturns the script paths relative to directory(), without the .min infix.AbstractNpmAsset
styles() protectedReturns the stylesheet paths relative to directory(), without the .min infix.AbstractNpmAsset
public static function dependencies(): list<class-string<yii\web\AssetBundle>>

Returns the asset bundle classes this bundle depends on.

Returns

list<class-string<yii\web\AssetBundle>>: Dependency bundle classes.

public function init(): void

Initializes the bundle file lists for the configured delivery mode.

Throws

public static function registerWith(yii\web\View $view, bool $cdn = false): static

Registers the bundle, and its npm-backed dependencies, with the given delivery mode.

Bundles already configured in the asset manager, or already registered, keep their current mode.

Parameters

ParameterTypeDescription
$viewyii\web\ViewView that renders the asset files.
$cdnboolWhether to link the files from the CDN.

Returns

static: Registered bundle instance.

protected function directory(): string

Returns the package sub-directory the bundle publishes, without leading or trailing slashes.

Returns

string: Sub-directory relative to the package root, or an empty string to publish the whole package.

abstract protected function package(): string

Returns the npm package name that ships the files.

Returns

string: Npm package name.

protected function publishPatterns(): list<string>

Returns additional publish patterns, relative to directory(), for files referenced by the stylesheets.

Returns

list<string>: Patterns appended to the default publishOptions['only'] list.

protected function scripts(): list<string>

Returns the script paths relative to directory(), without the .min infix.

Returns

list<string>: Script paths.

protected function styles(): list<string>

Returns the stylesheet paths relative to directory(), without the .min infix.

Returns

list<string>: Stylesheet paths.