Vier neue Kapitel in der Anleitung (mehrere Sammler, Preise, Erinnerungen, Dubletten) mit vier automatisch erzeugten Bildern, Changelog 0.3.0 samt der bewusst weggelassenen BrickLink-Anbindung, Roadmap abgehakt und um einen offenen Ausblick ergaenzt, Devlog mit Zeiten und Stolpersteinen. Dazu zwei Korrekturen aus dem Testlauf: Der Zeitplan fuer Erinnerungen liess sich nicht aus Next' instrumentation.ts starten - die Datei wird auch fuer die Edge-Runtime uebersetzt, und das native SQLite-Modul bricht dort den Build. Er startet jetzt aus dem Healthcheck heraus, den der Container ohnehin alle 30 Sekunden aufruft, und zusaetzlich aus dem App-Layout; der Aufruf ist idempotent. Der Screenshot-Lauf waehlte ploetzlich die falschen Kacheln aus: Der neue Sammler-Umschalter benutzt ebenfalls aria-pressed. Die Auswahlkacheln tragen jetzt ein eigenes data-set-card. Ausserdem raeumen die Testskripte einen Container weg, den ein abgebrochener Lauf zurueckgelassen hat - sonst blockiert er den Port. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
/**
|
|
* Prepares the smoke run.
|
|
*
|
|
* The tests run against the production image, not the dev server: the dev
|
|
* server compiles routes on demand and, under the load of a full run, would
|
|
* occasionally drop a chunk mid-navigation. Testing the artefact that people
|
|
* actually deploy is also simply more useful.
|
|
*/
|
|
import { execFileSync } from 'node:child_process';
|
|
import fs from 'node:fs';
|
|
import path from 'node:path';
|
|
|
|
const dataDir = path.resolve(process.cwd(), 'data-e2e');
|
|
|
|
fs.rmSync(dataDir, { recursive: true, force: true });
|
|
fs.mkdirSync(path.join(dataDir, 'db'), { recursive: true });
|
|
fs.mkdirSync(path.join(dataDir, 'files'), { recursive: true });
|
|
console.log(`[e2e] ${dataDir} zurueckgesetzt.`);
|
|
|
|
// A container left behind by an aborted run would hold the port.
|
|
try {
|
|
execFileSync('docker', ['rm', '-f', 'bricktrack-e2e'], { stdio: 'ignore' });
|
|
} catch {
|
|
// Nothing to remove - the normal case.
|
|
}
|
|
|
|
console.log('[e2e] Image wird gebaut (bricktrack:e2e) …');
|
|
execFileSync('docker', ['build', '-t', 'bricktrack:e2e', '.'], { stdio: 'inherit' });
|
|
console.log('[e2e] Image ist bereit.');
|