feathers
feathers copied to clipboard
Cannot read properties of undefined (reading 'get') from app when testing
Hey there, I run into issues when trying to run the mocha tests. Strange thing here: They always worked before and I am unsure what changed besides a version upgrade. If anyone has a clue whats happening here, any hints are greatly appreciated!
Steps to reproduce
running the tests from a monorepo fails with the following message:
TypeError: Cannot read properties of undefined (reading 'get')
at Object.<anonymous> (C:-----\apps\api\src\index.ts:4:18)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Module.m._compile (C:------\node_modules\ts-node\src\index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Object.require.extensions.<computed> [as .ts] (C:------\node_modules\ts-node\src\index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:------\apps\api\src\services\users\users.schema.ts:10:1)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Module.m._compile (C:------\node_modules\ts-node\src\index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Object.require.extensions.<computed> [as .ts] (C:------\node_modules\ts-node\src\index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:------\apps\api\src\services\users\users.ts:6:1)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Module.m._compile (C:------\node_modules\ts-node\src\index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Object.require.extensions.<computed> [as .ts] (C:------\node_modules\ts-node\src\index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:------\apps\api\src\services\index.ts:4:1)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Module.m._compile (C:------\node_modules\ts-node\src\index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Object.require.extensions.<computed> [as .ts] (C:------\node_modules\ts-node\src\index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:------\apps\api\src\app.ts:17:1)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Module.m._compile (C:------\node_modules\ts-node\src\index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Object.require.extensions.<computed> [as .ts] (C:------\node_modules\ts-node\src\index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:------\apps\api\test\app.test.ts:5:1)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Module.m._compile (C:------\node_modules\ts-node\src\index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Object.require.extensions.<computed> [as .ts] (C:------\node_modules\ts-node\src\index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.exports.requireOrImport (C:------\node_modules\mocha\lib\nodejs\esm-utils.js:53:16)
at async Object.exports.loadFilesAsync (C:------\node_modules\mocha\lib\nodejs\esm-utils.js:100:20)
at async singleRun (C:------\node_modules\mocha\lib\cli\run-helpers.js:125:3)
at async Object.exports.handler (C:------\node_modules\mocha\lib\cli\run.js:370:5)
I use nx in the monorepo, although just using yarn inside the feathers app folder produces the same error.
Expected behavior
I'd expect the tests to run as they always worked before. I am unsure what changed besides a feathers version upgrade (from 5.0.3). Downgrading to 5.0.3 does not solve the issue though.
System configuration
I am using feathers 5.0.8
Module versions (especially the part that's not working):
NodeJS version: 16
Operating System: Windows
I just wanted to add, that using
app.get("...")
in a custom file somewhere, and importing app like
import { app } from "../../app
also results in "cannot read properties of undefined (reading 'get')".
Am I trying to retrieve config values the wrong way, outside of services?
This sounds like some kind of ES module import error but it is hard to tell without seeing your app file.