refactor: pré-installer .techradar dans l'image
This commit is contained in:
@@ -7,6 +7,7 @@ WORKDIR /app
|
|||||||
ENV HUSKY=0
|
ENV HUSKY=0
|
||||||
ENV HUSKY_SKIP_INSTALL=1
|
ENV HUSKY_SKIP_INSTALL=1
|
||||||
ENV NODE_PATH=/app/node_modules
|
ENV NODE_PATH=/app/node_modules
|
||||||
|
ENV NODE_ENV=development
|
||||||
|
|
||||||
# Installation des dépendances système
|
# Installation des dépendances système
|
||||||
RUN apk add --no-cache git
|
RUN apk add --no-cache git
|
||||||
@@ -15,16 +16,17 @@ RUN apk add --no-cache git
|
|||||||
COPY package.json package-lock.json* ./
|
COPY package.json package-lock.json* ./
|
||||||
|
|
||||||
# Installation des dépendances Node
|
# Installation des dépendances Node
|
||||||
# Utilisation de --ignore-scripts pour éviter l'erreur husky
|
|
||||||
RUN npm install --legacy-peer-deps --ignore-scripts
|
RUN npm install --legacy-peer-deps --ignore-scripts
|
||||||
|
|
||||||
# Installation des dépendances nécessaires au build
|
|
||||||
RUN npm install gray-matter glob
|
|
||||||
|
|
||||||
# Copie du reste du projet
|
# Copie du reste du projet
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN chmod +x scripts/start-business.sh
|
RUN chmod +x scripts/start-business.sh
|
||||||
|
|
||||||
|
# Préparer .techradar une fois pour toutes (évite les réinstallations au runtime)
|
||||||
|
RUN npx techradar install && \
|
||||||
|
node -e "const fs=require('fs');const p='.techradar/package.json';const pkg=JSON.parse(fs.readFileSync(p,'utf8'));pkg.scripts=pkg.scripts||{};pkg.scripts.prepare='';fs.writeFileSync(p,JSON.stringify(pkg,null,2));" && \
|
||||||
|
cd .techradar && npm install --legacy-peer-deps && npm run build:icons && cd ..
|
||||||
|
|
||||||
# --- CONFIGURATION BUSINESS ---
|
# --- CONFIGURATION BUSINESS ---
|
||||||
# Application de la logique Business (remplacement de la config et des données)
|
# Application de la logique Business (remplacement de la config et des données)
|
||||||
RUN cp radar-business/config-business.json config.json && \
|
RUN cp radar-business/config-business.json config.json && \
|
||||||
|
|||||||
@@ -4,46 +4,7 @@ set -e
|
|||||||
export HUSKY=0
|
export HUSKY=0
|
||||||
export HUSKY_SKIP_INSTALL=1
|
export HUSKY_SKIP_INSTALL=1
|
||||||
export NODE_PATH=/app/node_modules
|
export NODE_PATH=/app/node_modules
|
||||||
export NPM_CONFIG_IGNORE_SCRIPTS=1
|
|
||||||
|
|
||||||
# Forcer l'installation des devDependencies (gray-matter) même si NODE_ENV=production dans l'environnement
|
|
||||||
ORIGINAL_NODE_ENV="${NODE_ENV:-}"
|
|
||||||
export NODE_ENV=development
|
export NODE_ENV=development
|
||||||
|
|
||||||
# Initialiser/réinstaller localement .techradar
|
|
||||||
npx techradar install || true
|
|
||||||
|
|
||||||
# Patch du package.json interne pour désactiver husky et forcer gray-matter
|
|
||||||
if [ -f .techradar/package.json ]; then
|
|
||||||
node <<'EOF'
|
|
||||||
const fs = require('fs');
|
|
||||||
const pkgPath = '.techradar/package.json';
|
|
||||||
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
||||||
pkg.scripts = pkg.scripts || {};
|
|
||||||
pkg.scripts.prepare = '';
|
|
||||||
pkg.devDependencies = pkg.devDependencies || {};
|
|
||||||
if (!pkg.devDependencies['gray-matter']) {
|
|
||||||
pkg.devDependencies['gray-matter'] = '^4.0.3';
|
|
||||||
}
|
|
||||||
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cd .techradar
|
|
||||||
npm install --legacy-peer-deps
|
|
||||||
npm install gray-matter
|
|
||||||
NPM_CONFIG_IGNORE_SCRIPTS=0 npm run build:icons
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Restaurer la valeur initiale de NODE_ENV pour le run
|
|
||||||
if [ -n "$ORIGINAL_NODE_ENV" ]; then
|
|
||||||
export NODE_ENV="$ORIGINAL_NODE_ENV"
|
|
||||||
else
|
|
||||||
unset NODE_ENV
|
|
||||||
fi
|
|
||||||
|
|
||||||
unset NPM_CONFIG_IGNORE_SCRIPTS
|
|
||||||
|
|
||||||
# Lancer le serveur
|
|
||||||
npm run serve -- --port "${PORT:-3000}"
|
npm run serve -- --port "${PORT:-3000}"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user