Enhance project structure and testing capabilities

- 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.
This commit is contained in:
jango-blockchained
2024-12-17 15:07:40 +01:00
parent 3cd1ae58a5
commit 108524c7c4
30 changed files with 2385 additions and 130 deletions

16
jest-resolver.cjs Normal file
View File

@@ -0,0 +1,16 @@
module.exports = (path, options) => {
// Call the default resolver
return options.defaultResolver(path, {
...options,
// Force node to resolve modules as CommonJS
packageFilter: pkg => {
if (pkg.type === 'module') {
pkg.type = 'commonjs';
if (pkg.exports && pkg.exports.import) {
pkg.main = pkg.exports.import;
}
}
return pkg;
},
});
};