yomoyo icon indicating copy to clipboard operation
yomoyo copied to clipboard

[TypeScript] Некорректные рекомендации по настройке конфигов

Open chemist-als opened this issue 2 years ago • 0 comments

Укажите в заголовке на каком курсе нашли проблему. Например: [HTML1] Ошибка в макете Девайс

Ссылка https://up.htmlacademy.ru/typescript/1/tasks/1

Проблема, вопрос, предложение В блоке Модульное тестирование написано

Измените настройку вашего проекта так, чтобы nodejs использовал ES-модули. Вы указываете тип проекта в файле package.json добавлением на верхнем уровне ключа type со значением module. Сразу исправьте ключ scripts/test и добавьте привычный script/start.

Если указать этот ключ, тесты падают с ошибкой

ReferenceError: exports is not defined in ES module scope
    at typescript/src/main.test.ts:64:23
    at ModuleJob.run (node:internal/modules/esm/module_job:198:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:385:24)
    at async importModuleDynamicallyWrapper (node:internal/vm/module:437:15)
    at async formattedImport (typescript/node_modules/mocha/lib/nodejs/esm-utils.js:7:14)
    at async Object.exports.requireOrImport (typescript/node_modules/mocha/lib/nodejs/esm-utils.js:38:28)
    at async Object.exports.loadFilesAsync (typescript/node_modules/mocha/lib/nodejs/esm-utils.js:91:20)
    at async singleRun (typescript/node_modules/mocha/lib/cli/run-helpers.js:125:3)
    at async Object.exports.handler (typescript/node_modules/mocha/lib/cli/run.js:370:5)

Возможное решение Убрать предложение по добавлению ключа type со значением module, тем более, что в вашем собственном шаблонном репозитории этого ключа нет https://github.com/htmlacademy/typescript-source/blob/main/ts-project-template/ts-template-master/package.json

chemist-als avatar Sep 16 '22 13:09 chemist-als