- Added robust module loading in server.js with multiple fallback paths - Created bidirectional symlinks for modules with different naming styles - Added extension-less symlinks for Node.js CommonJS compatibility - Updated file copying logic to create all necessary symlinks - Added symlink creation script that runs on startup - Improved module error reporting with detailed path information 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
49 lines
1.7 KiB
Bash
Executable File
49 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Create bi-directional symlinks for module compatibility
|
|
|
|
MODULES_DIR="$(dirname "$(dirname "$0")")/modules"
|
|
|
|
echo "Creating module symlinks in $MODULES_DIR..."
|
|
|
|
# Check if modules directory exists
|
|
if [ ! -d "$MODULES_DIR" ]; then
|
|
echo "Error: Modules directory not found: $MODULES_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
# Create bidirectional symlinks
|
|
create_bidirectional_links() {
|
|
local hyphenated="$1"
|
|
local camelCase="$2"
|
|
|
|
# Check if hyphenated version exists
|
|
if [ -f "$MODULES_DIR/$hyphenated.js" ]; then
|
|
# Create camelCase symlink
|
|
ln -sf "$hyphenated.js" "$MODULES_DIR/$camelCase.js"
|
|
echo "Created symlink: $camelCase.js -> $hyphenated.js"
|
|
|
|
# Create symlinks without extension
|
|
ln -sf "$hyphenated.js" "$MODULES_DIR/$hyphenated"
|
|
ln -sf "$hyphenated.js" "$MODULES_DIR/$camelCase"
|
|
echo "Created extension-less symlinks: $hyphenated, $camelCase -> $hyphenated.js"
|
|
# Check if camelCase version exists
|
|
elif [ -f "$MODULES_DIR/$camelCase.js" ]; then
|
|
# Create hyphenated symlink
|
|
ln -sf "$camelCase.js" "$MODULES_DIR/$hyphenated.js"
|
|
echo "Created symlink: $hyphenated.js -> $camelCase.js"
|
|
|
|
# Create symlinks without extension
|
|
ln -sf "$camelCase.js" "$MODULES_DIR/$hyphenated"
|
|
ln -sf "$camelCase.js" "$MODULES_DIR/$camelCase"
|
|
echo "Created extension-less symlinks: $hyphenated, $camelCase -> $camelCase.js"
|
|
else
|
|
echo "Warning: Neither $hyphenated.js nor $camelCase.js exists in $MODULES_DIR"
|
|
fi
|
|
}
|
|
|
|
# Create symlinks for all modules
|
|
create_bidirectional_links "rss-feed-manager" "rssFeedManager"
|
|
create_bidirectional_links "transmission-client" "transmissionClient"
|
|
create_bidirectional_links "post-processor" "postProcessor"
|
|
|
|
echo "Module symlinks created successfully." |