- Updated .dockerignore to include additional logs and IDE files, improving Docker build efficiency. - Added .eslintrc.json for TypeScript linting configuration, ensuring code quality and consistency. - Refactored Dockerfile to streamline the build process and utilize a slimmer Node.js image. - Introduced jest-resolver.cjs and jest.setup.js for improved Jest testing configuration and setup. - Updated jest.config.js to support ESM and added new test patterns for better test organization. - Enhanced TypeScript schemas to include new device types (media_player, fan, lock, vacuum, scene, script, camera) for comprehensive validation. - Added unit tests for device schemas and Home Assistant connection, improving test coverage and reliability. - Updated README.md with new testing instructions and device control examples, enhancing user guidance.
43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
/** @type {import('ts-jest').JestConfigWithTsJest} */
|
|
module.exports = {
|
|
preset: 'ts-jest',
|
|
testEnvironment: 'node',
|
|
moduleNameMapper: {
|
|
'^@src/(.*)$': '<rootDir>/src/$1',
|
|
'^@tests/(.*)$': '<rootDir>/__tests__/$1',
|
|
'^(\\.{1,2}/.*)\\.js$': '$1'
|
|
},
|
|
roots: [
|
|
'<rootDir>/src',
|
|
'<rootDir>/__tests__'
|
|
],
|
|
transform: {
|
|
'^.+\\.tsx?$': ['ts-jest', {
|
|
useESM: true,
|
|
tsconfig: './tsconfig.json'
|
|
}]
|
|
},
|
|
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
|
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
resolver: '<rootDir>/jest-resolver.cjs',
|
|
transformIgnorePatterns: [
|
|
'node_modules/(?!(@digital-alchemy|litemcp|semver|zod)/)'
|
|
],
|
|
modulePathIgnorePatterns: [
|
|
'<rootDir>/dist/'
|
|
],
|
|
testEnvironmentOptions: {
|
|
experimentalVmModules: true
|
|
},
|
|
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
|
|
globals: {
|
|
'ts-jest': {
|
|
useESM: true,
|
|
tsconfig: {
|
|
allowJs: true,
|
|
esModuleInterop: true
|
|
}
|
|
}
|
|
}
|
|
};
|