Socket
Book a DemoInstallSign in
Socket

gulp-rte

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gulp-rte

Better dest handling for Gulp.

latest
Source
npmnpm
Version
0.1.4
Version published
Maintainers
1
Created
Source

gulp-rte NPM version

Better dest handling for Gulp.

Install

Install with npm:

npm i gulp-rte --save-dev

How it works

Substitute prop-strings like :basename, :ext, :dirname or any random string that has a match on the context object.

The generated dest path will be appended to whatever is defined in gulp.dest().

For example:

gulp.src('*.js')
  .pipe(rte(':basename:ext'))
  .pipe(gulp.dest('blog'));

//=> blog/a.js, blog/b.js, blog/c.js...

Context

File paths are parsed to create the default context object, so any of the following will work:

Given the filepath a/b/c/d.js:

  • :dirname returns a/b/c
  • :basename returns d.js
  • :ext|:extname returns .js

Note that, continuing with this example, the path must actually have an extension for :ext to return an extension. If an extension doesn't actually exist on the filepath then ext itself will be returned. An easy way around this is to define ext as a custom property.

Custom properties

Pass custom properties as a second parameter (continuing with a/b/c/d.js):

rte(':alpha/:gamma:ext', {alpha: 'one', gamma: 'three'})
//=> one/three.js

rte(':alpha/:basename/:gamma:ext', {alpha: 'one', gamma: 'three'})
//=> one/d/three.js

Usage examples

Basic example

This is just a basic example of what rte can do:

var gulp = require('gulp');
var rte = require('gulp-rte');

// given you have:
// ['a/b/c/foo.js', 'a/b/c/bar.js', 'a/b/c/baz.js']

gulp.task('default', function() {
 return gulp.src('a/b/c/*.js')
    .pipe(rte(':basename.min:ext'))
    .pipe(gulp.dest('blog'));
});
//=> blog/foo.min.js
//=> blog/bar.min.js
//=> blog/baz.min.js

Random string

Add a radomized string to any point in a file path:

var context = {
  random: Math.random().toString(36).substr(2, 5);
};

gulp.task('default', function() {
 return gulp.src('a/b/c/*.js')
    .pipe(rte(':basename-:random.js', context))
    .pipe(gulp.dest('blog'));
});
//=> blog/foo-qi2os.js
//=> blog/bar-s5s7p.js
//=> blog/baz-bu96e.js

Any pattern can be used. For inspiration or examples, see:

Author

Jon Schlinkert

License

Copyright (c) 2014 Jon Schlinkert, contributors.
Released under the MIT license

This file was generated by verb-cli on June 28, 2014.

Keywords

dest

FAQs

Package last updated on 30 Jun 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts