AbstractNpmAsset
API reference › Bootstrap 6 › asset › AbstractNpmAsset
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.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$basePath | string| | The Web-accessible directory that contains the asset files in this bundle. Default: null. | yii\ |
$baseUrl | string| | The base URL for the relative asset files listed in $js and $css. Default: null. | yii\ |
$cdn | bool | Whether to link the files from the CDN instead of publishing the local package. Default: false. | AbstractNpmAsset |
$cdnUrl | string | Base URL of the CDN serving npm packages as {cdnUrl}/{package}@{version}/{directory}/{file}. Default: 'https://cdn.jsdelivr.net/npm'. | AbstractNpmAsset |
$css | array<string| | List of CSS files that this bundle contains. Default: []. | yii\ |
$cssOptions | yii\ | The options that will be passed to View::registerCssFile() when registering the CSS files in this bundle. Default: []. | yii\ |
$depends | array<class-string> | List of bundle class names that this bundle depends on. Default: []. | yii\ |
$js | array<string| | List of JavaScript files that this bundle contains. Default: []. | yii\ |
$jsOptions | yii\ | The options that will be passed to View::registerJsFile() when registering the JS files in this bundle. Default: []. | yii\ |
$minified | bool| | Whether to serve the minified files, or null to serve them outside debug mode. Default: null. | AbstractNpmAsset |
$publishOptions | yii\ | The options to be passed to AssetManager::publish() when the asset bundle is being published. Default: []. | yii\ |
$sourcePath | string| | The directory that contains the source asset files for this asset bundle. Default: null. | yii\ |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__get() | Returns the value of an object property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets value of an object property. | yii\ |
__unset() | Sets an object property to null. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
className() static | Returns the fully qualified name of this class. | yii\ |
dependencies() static | Returns the asset bundle classes this bundle depends on. | AbstractNpmAsset |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined. | yii\ |
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\ |
register() static | Registers this asset bundle with a view. | yii\ |
registerAssetFiles() | Registers the CSS and JS files with the given view. | yii\ |
registerWith() static | Registers the bundle, and its npm-backed dependencies, with the given delivery mode. | AbstractNpmAsset |
directory() protected | Returns the package sub-directory the bundle publishes, without leading or trailing slashes. | AbstractNpmAsset |
package() protected abstract | Returns the npm package name that ships the files. | AbstractNpmAsset |
publishPatterns() protected | Returns additional publish patterns, relative to directory(), for files referenced by the stylesheets. | AbstractNpmAsset |
scripts() protected | Returns the script paths relative to directory(), without the .min infix. | AbstractNpmAsset |
styles() protected | Returns the stylesheet paths relative to directory(), without the .min infix. | AbstractNpmAsset |
Method details
Section titled “Method details”dependencies()
Section titled “dependencies() ”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.
init()
Section titled “init() ”public function init(): voidInitializes the bundle file lists for the configured delivery mode.
Throws
yii\base\InvalidConfigException: if the installed package version cannot be resolved in CDN mode.
registerWith()
Section titled “registerWith() ”public static function registerWith(yii\web\View $view, bool $cdn = false): staticRegisters 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
| Parameter | Type | Description |
|---|---|---|
$view | yii\ | View that renders the asset files. |
$cdn | bool | Whether to link the files from the CDN. |
Returns
static: Registered bundle instance.
directory()
Section titled “directory() ”protected function directory(): stringReturns 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.
package()
Section titled “package() ”abstract protected function package(): stringReturns the npm package name that ships the files.
Returns
string: Npm package name.
publishPatterns()
Section titled “publishPatterns() ”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.
scripts()
Section titled “scripts() ”protected function scripts(): list<string>Returns the script paths relative to directory(), without the .min infix.
Returns
list<string>: Script paths.
styles()
Section titled “styles() ”protected function styles(): list<string>Returns the stylesheet paths relative to directory(), without the .min infix.
Returns
list<string>: Stylesheet paths.