1.0.3 • Published 2 years ago

@boehs/gulp-js-text-inject v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

gulp-js-text-inject

This is a small Gulp plugin for injecting text files right directly into your .js code as strings.

What is it

The simplest example. JS code:

var template = '@@import template.txt';
var fragment = '@@import src/fragments/fragment.html';
var jsonConfig = '@@import config.json';

...and Gulp task:

var gulp = require('gulp');
var inject = require('gulp-js-text-inject');

gulp.task('js', function() {
    return gulp.src('path/to/your/js/*.js')
        .pipe(inject({
            basepath: 'path/to/your/templates/'
        }))
        .pipe(gulp.dest('path/for/output'));
});

If we use this plugin, the resulting JS will be:

var template = 'Hello World!\n\nHow are you!';
var fragment = '<div>\n   <p>Hello World!</p>\n   <p>How are you!</p>\n</div>';
var template = '{\n   "config": true,\n   "moreConfig": false\n}';

Changing the import pattern

var myLog = Loader.load('myLog.log');

Config to match Loader.load:

var gulp = require('gulp');
var inject = require('gulp-js-html-inject');

gulp.task('js', function() {
    return gulp.src('path/to/your/js/*.js')
        .pipe(inject({
            basepath: 'path/to/your/js/',
            pattern: /Loader.load\(['"]([a-zA-Z0-9\-_.\\/]+)['"]\)/g
        }))
        .pipe(gulp.dest('path/for/output'));
});

Options

OptionTypeDefaultDetails
basepathstring""Base path to look up referenced templates from
patternRegExp/'@@import ([a-zA-Z0-9\-_.\\/]+)'/gPattern to match template references. Should have one capture group that will match template path
relativebooleanfalseResolve templates relative to the file being processed
debugbooleanfalseDisplays some information while working - processed files, found references, injection result