Fix module import issue on fresh installs

- Added create_directories function to properly set up directory structure
- Added copy_module_files function to ensure JS modules are copied correctly
- Updated server.js to handle module imports more resiliently
- Fixed imports to work with both .js and no extension module references

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-03-07 08:59:01 +00:00
parent 72d230706a
commit 54871518fc
4 changed files with 107 additions and 8 deletions
+35 -3
View File
@@ -15,9 +15,41 @@ const jwt = require('jsonwebtoken');
const bcrypt = require('bcrypt');
// Import custom modules
const RssFeedManager = require('./modules/rss-feed-manager.js');
const TransmissionClient = require('./modules/transmission-client.js');
const PostProcessor = require('./modules/post-processor.js');
// Try to import with .js extension first, then fallback to no extension for better compatibility
let RssFeedManager, TransmissionClient, PostProcessor;
try {
RssFeedManager = require('./modules/rss-feed-manager.js');
} catch (e) {
try {
RssFeedManager = require('./modules/rss-feed-manager');
} catch (err) {
console.error('Failed to load RssFeedManager module:', err);
process.exit(1);
}
}
try {
TransmissionClient = require('./modules/transmission-client.js');
} catch (e) {
try {
TransmissionClient = require('./modules/transmission-client');
} catch (err) {
console.error('Failed to load TransmissionClient module:', err);
process.exit(1);
}
}
try {
PostProcessor = require('./modules/post-processor.js');
} catch (e) {
try {
PostProcessor = require('./modules/post-processor');
} catch (err) {
console.error('Failed to load PostProcessor module:', err);
process.exit(1);
}
}
// Constants and configuration
const DEFAULT_CONFIG_PATH = '/etc/transmission-rss-manager/config.json';