Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Ошибка при автоматическом исправление ошибок в lint angular7 (https://javascript.ru/forum/angular/77224-oshibka-pri-avtomaticheskom-ispravlenie-oshibok-v-lint-angular7.html)

antt 08.04.2019 04:20

Ошибка при автоматическом исправление ошибок в lint angular7
 
Мне надо исправить ошибки в коде мого проэкта созданого с помощью последней версии angular cli 7.
Поcле запуска команды: npm run lint -
в терминале появляется много ошибок - преимущественно касательно
missing whitespaces, необходимости использование const вместо let, необходимости скобок в if-block, trailing spaces??
Лог в конце, после конктретных ошибок:
Lint errors found in the listed files.
Linting "myproject-e2e"...
All files pass linting.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! myproject@0.0.0 lint: `ng lint`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the myproject@0.0.0 lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
....
Непонятно что за скрипт имеется ввиду? Но очевидно связан с моим проэктом.
Пытаюсь запустить команду -
npm run lint --fix - но результат тот же с ошибками и описанием в конце что и без опции --fix.
Если запустить npm run lint:fix --
npm ERR! missing script: lint:fix
Did you mean this?
lint
Но на другой машине одна из этих двух опций фикса работала?
Что может быть не настроено? Или не установлено? tslint.json на около 70 строк присутвует.

destus 08.04.2019 07:02

antt,
а если так?
npm run lint --fix --force
Да и не забывайте заглядывать в npm-debug.log, чтобы получить более детальную информацию об ошибках https://docs.npmjs.com/generating-an...ebug-log-files

antt 08.04.2019 18:25

Подошла команда ng lint myproject --fix,
и то после того как надоумила справка ng lint --help.
Хотя сперва я запустил в Visual Code - ng lint myproject0 --fix,
и после длительного времени линт все-таки исправил
ошибки в myproject, на которой находился терминал VS, а не myproject0 -
где находится аналогичная версия моего начального проэкта, хотя папки оригинала и копии находились на одном уровне в иерархии папок и файлов.
Исправилось наверное более 90 % стилистических ошибок - остались ошибки типа что строка представлена более "140" символами, что надо заменить != на !==.
После этого ng serve прошел, в тоже время как ng test -
обрушился на том что у меня в app.component.ts оказались две приватные переменные, которые стали недоступные в app.component.spec. Когда писал этот тестовый файл то этот вопрос тоже появлялся, но я кажется решил его без удаление приватности,
но выходит -- что-ли исправление линта в спек-файле теперь привели к явной ошибке??
Потому пришлось теперь удалить приватность в главном файле. И тест запустился.

destus 08.04.2019 19:29

antt,
все возможно, ведь эти утилиты пишут обычные люди, которым, как известно, свойствены ошибки

antt 08.04.2019 21:10

Еще одна деталь -
в отличие от команды npm run lint -
которая выдает вконце -
Linting "myproject-e2e"...
All files pass linting.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! myproject@0.0.0 lint: `ng lint`
npm ERR! Exit status 1
npm ERR!

ng lint не выдает такого резюме об ошибках, кроме
строки что ошибки присущи.
А также - в папке проекта, который отфильтрирован линт-ом,
нету информации об изменениях файлов, хотя таких абсолютное большинство - то есть указана старая дата изменения файлов (папок).

antt 08.04.2019 21:17

Тогда интересно как работает - команда ng lint projectname -
для другого, non-current project, который находится в отличной
папке (path) от курсора терминала.

antt 11.04.2019 02:54

Здесь малая поправка -
я запускал линт в копии оригинального проэкта --
потому ng lint myproject --fix
прошло, в то время когда ng lint myproject1 --fix не запустилась -ибо не тот target -- только потом понял что первый вариант проходит
ибо myproject (что хранится в каком то конфиг.файле) это название и оригинала и копии проэкта,
в то время когда myproject1 - название папки копии проэкта, который я использовал. Хотя вызывал эту команду все-таки из папки (path) myproject1.


Часовой пояс GMT +3, время: 03:35.