`import.meta.dirname` и` import.meta.filename` ‘не определены 'при использовании` ts-jest` [закрыто]Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 `import.meta.dirname` и` import.meta.filename` ‘не определены 'при использовании` ts-jest` [закрыто]

Сообщение Anonymous »

Я пытаюсь переместить проект Typescript от CJS в ESM и, наряду с этим, наши тесты. Они используют ts-r-hest для запуска и используются для использования __dirname и __filename , но в соответствии с изменением на ESM я изменил их на использование import.meta.dirname и import.meta.filename . Неопределенный . Я проверил, а import.meta.url определяется, но это означало бы, что я должен был использовать FileUrltopath (новый URL (".", Import.Meta.url)) везде, чтобы получить __dirname . Я также проверил это в примерах папке официального репозитория TS-jest , и она также не определена или доступна при запуске с «модулем»: «Nodenext» .tsconfig.json
{
"compilerOptions": {
"module": "nodenext",
"moduleResolution": "nodenext",
"target": "esnext",
"isolatedModules": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
},
}
< /code>
jest.config.ts
import type { Config } from 'jest';

export default {
extensionsToTreatAsEsm: ['.ts', '.tsx', '.mts'],
testRegex: '.*\.spec\.ts',
transform: {
'^.+\\.m?tsx?$': [
'ts-jest',
{
tsconfig: './tsconfig.json',
useESM: true,
},
],
},
testEnvironment: 'node',
rootDir: '.',
} satisfies Config;
< /code>
package.json
{
"name": "project",
"private": true,
"type": "module",
"devDependencies": {
"@jest/globals": "^29.7.0",
"@types/jest": "29.5.14",
"@types/node": "22.10.10",
"typescript": "5.7.3"
},
"dependencies": {
"jest": "^29.0.0",
"ts-jest": "^29.3.3",
"ts-node": "^10.9.2"
}
}
< /code>
location.ts
export const getPath = () => {
return import.meta.dirname;
};


Подробнее здесь: https://stackoverflow.com/questions/796 ... n-using-ts
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему VITE использует DirName (FileUrltoPath (import.meta.url))?
    Гость » » в форуме Javascript
    0 Ответы
    5 Просмотры
    Последнее сообщение Гость
  • Настройка Jest с помощью React Native не может использовать оператор Import за пределами модуля
    Anonymous » » в форуме Javascript
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Что делают F, Dirpath, Dirname и FileNames конкретно в этом коде? Попытка учиться [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Какой подсказка для правильного типа для `os.path.dirname`? [дублировать]
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Что делают F, Dirpath, Dirname и FileNames конкретно в этом коде? Пытаясь учиться
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»