ts-node - версия работает невероятно долго - PullRequest
0 голосов
/ 24 октября 2019

Время выполнения простого ts-node --version требует длительного времени

У меня есть новый виртуальный компьютер (xen, 20 ГБ ОЗУ, много свободного места) с сервером Ubuntu 18.04. узел / npm установлен через менеджер пакетов. К сожалению, выполнение простого ts-node --version требует очень длительного времени:

time ./node_modules/.bin/ts-node --version
ts-node v7.0.1
node v8.10.0
typescript v3.6.4
cache "/tmp/ts-node-94a6b447580330f9f2b609422537b04239ff3a39df9137e32efd559f1a2935cb/9d1b7d973ebcaeec54cd97f2de9eb4549430f03609c30b1504d897556bb2d5af"

real    2m44,511s
user    0m32,442s
sys     0m19,245s

Используя локальную виртуальную машину (Ubuntu 18.04, но виртуальный ящик и только 6 ГБ ОЗУ), тот же запрос требуется подвторое:

time ./node_modules/.bin/ts-node --version
ts-node v7.0.1
node v8.10.0
typescript v3.6.4
cache "/tmp/ts-node-1da900a950c0ee3f0f80ae0bb561a80b80e89de692835d79984eb12d0a2f2a44/ca51062b04b699dcb91ec472983c8d598ee9fb43791553c229cba71256858f5a"

real    0m0,918s
user    0m0,840s
sys     0m0,083s

./node_modules/.bin/ts-node --help действительно быстро.

Если я загляну в ./node_modules/.bin/ts-node (ссылка на ../ts-node/dist/bin.js), проблема заключается в следующей процедуре:

var service = index_1.register({
    files: argv.files,
    pretty: argv.pretty,
    typeCheck: argv.typeCheck,
    transpileOnly: argv.transpileOnly,
    cache: argv.cache,
    cacheDirectory: argv.cacheDirectory,
    ignore: argv.ignore,
    project: argv.project,
    skipIgnore: argv.skipIgnore,
    skipProject: argv.skipProject,
    compiler: argv.compiler,
    ignoreDiagnostics: argv.ignoreDiagnostics,
    compilerOptions: index_1.parse(argv.compilerOptions) || index_1.DEFAULTS.com
pilerOptions,
    readFile: isEval ? readFileEval : undefined,
    fileExists: isEval ? fileExistsEval : undefined
});

Я использую следующий tsconfig.json:

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es6",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "esModuleInterop": true
  },
  "exclude": ["node_modules"]
}

fresh npm install

Версии:

node --version
v8.10.0

npm --version
3.5.2

Возможно, у кого-то есть идея ...

1 Ответ

0 голосов
/ 25 октября 2019

только что нашел причину этого странного поведения: каталог проекта содержал ссылку на огромный каталог изображений с более чем 100k + файлами изображений. Если я удалю ссылку, все будет работать как положено.

Спасибо!

...