The purpose of this plugin is to copy static assets from one directory to another.
This is a functioning plugin that can be installed as-is to a Skeletor-equipped project.
To learn more about Skeletor, go here.
After you have cloned this repository, run npm install
in a terminal to install some necessary tools, including a testing framework (Jest) and a linter (ESLint).
The primary source code for this sample plugin is located in the index.js
file.
This sample plugin is pre-configured with the Jest testing framework and an example test.
From a terminal, run npm test
. You should see one test pass and feel pleased.
Test code can be found in the index.test.js
file.
For a Skeletor plugin to function within the Skeletor ecosystem, it must expose a simple API that the Skeletor task runner will interact with. The method signatures of the API are as follows:
The run()
method executes a plugin's primary task,. It is the primary way (and, currently, the only way) that the Skeletor task runner interacts with a plugin.
directories
Type: Object[]
The directories
parameter is a list of objects detailing the directories to be copied.
src
Type: String
The path to the source directory to be copied. This path can contain globbing syntax.
dest
The path to the destination directory to be copied into.
A Promise that resolves to a Status object.
The Status object is a simple Javascript Object
for storing the current status of your plugin. The structure of this object is as follows:
status
Type: String
Possible Values: 'complete'
, 'error'
Contains the status of the plugin. If the plugin has completed successfully, the 'complete'
value should be used. If an error was encountered during plugin execution, the 'error'
value should be used.
message
Type: String
Contains any additional information regarding the status of the plugin. If the plugin executed successfully, this property could include information about what the plugin accomplished. If the plugin encountered an error, this property could include error details.
fs-extra
adds file system methods including ones that are not in the native fs
module
path a module that provides utilities for working with file and directory paths
globby a promised-based module that matches files using patterns