JsTreeLinker
in package
Table of Contents
- $apps : array<string|int, mixed>
- List of apps
- $filesystem : Filesystem
- $jsDir : string
- $libs : array<string|int, mixed>
- List of libraries
- $mode : string
- $vendorDir : string
- $webDir : string
- __construct() : mixed
- Constructor
- linkDir() : void
- run() : void
- Build the web/js/ symlink tree
Properties
$apps
List of apps
private
array<string|int, mixed>
$apps
$filesystem
private
Filesystem
$filesystem
$jsDir
private
string
$jsDir
$libs
List of libraries
private
array<string|int, mixed>
$libs
$mode
private
string
$mode
= 'symlink'
$vendorDir
private
string
$vendorDir
$webDir
private
string
$webDir
Methods
__construct()
Constructor
public
__construct(Filesystem $filesystem, DirectoryTree $tree[, array<string|int, string> $apps = [] ][, array<string|int, string> $libs = [] ][, string $mode = 'symlink' ]) : mixed
Parameters
- $filesystem : Filesystem
- $tree : DirectoryTree
- $apps : array<string|int, string> = []
- $libs : array<string|int, string> = []
- $mode : string = 'symlink'
Return values
mixed —linkDir()
public
linkDir(string $sourceDir, string $targetDir) : void
Parameters
- $sourceDir : string
- $targetDir : string
Return values
void —run()
Build the web/js/ symlink tree
public
run() : void
Dependencies of type horde-application or horde-library can have a js dir which needs to be exposed web-readable
Traditionally, horde/js contains both the js from horde base package and from libraries while apps have their JS in horde/$app/js
In Composer based setup, we build our own symlink structure and tweak registry to the new locations
We always build the whole tree even though this may happen multiple times in installations with many apps