Files
3cda68c5c7 E2E/Playwright: Add testcontainers to playwright-lib (#37570)
* add testcontainers to playwright-lib

* include retry mechanism for transient failures

* - Introduced a new command `testcontainers:up` in package.json to run Playwright tests with Testcontainers.
- Created a standalone Playwright configuration file `playwright.testcontainers-up.config.ts` for managing Testcontainers.
- Added a no-op test `testcontainers_up.spec.ts` to ensure the Testcontainers stack is up during the test run.
- Implemented a global setup script `testcontainers_up_global_setup.ts` to start and stop the Testcontainers stack.
- Updated dependencies in package.json, including adding `chalk` for logging.

* fix package-lock

* fix tsc and restore waiting for all migrations to complete

---------

Co-authored-by: Mattermost Build <[email protected]>
2026-07-28 10:06:36 +02:00

76 lines
2.6 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import globals from 'globals';
import eslintPlugin from '@mattermost/eslint-plugin';
export default [
{
ignores: [
'**/node_modules',
'**/dist',
'**/playwright-report',
'**/test-results',
'**/results',
'lib/src/containers/assets/webhook/tests/**',
],
},
...eslintPlugin.configs.base,
{
files: ['**/*.ts', '**/*.js'],
languageOptions: {
globals: {
...globals.node,
},
ecmaVersion: 5,
sourceType: 'module',
},
settings: {
'import/resolver': {
typescript: true,
node: true,
},
},
rules: {
'@stylistic/dot-location': 'off', // Covered by Prettier
'@stylistic/indent': 'off', // Covered by Prettier
'@stylistic/lines-around-comment': 'off', // Covered by Prettier
'@stylistic/multiline-ternary': 'off', // Covered by Prettier
'@stylistic/no-mixed-operators': 'off',
'@stylistic/operator-linebreak': 'off', // Covered by Prettier
'@stylistic/space-before-function-paren': 'off', // Covered by Prettier
'@stylistic/wrap-regex': 'off', // Covered by Prettier
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-require-imports': 'off',
'func-names': 'off',
'max-lines': ['warn', {max: 800, skipBlankLines: true, skipComments: true}],
'no-await-in-loop': 'off',
'no-console': 'error',
'no-empty-pattern': ['error', {allowObjectPatternsAsParameters: true}],
'no-loop-func': 0,
'no-process-env': 0,
'no-process-exit': 0,
'headers/header-format': [
'error',
{
source: 'string',
style: 'line',
content:
'Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\nSee LICENSE.txt for license information.',
trailingNewlines: 2,
},
],
'import/order': [
'error',
{
'newlines-between': 'always',
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
},
],
'import/no-unresolved': 'off',
},
},
];