Documentation

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

$libs

List of libraries

private array<string|int, mixed> $libs

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

Return values
void

Search results