SyntaxError: Cannot use import statement outside a module : jest + Angular

Discussão em 'Angular' iniciado por Shashank Vivek, Novembro 17, 2024.

  1. I am trying to run a jest test and I am getting

    D:\my-proj\node_modules\@angular\core\fesm2022\testing.mjs:7
    import { ɵDeferBlockState, ɵtriggerResourceLoading, ɵrenderDeferBlockState, ɵCONTAINER_HEADER_OFFSET, ɵgetDeferBlocks, InjectionToken, inject as inject$1, NgZone, ɵZoneAwareQueueingScheduler, getDebugNode, RendererFactory2, ɵstringify, ɵReflectionCapabilities, Directive, Component, Pipe, NgModule, ɵgetAsyncClassMetadataFn, ɵgenerateStandaloneInDeclarationsError, ɵDeferBlockBehavior, ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ɵdepsTracker, ɵgetInjectableDef, resolveForwardRef, ɵNG_COMP_DEF, ɵisComponentDefPendingResolution, ɵresolveComponentResources, ɵRender3NgModuleRef, ApplicationInitStatus, LOCALE_ID, ɵDEFAULT_LOCALE_ID, ɵsetLocaleId, ɵRender3ComponentFactory, ɵcompileComponent, ɵNG_DIR_DEF, ɵcompileDirective, ɵNG_PIPE_DEF, ɵcompilePipe, ɵNG_MOD_DEF, ɵtransitiveScopesFor, ɵpatchComponentDefWithScope, ɵNG_INJ_DEF, ɵcompileNgModuleDefs, ɵclearResolutionOfComponentResourcesQueue, ɵrestoreComponentResolutionQueue, provideZoneChangeDetection, Compiler, ɵDEFER_BLOCK_CONFIG, COMPILER_OPTIONS, Injector, ɵisEnvironmentProviders, ɵNgModuleFactory, ModuleWithComponentFactories, ɵconvertToBitFlags, InjectFlags, ɵsetAllowDuplicateNgModuleIdsForTest, ɵresetCompiledComponents, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, runInInjectionContext, EnvironmentInjector, ɵflushModuleScopingQueueAsMuchAsPossible } from '@angular/core';
    ^^^^^^

    SyntaxError: Cannot use import statement outside a module

    5 | },
    6 | };
    > 7 | import 'jest-preset-angular/setup-jest';
    | ^
    8 |

    at Runtime.createScriptFromCode (../../../../node_modules/jest-runtime/build/index.js:1505:14)
    at Object.<anonymous> (../../../../node_modules/jest-preset-angular/setup-jest.js:3:24)
    at Object.<anonymous> (src/test-setup.ts:7:1)


    Here is my jest.config.ts:

    /* eslint-disable */
    export default {
    displayName: 'xyz',
    preset: '../../../../jest.preset.js',
    setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
    coverageDirectory:
    '../../coverage/libs/xyz',
    transform: {
    '^.+\\.(ts|mjs|js|html)$': [
    'jest-preset-angular',
    {
    tsconfig: '<rootDir>/tsconfig.spec.json',
    stringifyContentPathRegex: '\\.(html|svg)$',
    },
    ],
    },
    transformIgnorePatterns: [
    'node_modules/(?!.*\\.mjs$)',
    'node_modules/(?!@angular|@ngx-translate/core|angular|@syncfusion|ngx-daterangepicker-material)',
    'node_modules/(?!ngx-daterangepicker-material)',
    'node_modules/(?!@angular)',
    ],
    snapshotSerializers: [
    'jest-preset-angular/build/serializers/no-ng-attributes',
    'jest-preset-angular/build/serializers/ng-snapshot',
    'jest-preset-angular/build/serializers/html-comment',
    ],
    testPathIgnorePatterns: ['<rootDir>/src/environments'],
    };



    From what I looked ideally below logic should take care of things


    transformIgnorePatterns: ['node_modules/(?!.*\.mjs$)']
    ​

    but it does not seem to work and I have been adding values like ngx-translate,syncfusion etc

    How to fix this error ?

    Continue reading...

Compartilhe esta Página