import { defineConfig } from 'vitest/config'; import { resolve } from 'path'; export default defineConfig({ test: { globals: true, include: ['./**/__tests__/*.test.ts'], setupFiles: [resolve(__dirname, '../../', 'vx/config/vitest/customMatchers.ts')], }, root: __dirname, resolve: { alias: { n4s: resolve(__dirname, 'src/n4s.ts'), runtimeRules: resolve(__dirname, 'src/runtime/runtimeRules.ts'), rules: resolve(__dirname, 'src/runtime/rules.ts'), genEnforceLazy: resolve(__dirname, 'src/runtime/genEnforceLazy.ts'), enforceEager: resolve(__dirname, 'src/runtime/enforceEager.ts'), enforceContext: resolve(__dirname, 'src/runtime/enforceContext.ts'), enforce: resolve(__dirname, 'src/runtime/enforce.ts'), startsWith: resolve(__dirname, 'src/rules/startsWith.ts'), shorterThanOrEquals: resolve(__dirname, 'src/rules/shorterThanOrEquals.ts'), shorterThan: resolve(__dirname, 'src/rules/shorterThan.ts'), ruleCondition: resolve(__dirname, 'src/rules/ruleCondition.ts'), matches: resolve(__dirname, 'src/rules/matches.ts'), longerThanOrEquals: resolve(__dirname, 'src/rules/longerThanOrEquals.ts'), lessThanOrEquals: resolve(__dirname, 'src/rules/lessThanOrEquals.ts'), lessThan: resolve(__dirname, 'src/rules/lessThan.ts'), isValueOf: resolve(__dirname, 'src/rules/isValueOf.ts'), isTruthy: resolve(__dirname, 'src/rules/isTruthy.ts'), isString: resolve(__dirname, 'src/rules/isString.ts'), isOdd: resolve(__dirname, 'src/rules/isOdd.ts'), isNumber: resolve(__dirname, 'src/rules/isNumber.ts'), isNegative: resolve(__dirname, 'src/rules/isNegative.ts'), isNaN: resolve(__dirname, 'src/rules/isNaN.ts'), isKeyOf: resolve(__dirname, 'src/rules/isKeyOf.ts'), isEven: resolve(__dirname, 'src/rules/isEven.ts'), isBoolean: resolve(__dirname, 'src/rules/isBoolean.ts'), isBlank: resolve(__dirname, 'src/rules/isBlank.ts'), isBetween: resolve(__dirname, 'src/rules/isBetween.ts'), inside: resolve(__dirname, 'src/rules/inside.ts'), greaterThanOrEquals: resolve(__dirname, 'src/rules/greaterThanOrEquals.ts'), equals: resolve(__dirname, 'src/rules/equals.ts'), endsWith: resolve(__dirname, 'src/rules/endsWith.ts'), shape: resolve(__dirname, 'src/plugins/schema/shape.ts'), schemaTypes: resolve(__dirname, 'src/plugins/schema/schemaTypes.ts'), partial: resolve(__dirname, 'src/plugins/schema/partial.ts'), optional: resolve(__dirname, 'src/plugins/schema/optional.ts'), loose: resolve(__dirname, 'src/plugins/schema/loose.ts'), isArrayOf: resolve(__dirname, 'src/plugins/schema/isArrayOf.ts'), oneOf: resolve(__dirname, 'src/plugins/compounds/oneOf.ts'), noneOf: resolve(__dirname, 'src/plugins/compounds/noneOf.ts'), anyOf: resolve(__dirname, 'src/plugins/compounds/anyOf.ts'), allOf: resolve(__dirname, 'src/plugins/compounds/allOf.ts'), transformResult: resolve(__dirname, 'src/lib/transformResult.ts'), runLazyRule: resolve(__dirname, 'src/lib/runLazyRule.ts'), ruleReturn: resolve(__dirname, 'src/lib/ruleReturn.ts'), enforceUtilityTypes: resolve(__dirname, 'src/lib/enforceUtilityTypes.ts'), schema: resolve(__dirname, 'src/exports/schema.ts'), isURL: resolve(__dirname, 'src/exports/isURL.ts'), email: resolve(__dirname, 'src/exports/email.ts'), date: resolve(__dirname, 'src/exports/date.ts'), compounds: resolve(__dirname, 'src/exports/compounds.ts'), compose: resolve(__dirname, 'src/exports/compose.ts') } }, });