Формулировка задачи

Написать на баше функцию, которая получает три аргумента: srcDir, destDir (абсолютные пути) и ext.


Скрипт в функции просматривает содержимое директории (и поддиректории) srcDir и копирует в точно такие же директории (и поддиректории) destDir, применимо только к файлам конкретного расширения ext.

Google search: bash copy by extension preserving directory structure...

#!/bin/bash

# quaint_copy копирует файлы определённого расширения $3 из каталога $1 в
# каталог $2

quaint_copy(){
  srcDir=$1
  destDir=$2
  ext=$3
  
  rsync -r -f '+ *.'"$ext" -f '+ **/' -f '- *' --prune-empty-dirs $srcDir $destDir
}

quaint_copy $1 $2 $3

Проблема

Подскажите по настройке tsconfig.json. Как переместить .yaml файлы вместе с компилируемыми файлами .ts -> .js? TS, естесственно, их игнорит.

Файлы читаются в коде в момент срабатывания express middleware, но не учавствуют в транспайлинге тайпскриптом:

// Код до переписывания на ts:

const express = require('express')
const path = require('path')

const swagger = express()
const swaggerUi = require('swagger-ui-express')
const YAML = require('yamljs')

swagger.use(
  '/',
  function (req, _res, next) {
    req.swaggerDoc = YAML.load(path.join(__dirname, './swagger.yaml'))
    next()
  },
  swaggerUi.serve,
  swaggerUi.setup()
)

module.exports = swagger

See also: https://www.cyberciti.biz/faq/copy-command/