Skip to content

codeceptjs 4.04 with typescrpit init (missing I: './steps_file.ts' in config) #5614

Description

@rebas82

npm install

npx playwright install --with-deps

npx codeceptjs init

  • i enable typescript option

PS F:\bender\codecept4> cat .\tsconfig.json
{
"compilerOptions": {
"target": "ES2022",
"lib": ["ES2022", "DOM"],
"esModuleInterop": true,
"module": "ESNext",
"moduleResolution": "bundler",
"strictNullChecks": false,
"types": ["codeceptjs", "node"],
"declaration": true,
"skipLibCheck": true
},
"exclude": ["node_modules"]
}
PS F:\bender\codecept4> cat .\steps_file.ts
// in this file you can append custom step methods to 'I' object
import { actor } from 'codeceptjs';

export default function() {
return actor({

// Define custom steps here, use 'this' to access default methods of I.
// It is recommended to place a general 'login' function here.

});
}
PS F:\bender\codecept4> cat .\package.json
{
"devDependencies": {
"@types/node": "^25.9.2",
"codeceptjs": "^4.0.4",
"cross-env": "^10.1.0",
"npm-run-all2": "^9.0.1",
"playwright": "^1.60.0",
"tsx": "^4.22.4",
"typescript": "^6.0.3"
},
"dependencies": {
"knip": "^6.16.1",
"node-autoit-koffi": "^1.0.7",
"npm-check-updates": "^22.2.3"
}
}
PS F:\bender\codecept4> cat .\codecept.conf.ts
export const config: CodeceptJS.MainConfig = {
tests: './tests/*_test.ts',
output: './output',
helpers: {
Playwright: {
browser: 'chromium',
url: 'http://localhost',
show: true
}
},
include: {
I: './steps_file'
},
noGlobals: true,
plugins: {},
name: 'codecept4',
require: ['tsx/cjs']
}
PS F:\bender\codecept4> npx codeceptjs run

Could not include object I from module 'F:\bender\codecept4\steps_file': Cannot find module 'F:\bender\codecept4\steps_file.js' imported from F:\bender\codecept4\node_modules\codeceptjs\lib\container.js

Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'F:\bender\codecept4\steps_file.js' imported from F:\bender\codecept4\node_modules\codeceptjs\lib\container.js
at finalizeResolution (node:internal/modules/esm/resolve:271:11)
at moduleResolve (node:internal/modules/esm/resolve:865:10)
at defaultResolve (node:internal/modules/esm/resolve:992:11)
at #cachedDefaultResolve (node:internal/modules/esm/loader:704:20)
at #resolveAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:724:38)
at ModuleLoader.resolveSync (node:internal/modules/esm/loader:762:56)
at #resolve (node:internal/modules/esm/loader:686:17)
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:606:35)
at node:internal/modules/esm/loader:635:32
at TracingChannel.tracePromise (node:diagnostics_channel:539:22)
PS F:\bender\codecept4>

Please repair, if user in init form select option for typescript, it is neccesary change this code in codecept.conf.ts:

include: {
I: './steps_file'
},

to (missing ".ts"):
include: {
I: './steps_file.ts'
},

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions