slop game oder so
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Kopiert Phaser aus node_modules nach app/static/js/lib/.
|
||||
*
|
||||
* Warum kopieren statt CDN: Das Spiel soll ohne externe Abhängigkeiten laufen
|
||||
* (Offline-Betrieb, Datenschutz, strikte Content-Security-Policy). Die kopierte
|
||||
* Datei wird mit ausgeliefert; auf dem Server ist daher kein Node nötig.
|
||||
*
|
||||
* Aufruf: npm run vendor:phaser
|
||||
*/
|
||||
import { copyFileSync, mkdirSync, readFileSync } from 'node:fs';
|
||||
import { dirname, join } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
const root = join(dirname(fileURLToPath(import.meta.url)), '..');
|
||||
const source = join(root, 'node_modules', 'phaser');
|
||||
const target = join(root, 'app', 'static', 'js', 'lib');
|
||||
|
||||
const { version } = JSON.parse(readFileSync(join(source, 'package.json'), 'utf8'));
|
||||
if (!version.startsWith('3.')) {
|
||||
throw new Error(`Erwartet wird Phaser 3.x, gefunden: ${version}`);
|
||||
}
|
||||
|
||||
mkdirSync(target, { recursive: true });
|
||||
copyFileSync(join(source, 'dist', 'phaser.min.js'), join(target, 'phaser.min.js'));
|
||||
copyFileSync(join(source, 'LICENSE.md'), join(target, 'PHASER_LICENSE.md'));
|
||||
console.log(`Phaser ${version} nach ${target} kopiert.`);
|
||||
Reference in New Issue
Block a user