3.6.1 • Published 9 years ago

crossbow-cli v3.6.1

Weekly downloads
5
License
ISC
Repository
github
Last release
9 years ago

Build Status

Crossbow CLI

Combining the best bits of npm scripts, shell commands, gulp/grunt plugins + more

Example: Crossbow allows mix'n'match of various systems, the following examples show this. In this example, we want to wipe a directory, rebuild some HTML and then minify the entire directory

  • clean a dir with a shell command
  • run a gulp plugin
  • run an npm script

crossbow.yaml

tasks:
  build:
    - clean
    - crossbow
    - htmlmin
  clean: '@shell rm -rf ./public'
  htmlmin: >
    @npm html-minifier
    --input-dir dist
    --output-dir dist
    --collapse-whitespace

Both clean and htmlmin are just scripts, where crossbow points to a file in the tasks directory.

var vfs = require('vinyl-fs');
var crossbow = require('crossbow');

module.exports = function (options) {
    return vfs.src(options.input)
        .pipe(crossbow.stream({
            config: options.config,
            data: options.data
        }))
        .pipe(vfs.dest(options.output));
};

run

crossbow run build

Advanced file-watching system

short-hand example

watch:
  # default is the name of the watcher group
  default:
    # patterns are colon separated keys
    # tasks are any valid Crossbow tasks
    './scss:_scss': ['sass', 'cssmin']
	'/src/*.hbs': ['@shell rm -rf dist', 'handlebars', 'htmlmin', 'manifest:dev']

long-form example

watch:
  default:
    # you can define watchers like this if 
    # you prefer for readability
    watchers:
	  - patterns: ['./scss']
	    tasks:    ['sass', 'cssmin']
	  - patterns: ['/src/*.hbs']
	    tasks:    ['handlebars', 'htmlmin', 'manifest']

tasks: 
	# Configure tasks as above

short-hand example with options

watch:
  default:
    # `Options` can be set per-watcher.
    # This is especially useful when some types of
    # files need debouncing, but others do not
    options:
      debounce: 2000
      usePolling: true
    # Short-hand syntax is also fine here
    './scss': ['sass', 'cssmin']
	'/src/*.hbs': ['handlebars', 'htmlmin', 'manifest']

short-hand example with options + before tasks

watch:
  default:
    options:
      debounce: 2000
      usePolling: true
    # Giving multiple 'before' tasks will ensure
    # that all are run + completed before any watchers 
    # begin. They can be task names, shell scripts, js files etc
    before:
  	  - '@shell rm -rf dist'
  	  - '@npm browser-sync start -s'
    './scss': ['sass', 'cssmin']
	'/src/*.hbs': ['handlebars', 'htmlmin', 'manifest']
3.6.1

9 years ago

3.6.0

9 years ago

3.5.1

9 years ago

3.5.0

9 years ago

3.4.0

9 years ago

3.3.0

9 years ago

3.2.2

9 years ago

3.2.1

9 years ago

3.2.0

9 years ago

3.1.0

9 years ago

3.0.22

9 years ago

3.0.19

9 years ago

3.0.18

9 years ago

3.0.17

9 years ago

3.0.16

9 years ago

3.0.15

9 years ago

3.0.14

9 years ago

3.0.13

9 years ago

3.0.12

9 years ago

3.0.11

9 years ago

3.0.10

9 years ago

3.0.9

9 years ago

3.0.8

9 years ago

3.0.7

9 years ago

3.0.6

9 years ago

3.0.5

9 years ago

3.0.4

9 years ago

3.0.3

9 years ago

3.0.2

9 years ago

3.0.1

9 years ago

3.0.0

9 years ago

2.3.0

9 years ago

2.2.0

9 years ago

2.1.3

10 years ago

2.1.2

10 years ago

2.1.1

10 years ago

2.1.0

10 years ago

2.0.9

10 years ago

2.0.8

10 years ago

2.0.7

10 years ago

2.0.6

10 years ago

2.0.5

10 years ago

2.0.4

10 years ago

2.0.3

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.1.11

10 years ago

1.1.10

10 years ago

1.1.9

10 years ago

1.1.8

10 years ago

1.1.7

10 years ago

1.1.6

10 years ago

1.1.5

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago