Skip to content

deg-skeletor/skeletor-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skeletor!

Run Tests

Skeletor is a simple task runner for automating common development chores. It has a growing ecosystem of plugins to handle a wide variety of tasks.

Skeletor is built and looked after by the front-end web development team at DEG.

Installation

Skeletor can be installed via npm:

npm install @deg-skeletor/core

Nice job! Next, you'll want to install some plugins.

Plugin Ecosystem

At its core, Skeletor is just a delegator. Plugins do the real work.

A typical Skeletor plugin does one thing and one thing well. That one thing could be anything. There are plugins for file copying, PostCSS, Pattern Lab, Express, Rollup, and more. Go on, have a look.

Configuration

Skeletor needs a configuration object to tell it what tasks to run and what those tasks are comprised of. A sample configuration object might look like the following:

{
    tasks: [
        {
            /* a task to build all the code in a project */
            name: 'build',
            subTasks: [
                {
                    /* a sub-task to build the CSS code */
                    name: 'css', 
                    plugins: [
                        {
                            /* a plugin to process CSS via PostCSS */
                            name: '@deg-skeletor/plugin-postcss',
                            config: {
                                //Plugin-specific config
                            }
                        }
                    ]
                },
                {
                    /* a sub-task to build static files */
                    name: 'static',
                    plugins: [
                        {
                            /* a plugin to copy static files from one directory to another */
                            name: '@deg-skeletor/plugin-copy',
                            config: {
                                //Plugin-specific config
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

A Skeletor configuration object consists of an array of tasks. A task consists of either plugins or subTasks. A subTask is itself a task with its own plugins or subTasks properties.

By default, Skeletor will look for a configuration file named skeletor.config.js relative to the working directory. Alternatively, a configuration object can be passed directly to Skeletor. See the API section for more details.

CLI

Included within the Skeletor ecosystem is a command line interface for interacting with Skeletor via a terminal. Visit the Skeletor CLI project for more information.

API

Skeletor exposes a compact API for programmatic interaction.

getConfig()

Returns the configuration object.

setConfig()

Sets the configuration object.

setLogger()

Sets the logger for outputting information, warnings, and errors. A simple console logger is used by default.

runTask(taskName, [options])

Runs the specified task.

About

The core engine for the Skeletor family of build tools

Resources

Stars

Watchers

Forks

Packages

No packages published