mirror of
https://github.com/nextcloud/server.git
synced 2025-05-01 12:30:27 +00:00

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>
57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
/**
|
|
* 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\//],
|
|
},
|
|
},
|
|
},
|
|
})
|