ci/woodpecker/pr/ci Pipeline was successful
- ci.yml: build step (vite build via turbo) runs on every PR pipeline after test - publish.yml: e2e step boots the gateway from built dist (HOME/cwd-isolated throwaway PGlite) and runs the Playwright suite headless inside mcr.microsoft.com/playwright:v1.58.2-noble against the SPA bundle served exactly as production serves it; both kaniko publishes now gate on e2e - serve-spa.ts: strip query strings before asset resolution; immutable cache-control for hashed assets (onSend hook); e2e spec covers both - e2e suite hardened: globalSetup seeds admin+member through real bootstrap/better-auth APIs (Origin header for CSRF), loginAs waits for the post-login redirect (fixes 27-skipped race), stale #152-era assertions rewritten to the current command-driven UI, strict-mode violations fixed with level-1 heading queries and .or() auto-retrying locators - verify-release mirrors the new build stage; playwright artifacts ignored
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import tseslint from 'typescript-eslint';
|
|
import tsPlugin from '@typescript-eslint/eslint-plugin';
|
|
import tsParser from '@typescript-eslint/parser';
|
|
|
|
export default tseslint.config(
|
|
{
|
|
ignores: [
|
|
'**/dist/**',
|
|
'**/node_modules/**',
|
|
'**/coverage/**',
|
|
'**/drizzle.config.ts',
|
|
'**/framework/**',
|
|
'packages/mosaic/__tests__/**',
|
|
],
|
|
},
|
|
{
|
|
files: ['**/*.{ts,tsx}'],
|
|
plugins: {
|
|
'@typescript-eslint': tsPlugin,
|
|
},
|
|
languageOptions: {
|
|
parser: tsParser,
|
|
parserOptions: {
|
|
projectService: {
|
|
allowDefaultProject: [
|
|
'apps/web/e2e/*.ts',
|
|
'apps/web/e2e/helpers/*.ts',
|
|
'apps/web/playwright.config.ts',
|
|
'apps/gateway/vitest.config.ts',
|
|
'plugins/discord/vitest.config.ts',
|
|
'packages/comms/vitest.config.ts',
|
|
'packages/db/vitest.config.ts',
|
|
'packages/storage/vitest.config.ts',
|
|
'packages/mosaic/vitest.config.ts',
|
|
'packages/mosaic/__tests__/*.ts',
|
|
'packages/forge/__tests__/*.ts',
|
|
'tools/federation-harness/*.ts',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
rules: {
|
|
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
|
'@typescript-eslint/no-explicit-any': 'warn',
|
|
'@typescript-eslint/consistent-type-imports': 'error',
|
|
},
|
|
},
|
|
);
|