Как проверить, нашел ли gulp-concat какой-либо файл в исходной папке, и если нет, доставить файл по умолчанию
Я использую gulp-concat
объединить набор файлов объявлений Typescript (d.ts
) из папки, в один файл декларации (index.d.ts
) в другую папку.
Случай:
- SourceFolder: может содержать ноль или более файлов объявлений TS
- DestinationFolder: должен содержать один
index.d.ts
файл
Вот задание gulp, которое выполняет конкатенацию:
gulp.task('concatCSharpModels', ['cleanCSharpModelsDest'], function () {
return gulp.src(paths.modelsSrc)
.pipe(concat('index.d.ts', { newLine: '\r\n' }))
.pipe(gulp.dest(paths.modelsDest));
});
Проблема в том, что папка назначения объявлена внутри tsconfig.json
файл как "types"
папка, поэтому, когда исходная папка не содержит никакого файла, папка назначения остается без какого-либо файла, и компилятор TS выдает следующую ошибку:
Не удается найти файл определения типа для 'cSharpModles'
Здесь tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"sourceMap": true,
"typeRoots": [
"./node_modules/@types",
"./appTypings"
],
"types": [
...
"cSharpModels",
...
],
"lib": [ "dom", "es2015.promise", "es5" ]
},
"include": [
"./src/**/*.ts"
],
"exclude": [
"node_modules",
"appTypings"
]
}
Есть ли способ сказать глотку, чтобы произвести пустой index.d.ts
файл, если он не находит файл для конкататации в исходной папке?