Download the PHP package fivefifteen/fetcher without Composer
On this page you can find all versions of the php package fivefifteen/fetcher. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fivefifteen/fetcher
More information about fivefifteen/fetcher
Files in fivefifteen/fetcher
Package fetcher
Short Description A package manager written in PHP that supports installing dependencies from GitHub, npm, custom URLs, and local file paths.
License MIT
Homepage https://github.com/fivefifteen/fetcher
Informations about the package fetcher
A Five Fifteen Project
Table of Contents
- Requirements
- Installation
- Usage
- Commands
- Install
- Uninstall
- Info
- Versions
- Global Options
- Package & Version Parsing
- Package Aliases
- Commands
- Configuration
- Related Projects
- License Information
Requirements
- PHP 8.1 or above
- Composer
Installation
To a package (local)
To your system (global)
Usage
Commands
Install
Installs the defined packages. If no packages are defined, fetcher will attempt to locate a fetch.json
file and install packages located in it's dependencies
section.
Note: Fetcher only installs defined dependencies. Child dependencies such as ones found in composer.json
or package.json
are ignored.
Options
[-c|--config]
- Path to the config file [default:fetch.json
][-d|--install-directory]
- Path where packages should be installed to [default:fetched
][-e|--extensions]
- A comma seperated list of extensions to extract from the packages[-f|--fresh-start]
- Deletes the entire fetched directory before running installation[-i|--ignore-errors]
- Ignore any errors that occur and continue installing the rest of the packages[-p|--providers]
- The providers to search for packages from and their order [default:github,npm
][-q|--quiet]
- Run but don't output anything in the terminal[-s|--save]
- Save the newly installed packages to the config file'sdependencies
section (config file will be created if it doesn't exist)[-w|--working-directory]
- Sets the working directory that all paths will be relative to [default:.
][-x|--no-extract]
- Don't extract packages after they are downloaded
Examples
Directory Structure
Inside of the fetched
directory, packages with an author in the name (such as GitHub packages and scoped npm packages) will be installed in fetched/author/package
. If a package has no author in it's name (such as non-scoped npm packages), it will be installed in fetched/package
.
When installing a package via a URL or local file path, the basename of the filename will be used as the package name. For example, if I install package.zip
, it will be installed to fetched/package
. The exception to this rule is if the package being installed contains a single file with the same extension as the package name. For example if I install package.css.zip
and that zip file contains a single css file, you will end up with a single file at fetched/package.css
.
See the Package Aliases section for info about how to customize package names.
Uninstall
Uninstalls the defined packages. If no packages are defined, a confirmation message will ask you if you wish to delete all packages inside the fetched
directory (and the directory itself).
Options
[-c|--config]
- Path to the config file [default:fetch.json
][-d|--install-directory]
- Path where packages are installed to [default:fetched
][-f|--fresh-start]
- Deletes the entire fetched directory and optionally deletes all dependencies from fetch.json[-q|--quiet]
- Run but don't output anything in the terminal (implies--skip-prompts
)[-s|--save]
- Remove the uninstalled packages from the config file'sdependencies
section[-w|--working-directory]
- Sets the working directory that all paths will be relative to [default:.
][-y|--skip-prompts]
- Skips the confirmation prompt and continues with deletion
Examples
Info
Displays information about a package such as author, homepage, latest version, time of last update, and more.
Options
[-p|--providers]
- The providers to search for packages from and their order [default:github,npm
][-y|--skip-prompts]
- Skips any prompts and displays information for the first available package found
Examples
Versions
Displays the available versions of a package.
Options
[-l|--limit]
- The maximum number of package versions to show (newest versions are display first) [default:20
][-p|--providers]
- The providers to search for packages from and their order [default:github,npm
]
Examples
Global Options
These options can be used with all commands:
[-h|--help]
- Displays helpful information about a command[-v|--verbosity]
- Sets the verbosity level [default:0
][-V|--version]
- Displays the current Fetcher version
Package & Version Parsing
Because Fetcher supports multiple package providers and those providers have their own unique ways of naming and structuring packages, Fetcher has it's own unique but familiar syntax for package names and versions.
Fetcher uses the Composer's semver module for pasing version constraints.
Examples
Package Aliases
A package can be given an alias name and alias author. An alias author is only used if the alias name is used. This makes it possible to install multiple versions of the same package as well as name packages that are downloaded via URL and have a hash for a name.
For example, running fetcher i [scss-helpers/media-queries]npm:include-media
will install the include-media
package to fetched/scss-helpers/media-queries
.
Keys in the dependencies
section are considered aliases if the package name is defined in the version string (see the scss-helpers/media-queries
example below).
Configuration
While Fetcher can be used out of the box without any configuration, a config file allows for better customization and easier package management.
Example
Related Projects
- Piler - A CLI tool written in PHP that compiles and minifies JavaScript and CSS/SCSS files.
License Information
MIT. See the license.md file for more info.
All versions of fetcher with dependencies
adhocore/cli Version ^1.9
composer/semver Version ^3.4
splitbrain/php-archive Version ^1.2