版博士V2.0程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

config.js 2.5 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import { isCI } from 'std-env';
  2. var _a;
  3. typeof process < "u" && typeof process.stdout < "u" && !((_a = process.versions) == null ? void 0 : _a.deno) && !globalThis.window;
  4. const defaultInclude = ["**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"];
  5. const defaultExclude = ["**/node_modules/**", "**/dist/**", "**/cypress/**", "**/.{idea,git,cache,output,temp}/**", "**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build}.config.*"];
  6. const defaultCoverageExcludes = [
  7. "coverage/**",
  8. "dist/**",
  9. "packages/*/test{,s}/**",
  10. "**/*.d.ts",
  11. "cypress/**",
  12. "test{,s}/**",
  13. "test{,-*}.{js,cjs,mjs,ts,tsx,jsx}",
  14. "**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx}",
  15. "**/*{.,-}spec.{js,cjs,mjs,ts,tsx,jsx}",
  16. "**/__tests__/**",
  17. "**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build}.config.*",
  18. "**/.{eslint,mocha,prettier}rc.{js,cjs,yml}"
  19. ];
  20. const coverageConfigDefaults = {
  21. provider: "c8",
  22. enabled: false,
  23. clean: true,
  24. cleanOnRerun: true,
  25. reportsDirectory: "./coverage",
  26. exclude: defaultCoverageExcludes,
  27. reporter: [["text", {}], ["html", {}], ["clover", {}], ["json", {}]],
  28. extension: [".js", ".cjs", ".mjs", ".ts", ".mts", ".cts", ".tsx", ".jsx", ".vue", ".svelte"]
  29. };
  30. const fakeTimersDefaults = {
  31. loopLimit: 1e4,
  32. shouldClearNativeTimers: true,
  33. toFake: [
  34. "setTimeout",
  35. "clearTimeout",
  36. "setInterval",
  37. "clearInterval",
  38. "setImmediate",
  39. "clearImmediate",
  40. "Date"
  41. ]
  42. };
  43. const config = {
  44. allowOnly: !isCI,
  45. watch: !isCI,
  46. globals: false,
  47. environment: "node",
  48. threads: true,
  49. clearMocks: false,
  50. restoreMocks: false,
  51. mockReset: false,
  52. include: defaultInclude,
  53. exclude: defaultExclude,
  54. testTimeout: 5e3,
  55. hookTimeout: 1e4,
  56. teardownTimeout: 1e4,
  57. isolate: true,
  58. watchExclude: ["**/node_modules/**", "**/dist/**"],
  59. forceRerunTriggers: [
  60. "**/package.json/**",
  61. "**/{vitest,vite}.config.*/**"
  62. ],
  63. update: false,
  64. reporters: [],
  65. silent: false,
  66. api: false,
  67. ui: false,
  68. uiBase: "/__vitest__/",
  69. open: true,
  70. css: {
  71. include: []
  72. },
  73. coverage: coverageConfigDefaults,
  74. fakeTimers: fakeTimersDefaults,
  75. maxConcurrency: 5,
  76. dangerouslyIgnoreUnhandledErrors: false,
  77. typecheck: {
  78. checker: "tsc",
  79. include: ["**/*.{test,spec}-d.{ts,js}"],
  80. exclude: defaultExclude
  81. },
  82. slowTestThreshold: 300
  83. };
  84. const configDefaults = Object.freeze(config);
  85. function defineConfig(config) {
  86. return config;
  87. }
  88. export { configDefaults, coverageConfigDefaults, defaultExclude, defaultInclude, defineConfig };