169 похожих чатов

Какие самые оптимальные сейчас настройки в tsconfig ? Я просто

только начал и много проектов Js хочу на Ts переписать

15 ответов

18 просмотров

Всё зависит от самого проекта. В разных случаях нужны разные настройки.

если хочешь безопасно strict: true, noUncheckedIndexedAccess: true это основное

Не знаю как там у кого, тоже посмотрел бы, но я себе использую такую конфигурацию: { "compilerOptions": { "moduleResolution": "node", "target": "ES2015", "module": "ES2015", "lib": ["ES2015", "DOM"], "outDir": "dist", "strict": true, "declaration": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true }, "exclude": ["**/*.test.ts"] }

Еще кстати я иногда использую paths опцию в tsconfig, намного красивше становятся import’ы: "compilerOptions": { "paths": { "@root/*": ["./src/*"], "@api/*": ["./src/api/*"], "@process/*": ["./src/process/*"], "@util/*": ["./src/utils/*"] } }

Adv0cat
Еще кстати я иногда использую paths опцию в tsconf...

а не проще "paths": { "@*": ["./src/*"] } написать чем все папки хардкодить?

Евгений
а не проще "paths": { "@*": ["./src/*"] } написа...

Если у вас переименований самих путей нет - тогда проще)) у меня обычно иначе, плюс есть разные вложенности 😉

Adv0cat
Если у вас переименований самих путей нет - тогда ...

можно с помощью иде одной командой все отрефачить

Max Volkov
можно с помощью иде одной командой все отрефачить

я имею ввиду что у меня есть например такие пути: “@short/*”: ["./src/something-long-naming/*”], “@folder/*”: ["./src/path/to/my/folder*”], И тогда уже просто "@*": ["./src/*"] не подойдет, потому что какой-нибудь джун умудрится сделать @something-long-naming/ или @path/to/my/folder

Adv0cat
я имею ввиду что у меня есть например такие пути: ...

мне страшно за новых сотрудников которым придется в этом аду путей разбираться

Для этого есть IDE нажимаешь на импорт, переходишь к файлику, а дальше есть кнопочка в IDE которая откроет открытый файл в дереве проекта 😉 Конкретно в WebStorm вот эта кнопочка

По-моему вы не правильно поняли смысл текста, представили свою боль и теперь сарказмом пытаетесь ее высказать)) Я имел ввиду не то, что пути меняются и переименовываются, а то что для удобства длинный путь 1 раз при создании ставиться в короткий, чтобы не было длиного импорта. Т.е. как простой пример, "@socket/*": ["./src/web-socket/*”]

Adv0cat
По-моему вы не правильно поняли смысл текста, пред...

да тоже если вернуться к вопросу про импорт, все эти штуки уже автоматом подтягиваются да, кажется не такая большая боль

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта