MM-62954 E2E/Playwright shared library (#30177)

* feat: Add package.json for Playwright library with dependencies

* feat: Add explicit exports for test.config in playwright-lib package

* feat: Add initialization setup for Mattermost E2E testing with admin and user client

* fix: Update package dependencies and resolve TypeScript build errors

* feat: Update package exports for test.config to support both CommonJS and ESM

* playwright shared library

* add README, fix pipeline

* keep file structures, move report up to playwright

* minimize API, use the prerelease versions of client and types

* bump version

* update package*.json

* resolve merge conflict

* update depedencies and merge conflicts

* update readme and fix ci

* remove unnecessary export and list all external packages

* fix import for Client4
Этот коммит содержится в:
Saturnino Abril
2025-04-01 08:52:56 +08:00
коммит произвёл GitHub
родитель ce9632cca3
Коммит a47269cfe2
163 изменённых файлов: 7203 добавлений и 5048 удалений

41
e2e-tests/playwright/lib/rollup.config.js Обычный файл
Просмотреть файл

@@ -0,0 +1,41 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import typescript from '@rollup/plugin-typescript';
import copy from 'rollup-plugin-copy';
export default {
input: 'src/index.ts',
output: [
{
dir: 'dist',
format: 'cjs', // CommonJS for Playwright
sourcemap: true,
preserveModules: true, // Keep file structure
preserveModulesRoot: 'src',
},
],
plugins: [
typescript(),
copy({
targets: [{src: 'src/asset/**/*', dest: 'dist/asset'}], // Copy assets to dist/
}),
],
external: [
'@playwright/test',
'@mattermost/client',
'@mattermost/types/config',
'@axe-core/playwright',
'@percy/playwright',
'dotenv',
'node:fs/promises',
'node:path',
'node:fs',
'node:os',
'mime-types',
'uuid',
'async-wait-until',
'chalk',
'deepmerge',
],
};