Я вошел в CircleCI с помощью "Debug через SSH". Я подтвердил, что эслинт висит. Тогда я понял, как получить больше информации отладки:
DEBUG=eslint:cli-engine eslint .
После долгого времени, узел фактически разбился:
<--- Last few GCs --->
345472 ms: Scavenge 1399.8 (1457.3) -> 1399.8 (1457.3) MB, 38.0/0 ms (+ 6.8 ms in 1 steps since last GC) [allocation failure] [incremental marking delaying mark-sweep].
348177 ms: Mark-sweep 1399.8 (1457.3) -> 1399.8 (1457.3) MB, 2705.8/0 ms (+ 8.7 ms in 2 steps since start of marking, biggest step 6.8 ms) [last resort gc].
350927 ms: Mark-sweep 1399.8 (1457.3) -> 1399.5 (1457.3) MB, 2749.7/0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0xd2a8c0b4629 <JS Object>
1: /* anonymous */ [/home/ubuntu/website-django/static/node_modules/babel-eslint/babylon-to-espree/toToken.js:~1] [pc=0x33a525e2adb9] (this=0x1e91da709851 <JS Global Object>,token=0x349f83a2fc01 <a Token with map 0x3b6a9d8c2e31>,tt=0x2c0cfbd85ee1 <an Object with map 0x3b6a9d898959>,source=0x3314aa504101 <Very long string[1177579]>)
2: toTokens [/home/ubuntu/website-django/static/node_mod...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
Aborted (core dumped)
Наконец, я понял, что он пытался нибудь вкусненькое мой каталог сборки, который содержал куча сторонних библиотек, включая Highchart, которые, как известно, вызывают проблемы с eslint, потому что они такие большие.
Я добавил это к моему .eslintignore:
build/**
Затем, проблема ушла.
Домашнее сообщение: убедитесь, что вы только нащупали то, что вам нужно, чтобы выловить.