Global

Methods

findBinary(name, callback) → {void}

Source:

Finds the path to a project level binary, creates a NativeProcess for that binary, caches it for all subsequent invocations, and provides it to the callback.

Example
import {findBinary, logError} from 'webcompiler';
// or - import {findBinary} from 'webcompiler/lib/findBinary';
// or - var findBinary = require('webcompiler').findBinary;
// or - var findBinary = require('webcompiler/lib/findBinary').findBinary;
import {logError} from 'webcompiler';

findBinary('something', (error, binary) => {
  if (error) {
    return logError(error);
  }
  binary.run(() => {
    // called the `something` binary from the local project level "node_modules/.bin" directory
  });
});
Parameters:
Name Type Description
name string

the binary name

callback ResultOrErrorCallback

a callback function

Returns:
Type
void

livereload() → {LiveReloadTrigger}

Source:

Starts a LiveReload server and returns a function that triggers the reload.

Examples
<link rel="stylesheet" href="css/style.css">
import {livereload} from 'webcompiler';
// or - import {livereload} from 'webcompiler/lib/livereload';
// or - var livereload = require('webcompiler').livereload;
// or - var livereload = require('webcompiler/lib/livereload').livereload;

// initialize the server
const lr = livereload();

// only reload the styles
lr('css/style.css');

// refresh the whole page
lr('*');
// or simply
lr();
Returns:

the trigger function

Type
LiveReloadTrigger

watch(dir, type, callback)

Source:
See:

Using the Facebook Watchman, watches the directory dir for changes of files with extension type and runs callback when a change is detected.

This watcher's only goal is performance, hence the simplicity.

Example
import {watch} from 'webcompiler';
// or - import {watch} from 'webcompiler/lib/watch';
// or - var watch = require('webcompiler').watch;
// or - var watch = require('webcompiler/lib/watch').watch;
import {join} from 'path';

watch(join(__dirname, 'src'), 'js', someFunction);
Parameters:
Name Type Description
dir string

a full system path to a directory to watch

type string

a file extension

callback WatchCallback

a callback function

yaml(filename, callback)

Source:

Read the contents of a YAML file

Example
import {yaml} from 'webcompiler';
// or - import {yaml} from 'webcompiler/lib/yaml';
// or - var yaml = require('webcompiler').yaml;
// or - var yaml = require('webcompiler/lib/yaml').yaml;
import {join} from 'path';
import {logError} from 'webcompiler';

yaml(join(__dirname, 'config', 'config.yaml'), (error, data) => {
  if (error) {
    return logError(error);
  }
  // the parsed config object
});
Parameters:
Name Type Description
filename string

the full system path to a YAML file

callback ObjectOrErrorCallback

a callback function

Type Definitions

CompilerConfig

Source:
Properties:
Name Type Attributes Description
compress boolean <optional>

if true Compiler#save will gzip compress the data (defaults to true in a production mode)

Base compiler configuration object

Type:
  • Object

ConsoleStyleConfig

Source:
Properties:
Name Type Description
ansi Array.<string>

ansi start and end codes

css string

css styles

A configuration object that describes a console output style.

Type:
  • Object

DevServerConfig

Source:
Properties:
Name Type Attributes Default Description
style string <optional>

a full system path to a SASS file

port number <optional>
3000

a port at which to start the dev server

react boolean <optional>
true

false to disable the react hot loader plugin

contentBase string <optional>
CWD

a full system path to the server web root

configureApplication ExpressApplicationCallback <optional>

gives you a chance to configure the underlying Express application after the static root has been configured, but before the "catch all" route (sends the HTML layout) is defined

DevServer configuration object

Type:
  • Object

DocumentationConfig

Source:
Properties:
Name Type Attributes Default Description
inputDir string <optional>
"src"

the input application code directory

outputDir string <optional>
"docs"

the output directory for the generated documentation

readMe string <optional>
"README.md"

the documentation "homepage" (README.md file)

template string <optional>
"node_modules/ink-docstrap/template"

a full system path to a valid JSDoc3 template directory

jsdocConfig string <optional>
"<webcompiler root>/config/jsdoc.json"

a full system path to a JSDoc3 configuration file

Documentation generator configuration object

Type:
  • Object

ExpressApplicationCallback(app)

Source:
Parameters:
Name Type Description
app external:ExpressApplication

Express application

JSCompilerConfig

Source:
Properties:
Name Type Attributes Default Description
compress boolean <optional>

if true Compiler#save will gzip compress the data (defaults to true in a production mode)

library string <optional>

serves the same purpose as the option with the same name in webpack

libraryTarget string <optional>
"var"

serves the same purpose as the option with the same name in webpack

Base compiler configuration object

Type:
  • Object

LintCallback(errorsopt)

Source:
Parameters:
Name Type Attributes Description
errors Array.<LintError> <optional>

a collection of error objects

LintError

Source:
Properties:
Name Type Attributes Description
file string

the path to a file

line number

the offending line number

column number

the offending column number

message string

the error message

rule string <optional>

the name of the rule that triggered the error

A generic linting error object

Type:
  • Object

LiveReloadTrigger(fileopt)

Source:
Parameters:
Name Type Attributes Default Description
file string <optional>
"*"

a file to reload (same path as written in the HTML document that includes it) or "*" for a full page refresh

NodeSassError

Source:
Properties:
Name Type Description
file string

the path to a file

line number

the offending line number

column number

the offending column number

message string

the error message

A Node SASS error object.

Type:
  • Object

ObjectOrErrorCallback(erroropt, result)

Source:
Parameters:
Name Type Attributes Description
error Error <optional>

an error object

result Object

the resulting object

PostCSSWarning

Source:
Properties:
Name Type Description
column number

the offending column number

line number

the offending line number

plugin string

the name of the plugin that triggered the warning

text string

the warning message

node Object

the offending node description

A PostCSS warning object.

Type:
  • Object

ProgramData

Source:
Properties:
Name Type Description
code string

program code

map string

source map json string

Processed application code with source maps

Type:
  • Object

ProgramDataCallback(data)

Source:
Parameters:
Name Type Description
data ProgramData

the program data

ResultOrErrorCallback(erroropt, result)

Source:
Parameters:
Name Type Attributes Description
error Error <optional>

an error object

result *

the resulting value

SASSCompilerConfig

Source:
Properties:
Name Type Attributes Default Description
compress boolean <optional>

if true Compiler#save will gzip compress the data (defaults to true in a production mode)

includePaths Array.<string> <optional>
[]

add additional include paths (by default includes 'node_modules/bootstrap-sass/assets/stylesheets', 'node_modules/font-awesome/scss', 'node_modules' and 'node_modules/bootswatch')

importOnce Object <optional>
{index: true, css: false, bower: false}

import once plugin options

Base compiler configuration object

Type:
  • Object

StringOrErrorCallback(erroropt, result)

Source:
Parameters:
Name Type Attributes Description
error Error <optional>

an error object

result string

the resulting string

WatchCallback(response)

Source:
Parameters:
Name Type Description
response WatchmanResponse

a watchman response object

WatchmanFile

Source:
Properties:
Name Type Description
name string

the relative path to a file

size number

file size in bytes

exists boolean

true if the file exists

type string

e.g. "f"

Describes a file a change in which was caught.

Type:
  • Object

WatchmanResponse

Source:
Properties:
Name Type Description
root string

the path to the directory being watched

subscription string

random subscription name

files Array.<WatchmanFile>

an array of file descriptions

A watchman response object.

Type:
  • Object