Im working on a TypeScript project where I'm trying to use modules from the express, apollo-server-express, and other libraries in my index.ts file. However, I'm facing the following error:
"Cannot find module 'express' or its corresponding type declarations."
I'm using Yarn (3.6.4) to manage my packages. My package.json file lists the dependencies and devDependencies, including "express" and "apollo-server-express".
package.json
{
"name": "FlirtyZone-API",
"compilerOptions": {
"types": [
"node",
"express",
"apollo-server-express"
],
"typeRoots": [
"./node_modules/@types"
]
},
"dependencies": {
"@nestjs/typeorm": "^10.0.0",
"apollo-server": "^3.12.1",
"apollo-server-express": "^3.12.1",
"dotenv": "^16.3.1",
"graphql": "^16.8.1",
"graphql-import": "^1.0.2",
"graphql-tools": "^9.0.0",
"mysql2": "^3.6.2",
"reflect-metadata": "^0.1.13"
},
"devDependencies": {
"@types/express": "^4.17.20",
"@types/jest": "^29.5.6",
"@types/node": "^20.8.7",
"eslint": "^8.51.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.1",
"jest": "^29.7.0",
"prettier": "^3.0.3",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
"typescript": "^5.2.2"
}
}
My tsconfig.json file specifies "target": "esnext", "module": "commonjs", "esModuleInterop": true, and "outDir": "./", among other settings.
tsconfig file
{
"compilerOptions": {
"target": "esnext",
"module": "commonjs",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"skipLibCheck": true,
"sourceMap": true,
"outDir": "./",
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
]
}
I've checked that I've installed the required packages using Yarn, and they are present in my node_modules directory. I've also ensured that I have included "express" and "apollo-server-express" in my "types" and "typeRoots" settings in tsconfig.json.
When I run npm outdated gives me no error seems everything looks good. But when I run npm audit it gives me a bunch of critical errors.
npm outdated
npm audit
PS C:\FlirtyZone\FlirtyZone-API> npm audit
#npm audit report
@babel/traverse <7.23.2
Severity: critical
Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-67hx-6x53-jw92
fix available via `npm audit fix`
node_modules/graphql-import/node_modules/@babel/traverse
@graphql-toolkit/graphql-tag-pluck *
Depends on vulnerable versions of @babel/traverse
Depends on vulnerable versions of @graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/code-file-loader/node_modules/@graphql-toolkit/graphql-tag-pluck
@graphql-toolkit/code-file-loader *
Depends on vulnerable versions of @graphql-toolkit/common
Depends on vulnerable versions of @graphql-toolkit/graphql-tag-pluck
node_modules/graphql-import/node_modules/@graphql-toolkit/code-file-loader
cross-fetch <=2.2.3 || 2.2.5 || 3.0.0 - 3.1.4 || 3.2.0-alpha.0 - 3.2.0-alpha.2
Severity: high
Incorrect Authorization in cross-fetch - https://github.com/advisories/GHSA-7gc6-qh9x-w6h8
Depends on vulnerable versions of node-fetch
fix available via `npm audit fix --force`
Will install [email protected], which is a breaking change
node_modules/cross-fetch
@graphql-toolkit/url-loader *
Depends on vulnerable versions of @graphql-toolkit/common
Depends on vulnerable versions of cross-fetch
node_modules/graphql-import/node_modules/@graphql-toolkit/url-loader
graphql-import >=0.7.2-0c828d9.0
Depends on vulnerable versions of @graphql-toolkit/code-file-loader
Depends on vulnerable versions of @graphql-toolkit/core
Depends on vulnerable versions of @graphql-toolkit/graphql-file-loader
Depends on vulnerable versions of @graphql-toolkit/json-file-loader
Depends on vulnerable versions of @graphql-toolkit/schema-merging
Depends on vulnerable versions of @graphql-toolkit/url-loader
node_modules/graphql-import
lodash <=4.17.20
Severity: high
Prototype Pollution in lodash - https://github.com/advisories/GHSA-p6mc-m468-83gw
Command Injection in lodash - https://github.com/advisories/GHSA-35jh-r3h4-6jhm
Regular Expression Denial of Service (ReDoS) in lodash - https://github.com/advisories/GHSA-29mw-wpgm-hmr9
fix available via `npm audit fix`
node_modules/lodash
@graphql-toolkit/common *
Depends on vulnerable versions of lodash
node_modules/graphql-import/node_modules/@graphql-toolkit/code-file-loader/node_modules/@graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/core/node_modules/@graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/graphql-file-loader/node_modules/@graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/json-file-loader/node_modules/@graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/schema-merging/node_modules/@graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/url-loader/node_modules/@graphql-toolkit/common
@graphql-toolkit/core *
Depends on vulnerable versions of @graphql-toolkit/common
Depends on vulnerable versions of @graphql-toolkit/schema-merging
Depends on vulnerable versions of lodash
node_modules/graphql-import/node_modules/@graphql-toolkit/core
@graphql-toolkit/graphql-file-loader *
Depends on vulnerable versions of @graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/graphql-file-loader
@graphql-toolkit/json-file-loader *
Depends on vulnerable versions of @graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/json-file-loader
@graphql-toolkit/schema-merging *
Depends on vulnerable versions of @graphql-toolkit/common
node_modules/graphql-import/node_modules/@graphql-toolkit/schema-merging
node-fetch <=2.6.6
Severity: high
The `size` option isn't honored after following a redirect in node-fetch - https://github.com/advisories/GHSA-w7rc-rwvf-8q5r
node-fetch forwards secure headers to untrusted sites - https://github.com/advisories/GHSA-r683-j2x4-v87g
fix available via `npm audit fix --force`
Will install [email protected], which is a breaking change
node_modules/cross-fetch/node_modules/node-fetch
13 vulnerabilities (9 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
I would appreciate any guidance on resolving this error. I've tried several approaches, including checking my project configuration, updating packages, and modifying my TypeScript settings, but I'm still facing this issue.

