Вавилон не трансформирует импорт, чтобы потребоваться для испытаний на шуткуJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Вавилон не трансформирует импорт, чтобы потребоваться для испытаний на шутку

Сообщение Anonymous »

Я часто видел этот вопрос на GitHub и StackOverflow, но, используя все ответы, которые я нашел, ни один из них не сработал. Кажется, все настроено правильно. У меня есть MonorePo, в котором есть пакеты/пакет-a , пакеты/package-b и т. Д. В каталоге пакета a у меня есть команда тестирования Jest в сценариях » ":" Jest ". Который я запускаю так: NPM Run Test -W -Wackages/Package -A . Когда он запускается, я получаю следующие данные ошибки: < /p>

Код: Выделить всё

Details:

node_modules/components/src/ui/label.js:2
import { jsx as _jsx } from "react/jsx-runtime";

SyntaxError: Cannot use import statement outside a module

> 1 | import { Label } from '@/ui/label';
| ^
2 |
3 | export function HelloWorld() {
4 |   return (
< /code>
Полный компонент, на который он смотрит, выглядит так (src/hello-world.tsx
):

Код: Выделить всё

import { Label } from '@/ui/label';

export function HelloWorld() {
return (

Hello World

);
}
< /code>
Затем у меня есть настройка шутки, которая выглядит так (__tests__/hello-world.test.tsx
):

Код: Выделить всё

import { render } from '@testing-library/react';
import { HelloWorld } from '../src/hello-world';

describe('Renders the dashboard', () => {
it('Load Hello World Component', () => {
const { getByText } = render();
expect(getByText('Hello World')).toBeInTheDocument();
});
});
У меня есть две Jest Config, один в пакетах/Project-A , которые реэкспортируют базовую конфигурацию, найденную в корне. Базовая конфигурация выглядит так (минус вещи, которые не кажутся актуальными для проблемы): < /p>

Код: Выделить всё

import path from 'path';
const __dirname = new URL('.', import.meta.url).pathname;

export default {
moduleFileExtensions: ['tsx', 'ts', 'jsx', 'js', 'json', 'node'],
testMatch: ['/__test(s)?__/**/*.(spec|test).[jt]s?(x)'],
setupFilesAfterEnv: [path.join(__dirname, 'jest.setup.ts')],
rootDir: './',
testEnvironment: 'jsdom',
transform: {
'\\.[jt]sx?$': [
'babel-jest',
{
configFile: path.join(__dirname, 'babel.config.cjs'),
},
],
},
transformIgnorePatterns: [
'/node_modules/(?!next-auth|jose|@panva/hkdf|uuid|preact-render-to-string|preact)',
'^.+\\.module\\.(css|sass|scss)$',
],
};
В том же каталоге, что и корень, у меня есть базовый вабель.config.cjs , который устанавливает Babel. Конфигурация выглядит так (я попробовал как с плагином, так и без него:
Примечание: используется, как при изменении предустановки/плагина К тому, чего не существует, он бросает ошибку, говоря, что не может найти предустановку/плагин

Код: Выделить всё

module.exports = {
presets: [
// 'next/babel',
['@babel/preset-env', { targets: { node: 'current' } }],
'@babel/preset-react',
'@babel/preset-typescript',
],
// plugins: [],
plugins: ['@babel/plugin-transform-modules-commonjs'],
};
Итак, почему он не преобразует импорт в что -то, что работает с шутом?


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ModulenotFoundError: нет модуля с именем «Вавилон» после установки Babel
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • ModulenotFoundError: нет модуля с именем «Вавилон» после установки Babel
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Запустить обратный вызов jquery с помощью селекторов в шутку
    Anonymous » » в форуме Jquery
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как в шутку проверить значащие значения вместо десятичных дробей?
    Anonymous » » в форуме Javascript
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как издеваться над конструктором Datatransfer в шутку?
    Anonymous » » в форуме Javascript
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

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