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