1 |
|
2 | 'use strict';
|
3 | var gulp = require('gulp');
|
4 | var rename = require('gulp-rename');
|
5 | const debug = require("../log/compile");
|
6 | const size = require('../log/size');
|
7 | var err = require('../log/error');
|
8 | var multiReplace = require('../lib/multi-replace');
|
9 | const pkgVar = require('../lib/package-var');
|
10 | var jsonMini = require('../lib/json-mini');
|
11 |
|
12 | var TITLE = 'json';
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 | function replaceJson(config, jsonFile) {
|
19 | jsonFile = jsonFile || (config.src + '/**/*.{json,jsonc}');
|
20 | return gulp.src(jsonFile, { base: config.src, ignore: config.exclude })
|
21 | .pipe(debug({
|
22 | title: TITLE,
|
23 |
|
24 | distExt: '.json'
|
25 | }))
|
26 | .pipe(rename({ 'extname': '.json' }))
|
27 | .pipe(jsonMini(!config.production))
|
28 | .on('error', err(TITLE))
|
29 | .pipe(multiReplace(pkgVar(config.var), undefined, '{{', '}}'))
|
30 | .pipe(gulp.dest(config.dist))
|
31 | .pipe(size({ title: TITLE, showFiles: true, showTotal: true }))
|
32 | ;
|
33 | }
|
34 |
|
35 | module.exports = replaceJson;
|