wallabyjs / public

Repository for Wallaby.js questions and issues
http://wallabyjs.com
758 stars 45 forks source link

Get "Cannot use import statement outside a module​​" error in angular/jest project #3009

Closed jzaburunov closed 2 years ago

jzaburunov commented 2 years ago

Issue description or question

Despite specifying ts compiler option, get "Cannot use import statement outside a module​​" error

Wallaby diagnostics report

{
  editorVersion: '1.67.2',
  pluginVersion: '1.0.338',
  editorType: 'VSCode',
  osVersion: 'darwin 21.5.0',
  nodeVersion: 'v18.2.0',
  coreVersion: '1.0.1278',
  checksum: 'YzJmYmM1ZmQ5YjMwOGZjNTQ2ZTZlZWZjNWU5ODAzNGMsMTY3MDM3MTIwMDAwMCww',
  config: {
    files: [
      { pattern: 'src/app/**/*.+(ts|html|json|snap|css|less|sass|scss|jpg|jpeg|gif|png|svg|js)', ignore: false, trigger: true, load: true, instrument: true, order: 1 },
      { pattern: 'src/jestGlobalMocks.ts', ignore: false, trigger: true, load: true, instrument: true, order: 2 },
      { pattern: 'src/setupJest.ts', ignore: false, trigger: true, load: true, instrument: true, order: 3 },
      { pattern: 'tsconfig.json', ignore: false, trigger: true, load: true, instrument: true, order: 4 },
      { pattern: 'package.json', ignore: false, trigger: true, load: true, instrument: true, order: 5 },
      { pattern: 'src/app/**/*.spec.ts', ignore: true, trigger: true, load: true, instrument: true },
      { pattern: 'src/**/*.spec.ts.snap', ignore: false, instrument: false, trigger: true, load: true, order: 6 }
    ],
    tests: [ { pattern: 'src/**/*.spec.ts', ignore: false, trigger: true, load: true, test: true, order: 7 } ],
    env: { type: 'node', runner: 'node', params: { runner: '--experimental-vm-modules' }, viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
    compilers: { '**/*.html': [Function: **/*.html], '**/*.?(lit)coffee?(.md)': [Function (anonymous)] },
    preprocessors: { 'src/**/*.js': [ [Function: jestTransform], [Function (anonymous)] ], 'package.json': [Function (anonymous)] },
    testFramework: { version: 'jest@0.4.3', configurator: 'jest@0.4.3', reporter: 'jest@0.4.3', starter: 'jest@0.4.3' },
    diagnostics: {},
    filesWithNoCoverageCalculated: [],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    maxConsoleMessagesPerTest: 100,
    autoConsoleLog: true,
    delays: { run: 0, edit: 100, update: 0 },
    workers: { initial: 0, regular: 0, recycle: false },
    teardown: undefined,
    hints: {
      ignoreCoverage: '__REGEXP /ignore coverage|istanbul ignore/',
      ignoreCoverageForFile: '__REGEXP /ignore file coverage/',
      commentAutoLog: '?',
      testFileSelection: { include: '__REGEXP /file\\.only/', exclude: '__REGEXP /file\\.skip/' }
    },
    automaticTestFileSelection: true,
    runSelectedTestsOnly: false,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    loose: true,
    configCode: 'module.exports = function (wallaby) {\n' +
      '\n' +
      "  const jestTransform = file => require('jest-preset-angular/preprocessor').process(file.content, file.path, {\n" +
      '    globals: {__TRANSFORM_HTML__: true}, rootDir: __dirname\n' +
      '  });\n' +
      '\n' +
      '  return {\n' +
      '    files: [\n' +
      "      'src/app/**/*.+(ts|html|json|snap|css|less|sass|scss|jpg|jpeg|gif|png|svg|js)',\n" +
      "      'src/jestGlobalMocks.ts',\n" +
      "      'src/setupJest.ts',\n" +
      "      'tsconfig.json',\n" +
      "      'package.json',\n" +
      "      '!src/app/**/*.spec.ts',\n" +
      '    ],\n' +
      '\n' +
      "    tests: ['src/**/*.spec.ts'],\n" +
      '\n' +
      '    env: {\n' +
      "      type: 'node',\n" +
      "      runner: 'node',\n" +
      '      params: {\n' +
      "        runner: '--experimental-vm-modules'\n" +
      '      }\n' +
      '    },\n' +
      '\n' +
      '    compilers: {\n' +
      "      '**/*.html': file => ({code: jestTransform(file), map: {version: 3, sources: [], names: [], mappings: []}, ranges: []})\n" +
      '    },\n' +
      '\n' +
      '    preprocessors: {\n' +
      "      'src/**/*.js': [\n" +
      '        jestTransform,\n' +
      "        (file) => require('babel-core').transform(file.content, {\n" +
      '          sourceMap: true,\n' +
      '          filename: file.path,\n' +
      "          presets: ['babel-preset-jest'] })\n" +
      '      ]\n' +
      '    },\n' +
      '\n' +
      "    testFramework: 'jest',\n" +
      '\n' +
      '    setup: wallaby => {\n' +
      "      const jestConfig = require('./package.json').jest;\n" +
      '      jestConfig.transform = {\n' +
      "        '^.+\\\\.(ts|js)$': '<rootDir>/node_modules/jest-preset-angular/preprocessor.js',\n" +
      '      };\n' +
      '      wallaby.testFramework.configure(jestConfig);\n' +
      '    }\n' +
      '  };\n' +
      '};\n'
  },
  packageJSON: {
    dependencies: {
      '@agm/core': '1.0.0-beta.7',
      '@angular-react/core': '1.0.1',
      '@angular/animations': '^7.2.15',
      '@angular/cdk': '^7.3.7',
      '@angular/common': '^7.2.15',
      '@angular/compiler': '^7.2.15',
      '@angular/core': '^7.2.15',
      '@angular/flex-layout': '2.0.0-beta.10',
      '@angular/forms': '^7.2.15',
      '@angular/http': '^7.2.15',
      '@angular/material': '^7.3.7',
      '@angular/platform-browser': '^7.2.15',
      '@angular/platform-browser-dynamic': '^7.2.15',
      '@angular/router': '^7.2.15',
// ... some private stuff
      '@microsoft/applicationinsights-web': '~2.5.10',
      '@ngrx/effects': '^7.4.0',
      '@ngrx/entity': '^7.4.0',
      '@ngrx/router-store': '^7.4.0',
      '@ngrx/schematics': '^7.4.0',
      '@ngrx/store': '^7.4.0',
      '@ngrx/store-devtools': '^7.4.0',
      '@ngx-translate/core': '^11.0.0',
      '@types/history': '4.7.2',
      '@types/react-loadable': '^5.5.4',
      '@types/react-router-dom': '4.3.1',
      '@types/react-select': '^3.0.26',
      '@types/uuid': '^3.4.9',
      '@webcomponents/custom-elements': '^1.4.3',
      '@webcomponents/webcomponentsjs': '^2.5.0',
      'babel-polyfill': '^6.26.0',
      'babel-preset-env': '^1.7.0',
      'base32.js': '^0.1.0',
      bootstrap: '^4.5.3',
      'circular-json': '^0.5.9',
      classnames: '^2.2.6',
      color: '^1.0.3',
      'composable-fetch': '^3.2.0',
      cookie: '^0.3.1',
      'core-decorators': '0.11.0',
      'core-js': '^2.6.9',
      cors: '^2.8.1',
      'cross-env': '^5.2.0',
      'es6-shim': '^0.35.6',
      exceljs: '^3.10.0',
      'file-saver': '^1.3.3',
      fuzzy: '^0.1.3',
      history: '4.7.2',
      immutable: '^3.8.1',
      'libphonenumber-js': '^1.9.4',
      'lodash.clonedeep': '^4.5.0',
      'lodash.get': '^4.4.2',
      'material-ui': '^0.20.2',
      mkdirp: '^0.5.5',
      moment: '^2.29.1',
      'moment-timezone': '^0.5.32',
      'ngrx-store-freeze': '^0.2.2',
      'node-releases': '^1.1.67',
      'node-sass': '^4.14.1',
      normalizr: '^3.6.1',
      'onion-form': '^0.4.0',
      'postcss-loader': '^2.0.6',
      'prop-types': '^15.6.1',
      qs: '^6.9.4',
      radium: '^0.24.0',
      'radium-flex': '2.1.0',
      ramda: '^0.25.0',
      react: '^16.14.0',
      'react-dom': '^16.14.0',
      'react-dropzone': '^4.2.8',
      'react-intl': '^2.8.0',
      'react-loadable': '^5.5.0',
      'react-modal': '^3.5.1',
      'react-redux': '^5.0.7',
      'react-router-dom': '4.3.1',
      'react-tabs': '^1.1.0',
      redux: '^4.0.0',
      'redux-devtools-extension': '^2.13.5',
      'redux-freeze': '^0.1.5',
      reselect: '^4.0.0',
      rxjs: '~6.3.3',
      'rxjs-compat': '~6.3.3',
      'rxjs-marbles': '^6.0.1',
      tslib: '^1.14.1',
      urijs: '^1.19.1',
      uuid: '^3.2.1',
      'web-animations-js': '^2.3.2',
      'whatwg-fetch': '^2.0.3',
      'zone.js': '~0.10.2'
    },
    devDependencies: {
      '@angular-devkit/build-angular': '^0.13.10',
      '@angular/cli': '~7.2.2',
      '@angular/compiler-cli': '^7.2.15',
      '@angular/language-service': '^7.2.15',
      '@types/file-saver': '^1.3.1',
      '@types/jest': '23.3.9',
      '@types/jquery': '^3.5.4',
      '@types/lodash.find': '^4.6.3',
      '@types/lodash.without': '^4.4.3',
      '@types/node': '~8.9.4',
      'babel-preset-stage-2': '^6.24.1',
      codelyzer: '~4.5.0',
      concurrently: '^4.1.1',
      cypress: '^3.4.1',
      'cypress-daywalker': '^0.2.0',
      'cypress-plugin-retries': '^1.2.2',
      husky: '^0.14.3',
      'istanbul-lib-coverage': '^2.0.5',
      'jasmine-marbles': '^0.6.0',
      jest: '23.6.0',
      'jest-preset-angular': '5.2.3',
      'ng2-mock-component': '^0.1.1',
      nyc: '^14.1.1',
      prettier: '^1.18.2',
      'pretty-quick': '^1.11.1',
      'start-server-and-test': '^1.11.5',
      'ts-node': '~7.0.0',
      tslint: '~5.11.0',
      'tslint-config-prettier': '~1.13.0',
      typedoc: '^0.15.0',
      typescript: '~3.2.2',
      'vcr.js-next': '^0.9.3'
    }
  },
  fs: { numberOfFiles: 3837 },
  debug: [
    `2022-06-09T13:59:58.696Z workers Sandbox (inactive) [0sy7x] error: stGlobalMocks';\\n/*\\n * Wallaby.js - v1.0.1278\\n * https://wallabyjs.com\\n * Copyright (c) 2014-2022 Wallaby.js - All Rights Reserved.\\n *\\n * This source code file is a part of Wallaby.js and is a proprietary (closed source) software.\\n\\n * IMPORTANT:\\n * Wallaby.js is a tool made by software developers for software developers with passion and love for what we do.\\n * Pirating the tool is not only illegal and just morally wrong,\\n * it is also unfair to other fellow programmers who are using it legally,\\n * and very harmful for the tool and its future.\\n */\\nvar tracer = global.$_$tracer;\\njasmine.ExceptionFormatter = function () { this.message = function (e) { return e ? e.name && e.message ? e.name + \\": \\" + e.message : e.toString() : \\"empty error\\"; }, this.stack = function (e) { return e ? e.stack : null; }; }, jasmine.SpyStrategy = function (e) { e = e || {}; var t = e.name || \\"unknown\\", i = e.fn || function () { }, r = e.getSpy || function () { }, n = function () { }; this.identity = function () { return t; }, this.exec = function () { return n.apply(this, arguments); }, this.callThrough = function () { return n = i, r(); }, this.returnValue = function (e) { return n = function () { return e; }, r(); }, this.returnValues = function () { var e = Array.prototype.slice.call(arguments); return n = function () { return e.shift(); }, r(); }, this.throwError = function (e) { return n = function () { throw e instanceof Error ? e : new Error(e); }, r(); }, this.callFake = function (e) { return n = e, r(); }, this.stub = function (e) { return n = function () { }, r(); }; };\\nvar jasmineEnv = jasmine.getEnv(), currentSuite = [], originalDescribe = jasmineEnv.describe;\\njasmineEnv.describe = function () { currentSuite.push(arguments[0]); var e = Function.prototype.apply.call(originalDescribe, this, arguments); return currentSuite.pop(), e; };\\nvar originalFDescribe = jasmineEnv.fdescribe;\\njasmineEnv.fdescribe = function () { currentSuite.push(arguments[0]); var e = Function.prototype.apply.call(originalFDescribe, this, arguments); return currentSuite.pop(), e; };\\nvar existingSpecFilter = jasmineEnv.specFilter.bind(jasmineEnv), originalIt = jasmineEnv.it, originalFit = jasmineEnv.fit, overrideTestExecutionFunction = function (e) { return function () { var t = arguments[1]; {\\n    if (\\"encountered a declaration exception\\" !== arguments[0]) {\\n        if (!t)\\n            return Function.prototype.apply.call(e, this, arguments);\\n        t.length ? arguments[1] = function (e) { tracer.specSyncStart(); try {\\n            var i = Function.prototype.apply.call(t, this, arguments);\\n        }\\n        finally {\\n            tracer.specSyncEnd();\\n        } return i; } : arguments[1] = function () { tracer.specSyncStart(); try {\\n            var e = Function.prototype.apply.call(t, this, arguments);\\n        }\\n        finally {\\n            tracer.specSyncEnd();\\n        } return e; };\\n        var i = Function.prototype.apply.call(e, this, arguments);\\n        i.result && (i.result._testFile = tracer.entryFile());\\n        var r = currentSuite.slice();\\n        return r.push(i.description), i.disabled = tracer.hasSpecFilter() && !tracer.specFilter(r) && existingSpecFilter(i.description), i;\\n    }\\n    try {\\n        t();\\n    }\\n    catch (n) {\\n        tracer.reportDeclarationError(n);\\n    }\\n} }; };\\nif (jasmineEnv.it = overrideTestExecutionFunction(originalIt), jasmineEnv.fit = overrideTestExecutionFunction(originalFit), global.it && global.it.todo) {\\n    var originalTodo_1 = global.it.todo;\\n    global.it.todo = function () { var e = Function.prototype.apply.call(originalTodo_1, this, arguments); e.result && (e.result._testFile = tracer.entryFile()); var t = currentSuite.slice(); return t.push(e.description), e.disabled = tracer.hasSpecFilter() && !tracer.specFilter(t) && existingSpecFilter(e.description), e; };\\n}\\nvar originalAfterEach = jasmineEnv.afterEach;\\njasmineEnv.afterEach = function () { if (tracer.needToNotifySingleTestRun()) {\\n    var e = arguments[0];\\n    e.length ? arguments[0] = function (t) { tracer.notifySingleTestAfterEach(function () { e(t); }); } : arguments[0] = function (t) { tracer.notifySingleTestAfterEach(function () { try {\\n        e();\\n    }\\n    finally {\\n        t();\\n    } }); };\\n} return Function.prototype.apply.call(originalAfterEach, this, arguments); }, jasmineEnv.addReporter(tracer._jasmineAdapter), jasmineEnv.specFilter = function () { return !0; };\\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBKZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2V0dXBKZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxtQkFBbUIsQ0FBQztBQUUzQjs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxJQUFJLE1BQU0sR0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0FBQUEsT0FBTyxDQUFDLGtCQUFrQixHQUFDLGNBQVcsSUFBSSxDQUFDLE9BQU8sR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksSUFBRSxDQUFDLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUEsQ0FBQyxDQUFBLGFBQWEsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsT0FBTyxDQUFDLFdBQVcsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLEdBQUMsQ0FBQyxJQUFFLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLElBQUUsU0FBUyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBRSxJQUFFLGNBQVcsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLGNBQVcsQ0FBQyxFQUFDLENBQUMsR0FBQyxjQUFXLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxRQUFRLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBQyxTQUFTLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsV0FBVyxHQUFDLGNBQVcsT0FBTyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsWUFBWSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxHQUFDLGNBQVcsTUFBTSxDQUFDLFlBQVksS0FBSyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLEdBQUMsY0FBVyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUM7QUFBQSxJQUFJLFVBQVUsR0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUMsWUFBWSxHQUFDLEVBQUUsRUFBQyxnQkFBZ0IsR0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO0FBQUEsVUFBVSxDQUFDLFFBQVEsR0FBQyxjQUFXLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUMsSUFBSSxFQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUEsT0FBTyxZQUFZLENBQUMsR0FBRyxFQUFFLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDO0FBQUEsSUFBSSxpQkFBaUIsR0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0FBQUEsVUFBVSxDQUFDLFNBQVMsR0FBQyxjQUFXLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUMsSUFBSSxFQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUEsT0FBTyxZQUFZLENBQUMsR0FBRyxFQUFFLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDO0FBQUEsSUFBSSxrQkFBa0IsR0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBQyxVQUFVLEdBQUMsVUFBVSxDQUFDLEVBQUUsRUFBQyxXQUFXLEdBQUMsVUFBVSxDQUFDLEdBQUcsRUFBQyw2QkFBNkIsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLGNBQVcsSUFBSSxDQUFDLEdBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFBQyxJQUFHLHFDQUFxQyxLQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQztRQUFDLElBQUcsQ0FBQyxDQUFDO1lBQUMsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxTQUFTLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxNQU\n`,
    `2022-06-09T13:59:58.699Z workers Sandbox (inactive) [os5xb] error: qIENvcHlyaWdodCAoYykgMjAxNC0yMDIyIFdhbGxhYnkuanMgLSBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgZmlsZSBpcyBhIHBhcnQgb2YgV2FsbGFieS5qcyBhbmQgaXMgYSBwcm9wcmlldGFyeSAoY2xvc2VkIHNvdXJjZSkgc29mdHdhcmUuXG5cbiAqIElNUE9SVEFOVDpcbiAqIFdhbGxhYnkuanMgaXMgYSB0b29sIG1hZGUgYnkgc29mdHdhcmUgZGV2ZWxvcGVycyBmb3Igc29mdHdhcmUgZGV2ZWxvcGVycyB3aXRoIHBhc3Npb24gYW5kIGxvdmUgZm9yIHdoYXQgd2UgZG8uXG4gKiBQaXJhdGluZyB0aGUgdG9vbCBpcyBub3Qgb25seSBpbGxlZ2FsIGFuZCBqdXN0IG1vcmFsbHkgd3JvbmcsXG4gKiBpdCBpcyBhbHNvIHVuZmFpciB0byBvdGhlciBmZWxsb3cgcHJvZ3JhbW1lcnMgd2hvIGFyZSB1c2luZyBpdCBsZWdhbGx5LFxuICogYW5kIHZlcnkgaGFybWZ1bCBmb3IgdGhlIHRvb2wgYW5kIGl0cyBmdXR1cmUuXG4gKi9cbnZhciB0cmFjZXI9Z2xvYmFsLiRfJHRyYWNlcjtqYXNtaW5lLkV4Y2VwdGlvbkZvcm1hdHRlcj1mdW5jdGlvbigpe3RoaXMubWVzc2FnZT1mdW5jdGlvbihlKXtyZXR1cm4gZT9lLm5hbWUmJmUubWVzc2FnZT9lLm5hbWUrXCI6IFwiK2UubWVzc2FnZTplLnRvU3RyaW5nKCk6XCJlbXB0eSBlcnJvclwifSx0aGlzLnN0YWNrPWZ1bmN0aW9uKGUpe3JldHVybiBlP2Uuc3RhY2s6bnVsbH19LGphc21pbmUuU3B5U3RyYXRlZ3k9ZnVuY3Rpb24oZSl7ZT1lfHx7fTt2YXIgdD1lLm5hbWV8fFwidW5rbm93blwiLGk9ZS5mbnx8ZnVuY3Rpb24oKXt9LHI9ZS5nZXRTcHl8fGZ1bmN0aW9uKCl7fSxuPWZ1bmN0aW9uKCl7fTt0aGlzLmlkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIHR9LHRoaXMuZXhlYz1mdW5jdGlvbigpe3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdGhpcy5jYWxsVGhyb3VnaD1mdW5jdGlvbigpe3JldHVybiBuPWkscigpfSx0aGlzLnJldHVyblZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBuPWZ1bmN0aW9uKCl7cmV0dXJuIGV9LHIoKX0sdGhpcy5yZXR1cm5WYWx1ZXM9ZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiBuPWZ1bmN0aW9uKCl7cmV0dXJuIGUuc2hpZnQoKX0scigpfSx0aGlzLnRocm93RXJyb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIG49ZnVuY3Rpb24oKXt0aHJvdyBlIGluc3RhbmNlb2YgRXJyb3I/ZTpuZXcgRXJyb3IoZSl9LHIoKX0sdGhpcy5jYWxsRmFrZT1mdW5jdGlvbihlKXtyZXR1cm4gbj1lLHIoKX0sdGhpcy5zdHViPWZ1bmN0aW9uKGUpe3JldHVybiBuPWZ1bmN0aW9uKCl7fSxyKCl9fTt2YXIgamFzbWluZUVudj1qYXNtaW5lLmdldEVudigpLGN1cnJlbnRTdWl0ZT1bXSxvcmlnaW5hbERlc2NyaWJlPWphc21pbmVFbnYuZGVzY3JpYmU7amFzbWluZUVudi5kZXNjcmliZT1mdW5jdGlvbigpe2N1cnJlbnRTdWl0ZS5wdXNoKGFyZ3VtZW50c1swXSk7dmFyIGU9RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwob3JpZ2luYWxEZXNjcmliZSx0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGN1cnJlbnRTdWl0ZS5wb3AoKSxlfTt2YXIgb3JpZ2luYWxGRGVzY3JpYmU9amFzbWluZUVudi5mZGVzY3JpYmU7amFzbWluZUVudi5mZGVzY3JpYmU9ZnVuY3Rpb24oKXtjdXJyZW50U3VpdGUucHVzaChhcmd1bWVudHNbMF0pO3ZhciBlPUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKG9yaWdpbmFsRkRlc2NyaWJlLHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gY3VycmVudFN1aXRlLnBvcCgpLGV9O3ZhciBleGlzdGluZ1NwZWNGaWx0ZXI9amFzbWluZUVudi5zcGVjRmlsdGVyLmJpbmQoamFzbWluZUVudiksb3JpZ2luYWxJdD1qYXNtaW5lRW52Lml0LG9yaWdpbmFsRml0PWphc21pbmVFbnYuZml0LG92ZXJyaWRlVGVzdEV4ZWN1dGlvbkZ1bmN0aW9uPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50c1sxXTt7aWYoXCJlbmNvdW50ZXJlZCBhIGRlY2xhcmF0aW9uIGV4Y2VwdGlvblwiIT09YXJndW1lbnRzWzBdKXtpZighdClyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoZSx0aGlzLGFyZ3VtZW50cyk7dC5sZW5ndGg/YXJndW1lbnRzWzFdPWZ1bmN0aW9uKGUpe3RyYWNlci5zcGVjU3luY1N0YXJ0KCk7dHJ5e3ZhciBpPUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHQsdGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7dHJhY2VyLnNwZWNTeW5jRW5kKCl9cmV0dXJuIGl9OmFyZ3VtZW50c1sxXT1mdW5jdGlvbigpe3RyYWNlci5zcGVjU3luY1N0YXJ0KCk7dHJ5e3ZhciBlPUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHQsdGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7dHJhY2VyLnNwZWNTeW5jRW5kKCl9cmV0dXJuIGV9O3ZhciBpPUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGUsdGhpcyxhcmd1bWVudHMpO2kucmVzdWx0JiYoaS5yZXN1bHQuX3Rlc3RGaWxlPXRyYWNlci5lbnRyeUZpbGUoKSk7dmFyIHI9Y3VycmVudFN1aXRlLnNsaWNlKCk7cmV0dXJuIHIucHVzaChpLmRlc2NyaXB0aW9uKSxpLmRpc2FibGVkPXRyYWNlci5oYXNTcGVjRmlsdGVyKCkmJiF0cmFjZXIuc3BlY0ZpbHRlcihyKSYmZXhpc3RpbmdTcGVjRmlsdGVyKGkuZGVzY3JpcHRpb24pLGl9dHJ5e3QoKX1jYXRjaChuKXt0cmFjZXIucmVwb3J0RGVjbGFyYXRpb25FcnJvcihuKX19fX07aWYoamFzbWluZUVudi5pdD1vdmVycmlkZVRlc3RFeGVjdXRpb25GdW5jdGlvbihvcmlnaW5hbEl0KSxqYXNtaW5lRW52LmZpdD1vdmVycmlkZVRlc3RFeGVjdXRpb25GdW5jdGlvbihvcmlnaW5hbEZpdCksZ2xvYmFsLml0JiZnbG9iYWwuaXQudG9kbyl7dmFyIG9yaWdpbmFsVG9kb18xPWdsb2JhbC5pdC50b2RvO2dsb2JhbC5pdC50b2RvPWZ1bmN0aW9uKCl7dmFyIGU9RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwob3JpZ2luYWxUb2RvXzEsdGhpcyxhcmd1bWVudHMpO2UucmVzdWx0JiYoZS5yZXN1bHQuX3Rlc3RGaWxlPXRyYWNlci5lbnRyeUZpbGUoKSk7dmFyIHQ9Y3VycmVudFN1aXRlLnNsaWNlKCk7cmV0dXJuIHQucHVzaChlLmRlc2NyaXB0aW9uKSxlLmRpc2FibGVkPXRyYWNlci5oYXNTcGVjRmlsdGVyKCkmJiF0cmFjZXIuc3BlY0ZpbHRlcih0KSYmZXhpc3RpbmdTcGVjRmlsdGVyKGUuZGVzY3JpcHRpb24pLGV9fXZhciBvcmlnaW5hbEFmdGVyRWFjaD1qYXNtaW5lRW52LmFmdGVyRWFjaDtqYXNtaW5lRW52LmFmdGVyRWFjaD1mdW5jdGlvbigpe2lmKHRyYWNlci5uZWVkVG9Ob3RpZnlTaW5nbGVUZXN0UnVuKCkpe3ZhciBlPWFyZ3VtZW50c1swXTtlLmxlbmd0aD9hcmd1bWVudHNbMF09ZnVuY3Rpb24odCl7dHJhY2VyLm5vdGlmeVNpbmdsZVRlc3RBZnRlckVhY2goZnVuY3Rpb24oKXtlKHQpfSl9OmFyZ3VtZW50c1swXT1mdW5jdGlvbih0KXt0cmFjZXIubm90aWZ5U2luZ2xlVGVzdEFmdGVyRWFjaChmdW5jdGlvbigpe3RyeXtlKCl9ZmluYWxseXt0KCl9fSl9fXJldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChvcmlnaW5hbEFmdGVyRWFjaCx0aGlzLGFyZ3VtZW50cyl9LGphc21pbmVFbnYuYWRkUmVwb3J0ZXIodHJhY2VyLl9qYXNtaW5lQWRhcHRlciksamFzbWluZUVudi5zcGVjRmlsdGVyPWZ1bmN0aW9uKCl7cmV0dXJuITB9OyJdfQ==");import 'jest-preset-angular';\n` +
      '                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n' +
      '\n' +
      'SyntaxError: Cannot use import statement outside a module\n' +
      '    at new Script (node:vm:100:7)\n' +
      '    at ScriptTransformer._transformAndBuildScript (./node_modules/jest-runtime/build/script_transformer.js:400:17)\n' +
      '    at ScriptTransformer.transform (./node_modules/jest-runtime/build/script_transformer.js:445:19)\n' +
      '    at Runtime._execModule (./node_modules/jest-runtime/build/index.js:640:53)\n' +
      '    at Runtime.requireModule (./node_modules/jest-runtime/build/index.js:376:14)\n' +
      '    at ./node_modules/jest-jasmine2/build/index.js:112:15\n' +
      '    at Generator.next (<anonymous>)\n' +
      '    at step (./node_modules/jest-jasmine2/build/index.js:170:30)\n' +
      '    at ./node_modules/jest-jasmine2/build/index.js:189:14\n' +
      '    at new Promise (<anonymous>)\n' +
      '    at ./node_modules/jest-jasmine2/build/index.js:167:12\n' +
      '    at jasmine2 (./node_modules/jest-jasmine2/build/index.js:138:17)\n' +
      '    at ./node_modules/jest-runner/build/run_test.js:187:24\n' +
      '    at Generator.next (<anonymous>)\n' +
      '    at step (./node_modules/jest-runner/build/run_test.js:315:30)\n' +
      '    at ./node_modules/jest-runner/build/run_test.js:326:15\n' +
      '    at processTicksAndRejections (node:internal/process/task_queues:95:5)./src/setupJest.ts:1\n' +
      `({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){require('ts-jest').install("./src/setupJest.ts", "import 'jest-preset-angular';\\nimport './je\n`,

// The same output at first glance ... 

    '2022-06-09T13:59:58.865Z workers [nhnx9] Sandbox is not responsive, recycling worker instance\n',
    '2022-06-09T13:59:58.865Z workers Recyling run worker instance #2\n',
    '2022-06-09T13:59:58.916Z workers [sfc42] Sandbox is not responsive, recycling worker instance\n',
    '2022-06-09T13:59:58.916Z workers Recyling run worker instance #7\n',
    '2022-06-09T13:59:58.916Z workers Merging parallel test run results\n',
    '2022-06-09T13:59:58.916Z project Test run finished\n',
    '2022-06-09T13:59:58.916Z project Processed console.log entries\n',
    '2022-06-09T13:59:58.916Z project Processed loading sequences\n',
    '2022-06-09T13:59:58.916Z project Processed executed tests\n',
    '2022-06-09T13:59:58.978Z project Processed code coverage\n',
    '2022-06-09T13:59:59.117Z project Test run result processed and sent to IDE\n'
  ]
}
smcenlly commented 2 years ago

Could you please share your:

If possible, can you please create as project with a minimal reproducible example of your problem? You should be able to do this by copy your project and deleting all project source (except for testing and Wallaby configuration). You should also be able to remove all private package dependencies (they shouldn't be required). Then create code similar to what is causing a problem with a single test/source file to reproduce the issue.

We may be able to solve the issue with just your tsconfig.json and jest configuration so we can see what's going on, but if not, the next step will definitely be to ask for a reproducible example.

smcenlly commented 2 years ago

Closing this issue as we haven't heard back. Hopefully you got it working? Please reply with the additional information we requested if you're still having the problem and we will re-open the issue.