Changeset 6248497 in Klonkt for scripts/export-archive.mjs
- Timestamp:
- 08/07/2026 04:37:37 PM (5 weeks ago)
- Branches:
- main
- Children:
- a4fea5e
- Parents:
- 7d7b36d
- git-author:
- roboburr <roboburr@…> (08/07/2026 04:37:26 PM)
- git-committer:
- roboburr <roboburr@…> (08/07/2026 04:37:37 PM)
- File:
-
- 1 edited
-
scripts/export-archive.mjs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
scripts/export-archive.mjs
r7d7b36d r6248497 6 6 // node scripts/export-archive.mjs <slug> --out boiert.zip 7 7 // node scripts/export-archive.mjs <slug> --dir ./archief 8 // 9 // Op een machine met meerdere instances leest hij de .env van die instance zelf 10 // (standaard /var/lib/klonkt/<slug>/.env). Dat is niet netjesheid maar noodzaak: 11 // zonder die .env opent hij de database die toevallig in de code-map ligt, en op 12 // een server die ooit de enkelvoudige opzet draaide is dat een oude lege. Dan 13 // komt er een archief uit dat MELDT dat het gelukt is en nul posts bevat. 14 // 15 // --data-root <map> waar de instances staan (standaard /var/lib/klonkt) 16 // --env <pad> een .env rechtstreeks aanwijzen 8 17 // 9 18 // Het formaat staat in docs/EXPORT-FORMAT.md. … … 15 24 import fs from 'fs'; 16 25 import path from 'path'; 17 import { buildArchive, zipArchive, writeArchiveDir } from '../src/services/ArchiveExportService.js';26 import { kiesInstance, eisOrigin } from './instance-env.mjs'; 18 27 19 28 const args = process.argv.slice(2); … … 22 31 23 32 if (!slug) { 24 console.error('gebruik: node scripts/export-archive.mjs <slug> [--d ry-run | --out <zip> | --dir <map>]');33 console.error('gebruik: node scripts/export-archive.mjs <slug> [--data-root <map>] [--env <pad>] [--dry-run | --out <zip> | --dir <map>]'); 25 34 process.exit(1); 26 35 } 27 36 28 const uit = buildArchive(slug); 37 // EERST de instance kiezen, DAN pas de service laden: src/config/database.js 38 // leest DATABASE_PATH bij import en opent de database meteen. 39 let gekozen; 40 try { 41 gekozen = kiesInstance(slug, { 42 dataRoot: typeof vlag('--data-root') === 'string' ? vlag('--data-root') : null, 43 envPad: typeof vlag('--env') === 'string' ? vlag('--env') : null, 44 }); 45 } catch (e) { console.error(e.message); process.exit(1); } 46 eisOrigin(gekozen.bron); 47 48 const { buildArchive, zipArchive, writeArchiveDir } = await import('../src/services/ArchiveExportService.js'); 49 50 let uit; 51 try { uit = buildArchive(slug); } 52 catch (e) { 53 console.error(`${e.message}`); 54 if (gekozen.bron) console.error(`(gelezen uit ${gekozen.bron})`); 55 else console.error('(geen instance-.env gevonden -- op een split install: --data-root /var/lib/klonkt)'); 56 process.exit(1); 57 } 29 58 const t = uit.counts; 30 console.log(`site : ${uit.manifest.site.slug} (${uit.manifest.origin || 'geen PUBLIC_BASE_URL'})`); 59 console.log(`site : ${uit.manifest.site.slug} (${uit.manifest.origin})`); 60 console.log(`instellingen uit: ${gekozen.bron || 'de omgeving'}`); 61 console.log(`database : ${process.env.DATABASE_PATH || '(standaard in de code-map)'}`); 31 62 console.log(`posts : ${t.posts}`); 32 63 console.log(`antwoorden: ${t.replies} (alleen-lezen archief)`);
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)