#!/usr/bin/env bash
set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"

mkdir -p "$ROOT_DIR/scripts/lib"
mkdir -p "$ROOT_DIR/common/php"
mkdir -p "$ROOT_DIR/common/js"
mkdir -p "$ROOT_DIR/defaults"
mkdir -p "$ROOT_DIR/apps"
mkdir -p "$ROOT_DIR/sys-apps"

cat > "$ROOT_DIR/scripts/lib/paths.sh" <<'EOF'
#!/usr/bin/env bash
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
SCRIPTS_DIR="$PROJECT_ROOT/scripts"
COMMON_DIR="$PROJECT_ROOT/common"
DEFAULTS_DIR="$PROJECT_ROOT/defaults"
APPS_DIR="$PROJECT_ROOT/apps"
SYS_APPS_DIR="$PROJECT_ROOT/sys-apps"
EOF

cat > "$ROOT_DIR/common/php/paths.php" <<'EOF'
<?php
declare(strict_types=1);

$PROJECT_ROOT = dirname(__DIR__, 2);
$COMMON_DIR = $PROJECT_ROOT . '/common';
$DEFAULTS_DIR = $PROJECT_ROOT . '/defaults';
$APPS_DIR = $PROJECT_ROOT . '/apps';
$SYS_APPS_DIR = $PROJECT_ROOT . '/sys-apps';
EOF

cat > "$ROOT_DIR/common/js/paths.js" <<'EOF'
export const PROJECT_ROOT = process.cwd();
export const COMMON_DIR = `${PROJECT_ROOT}/common`;
export const DEFAULTS_DIR = `${PROJECT_ROOT}/defaults`;
export const APPS_DIR = `${PROJECT_ROOT}/apps`;
export const SYS_APPS_DIR = `${PROJECT_ROOT}/sys-apps`;
EOF

echo "Path files created."
