Fix running `npm run test` when your development setup has other apps checked out - like having the viewer app installed locally in `apps`. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>pull/52298/head
parent
f9b6b88d5c
commit
0e50ba839c
@ -0,0 +1,57 @@ |
||||
/** |
||||
* SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors |
||||
* SPDX-License-Identifier: CC0-1.0 |
||||
*/ |
||||
import { defaultExclude, defineConfig } from 'vitest/config' |
||||
import vue from '@vitejs/plugin-vue2' |
||||
import { exec } from 'node:child_process' |
||||
import { promisify } from 'node:util' |
||||
|
||||
const gitIgnore: string[] = [] |
||||
// get all files ignored in the apps directory (e.g. if putting `view` app there). |
||||
try { |
||||
const execAsync = promisify(exec) |
||||
const { stdout } = await execAsync('git check-ignore apps/*', { cwd: __dirname }) |
||||
gitIgnore.push(...stdout.split('\n').filter(Boolean)) |
||||
// eslint-disable-next-line no-console |
||||
console.log('Git ignored files excluded from tests: ', gitIgnore) |
||||
} catch (error) { |
||||
// we can ignore error code 1 as this just means there are no ignored files |
||||
if (error.code !== 1) { |
||||
// but otherwise something bad is happening and we should re-throw |
||||
throw error |
||||
} |
||||
} |
||||
|
||||
export default defineConfig({ |
||||
plugins: [vue()], |
||||
test: { |
||||
include: ['{apps,core}/**/*.{test,spec}.?(c|m)[jt]s?(x)'], |
||||
environment: 'jsdom', |
||||
environmentOptions: { |
||||
jsdom: { |
||||
url: 'http://nextcloud.local', |
||||
}, |
||||
}, |
||||
coverage: { |
||||
include: ['apps/*/src/**', 'core/src/**'], |
||||
exclude: ['**.spec.*', '**.test.*', '**.cy.*', 'core/src/tests/**'], |
||||
provider: 'v8', |
||||
reporter: ['lcov', 'text'], |
||||
}, |
||||
setupFiles: [ |
||||
'__tests__/mock-window.js', |
||||
'__tests__/setup-testing-library.js', |
||||
], |
||||
exclude: [ |
||||
...defaultExclude, |
||||
...gitIgnore, |
||||
], |
||||
globalSetup: '__tests__/setup-global.js', |
||||
server: { |
||||
deps: { |
||||
inline: [/@nextcloud\//], |
||||
}, |
||||
}, |
||||
}, |
||||
}) |
@ -1,35 +0,0 @@ |
||||
/** |
||||
* SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors |
||||
* SPDX-License-Identifier: CC0-1.0 |
||||
*/ |
||||
import { defineConfig } from 'vitest/config' |
||||
import vue from '@vitejs/plugin-vue2' |
||||
|
||||
export default defineConfig({ |
||||
plugins: [vue()], |
||||
test: { |
||||
include: ['{apps,core}/**/*.{test,spec}.?(c|m)[jt]s?(x)'], |
||||
environment: 'jsdom', |
||||
environmentOptions: { |
||||
jsdom: { |
||||
url: 'http://nextcloud.local', |
||||
}, |
||||
}, |
||||
coverage: { |
||||
include: ['apps/*/src/**', 'core/src/**'], |
||||
exclude: ['**.spec.*', '**.test.*', '**.cy.*', 'core/src/tests/**'], |
||||
provider: 'v8', |
||||
reporter: ['lcov', 'text'], |
||||
}, |
||||
setupFiles: [ |
||||
'__tests__/mock-window.js', |
||||
'__tests__/setup-testing-library.js', |
||||
], |
||||
globalSetup: '__tests__/setup-global.js', |
||||
server: { |
||||
deps: { |
||||
inline: [/@nextcloud\//], |
||||
}, |
||||
}, |
||||
}, |
||||
}) |
Loading…
Reference in new issue