A wrapper around Sharp, providing an easy to use interface to make Sharp usable in a front-end development workflow.
npm install @mischback/imp!npm (scoped)

!GitHub package.json version (development)
!GitHub branch checks state


!GitHub License
ImP is the abbreviation of _image processor_. Basically it is a wrapper
around the wonderful Sharp module, providing
an easy to use interface to make Sharp usable in a front-end development
workflow.
_ImP_ is out of maintenance until further notice.
There will be no additional features, and no bugfixes. If you're interested
in taking over this project, you may use GitHub to get in touch (e.g. by
posting an issue in this repository).
Just install _ImP_ from npm:
``bash`
npm install --save-dev @mischback/imp
Most likely you will want to install it as a development dependency for internal
usage (see below for _Security Considerations_).
After installation, _ImP_ is available using the following command:
`bash`
npx imp
Please note, that a configuration file is required, see below for configuration
options and command line parameters.
A more sophisticated usage example is provided in the
advanced usage guide.
_ImP_ is configured by its configuration file and command line parameters.
Providing a configuration file (or the corresponding key in package.json) isTargetConfig
mandatory, as the and FormatConfig can not be specified by
command line.
The in-depth description of the configuration file is provided in
the configuration guide.
_ImP_ uses cosmiconfig to
retrieve and read the configuration file.
The following locations are searched:
- key "imp" in package.json.imprc
- an extensionless "rc file", in YAML or JSON format: .imprc.json
- an "rc file" with extension: , .imprc.yaml, .imprc.yml, .imprc.js or .imprc.cjs.config.js
- a or .config.cjs CommonJS module
The listed filenames/locations are checked in the current working directory and
then the search is continued upwards (see cosmiconfig's README for further details).
Additionally, _ImP_ accepts the following command line parameters:
- --debug, -d: Activate the debug mode; in this mode, cosmiconfig's caching is cleared and additional log messages are emitted;--configFile
- , -c: Specify another name/location for the configuration file to be used;--inputFile
- , -i: Specify the name/location of the image to be processed. This option may be specified multiple times;--outputDir
- , -o: Specify the directory to write the processed images to;--quiet
- , -q: Suppress all output.
Please note that providing --inputFile and --outputDir through
command line parameters will overwrite the corresponding parameter in the
configuration file.
_ImP_ was developed without any special regard to security. It is assumed to be
used in a safe environment, meaning that input and output are under strict of
the user.
You should not expose _ImP_ publicly, at least not without some wrapper that
does perform sanitarization of any user input.
_ImP_ is a wrapper around Sharp, which is in fact a very capable interface to
libvips itsself.
The install size actually reflects the installation of _libvips_.
Issues, pull requests and feature requests are welcome. Just use the project's
issue tracker.
_ImP_ is implemented in TypeScript and compiled/transpiled to actual JavaScript
on release.
More details about the internal guidelines regarding code formatting, linting,
testing and releasing are provided in docs/`.