Skip to content

Commit b6ea7e9

Browse files
authored
Merge pull request #5 from PrestaShop/pr4
test: commonjs build
2 parents 329be7e + e1027ab commit b6ea7e9

File tree

10 files changed

+87
-74
lines changed

10 files changed

+87
-74
lines changed

src/common/BO/loginBO.ts

-34
This file was deleted.

src/interfaces/BO/dashboard/index.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
export interface DashboardPageInterface {
1+
import {BOBasePagePageInterface} from '@interfaces/BO';
2+
3+
export interface DashboardPageInterface extends BOBasePagePageInterface {
24
readonly pageTitle: string;
35
}

src/interfaces/BO/index.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import type {CommonPageInterface} from '@interfaces/index';
2+
import type {Page} from '@playwright/test';
3+
4+
export interface BOBasePagePageInterface extends CommonPageInterface {
5+
logoutBO(page: Page): Promise<void>;
6+
}

src/interfaces/BO/login/index.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import {BOBasePagePageInterface} from '@interfaces/BO';
2+
13
import type {Page} from '@playwright/test';
24

3-
export interface LoginPageInterface {
5+
export interface LoginPageInterface extends BOBasePagePageInterface {
46
readonly pageTitle: string;
57

68
successLogin(page: Page, email: string, password: string): Promise<void>;

src/interfaces/index.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import type {Page} from '@playwright/test';
2+
3+
export interface CommonPageInterface {
4+
getPageTitle(page: Page): Promise<string>;
5+
6+
goTo(page: Page, url: string): Promise<void>;
7+
}

src/pages/BO/dashboard/index.ts

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1+
import type {DashboardPageInterface} from '@interfaces/BO/dashboard';
12
import semver from 'semver';
23

3-
let file: string;
4+
const psVersion = process.env.PS_VERSION ?? '0.0.0';
45

5-
if (semver.gte(process.env.PS_VERSION as string, '8.0.0')) {
6-
file = '@versions/8.0.0/pages/BO/dashboard';
7-
} else {
8-
file = '@versions/8.0.0/pages/BO/dashboard';
6+
/* eslint-disable global-require */
7+
function requirePage(): DashboardPageInterface {
8+
if (semver.gte(psVersion, '8.0.0')) {
9+
return require('@versions/8.0.0/pages/BO/dashboard');
10+
}
11+
return require('@versions/8.0.0/pages/BO/dashboard');
912
}
13+
/* eslint-enable global-require */
1014

11-
const Dashboard = await import(file);
12-
export default Dashboard;
15+
export default requirePage();

src/pages/BO/login/index.ts

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1+
import type {LoginPageInterface} from '@interfaces/BO/login';
12
import semver from 'semver';
23

3-
let file: string;
4+
const psVersion = process.env.PS_VERSION ?? '0.0.0';
45

5-
if (semver.gte(process.env.PS_VERSION as string, '8.0.0')) {
6-
file = '@versions/8.0.0/pages/BO/login';
7-
} else {
8-
file = '@versions/8.0.0/pages/BO/login';
6+
/* eslint-disable global-require */
7+
function requirePage(): LoginPageInterface {
8+
if (semver.gte(psVersion, '8.0.0')) {
9+
return require('@versions/8.0.0/pages/BO/login');
10+
}
11+
return require('@versions/8.0.0/pages/BO/login');
912
}
13+
/* eslint-enable global-require */
1014

11-
const Login = await import(file);
12-
export default Login;
15+
export default requirePage();

src/versions/8.0.0/pages/BO/dashboard/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -625,4 +625,4 @@ class Dashboard extends BOBasePage implements DashboardPageInterface {
625625
}
626626
}
627627

628-
export default new Dashboard();
628+
module.exports = new Dashboard();

src/versions/8.0.0/pages/BO/login/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -184,4 +184,4 @@ class Login extends BOBasePage implements LoginPageInterface {
184184
}
185185
}
186186

187-
export default new Login();
187+
module.exports = new Login();

tsconfig.json

+46-22
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,55 @@
11
{
22
"compilerOptions": {
3-
"noImplicitAny": true,
4-
"noImplicitThis": true,
5-
"module": "es2022",
6-
"target": "es2022",
7-
"strict": true,
8-
"moduleResolution": "node",
3+
"listEmittedFiles": true,
94
"allowSyntheticDefaultImports": true,
10-
"resolveJsonModule": true,
115
"esModuleInterop": true,
12-
"allowJs": true,
13-
"downlevelIteration": true,
14-
"baseUrl": "./",
15-
"outDir": "dist",
6+
"target": "es6",
7+
"module": "commonjs",
8+
"skipDefaultLibCheck": true,
9+
"skipLibCheck": true,
10+
"moduleResolution": "node",
11+
"noImplicitAny": true,
12+
"noImplicitThis": false,
13+
"strict": true,
14+
"strictFunctionTypes": true,
15+
"isolatedModules": true,
1616
"declaration": true,
17+
"lib": [
18+
"dom",
19+
"dom.iterable",
20+
"esnext"
21+
],
22+
"baseUrl": "./",
23+
"outDir": "./dist",
1724
"paths": {
18-
"@interfaces/*": ["src/interfaces/*"],
19-
"@pages/*": ["src/pages/*"],
20-
"@common/*": ["src/common/*"],
21-
"@data/*": ["src/data/*"],
22-
"@types/*": ["src/types/*"],
23-
"@utils/*": ["src/utils/*"],
24-
"@versions/*": ["src/versions/*"]
25+
"@interfaces/*": [
26+
"src/interfaces/*"
27+
],
28+
"@pages/*": [
29+
"src/pages/*"
30+
],
31+
"@data/*": [
32+
"src/data/*"
33+
],
34+
"@types/*": [
35+
"src/types/*"
36+
],
37+
"@utils/*": [
38+
"src/utils/*"
39+
],
40+
"@versions/*": [
41+
"src/versions/*"
42+
]
2543
},
26-
"typeRoots": ["types", "node_modules/@types"],
27-
"skipLibCheck": true
44+
"typeRoots": [
45+
"types",
46+
"node_modules/@types"
47+
],
2848
},
29-
"include": ["src/**/*"],
30-
"exclude": ["node_modules"]
49+
"include": [
50+
"src/**/*"
51+
],
52+
"exclude": [
53+
"node_modules"
54+
]
3155
}

0 commit comments

Comments
 (0)