@arkvenai/cli 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +80 -242
  2. package/dist/befehle.js +138 -77
  3. package/dist/index.js +63 -334
  4. package/dist/projekt.js +121 -0
  5. package/dist/ruf.js +45 -0
  6. package/dist/uebertragen.js +185 -0
  7. package/dist/zugang.js +114 -0
  8. package/package.json +7 -39
  9. package/CHANGELOG.md +0 -105
  10. package/dist/agents.d.ts +0 -11
  11. package/dist/agents.d.ts.map +0 -1
  12. package/dist/agents.js +0 -76
  13. package/dist/agents.js.map +0 -1
  14. package/dist/auftrag.d.ts +0 -3
  15. package/dist/auftrag.d.ts.map +0 -1
  16. package/dist/auftrag.js +0 -45
  17. package/dist/auftrag.js.map +0 -1
  18. package/dist/bauplan.d.ts +0 -15
  19. package/dist/bauplan.d.ts.map +0 -1
  20. package/dist/bauplan.js +0 -219
  21. package/dist/bauplan.js.map +0 -1
  22. package/dist/befehle.d.ts +0 -12
  23. package/dist/befehle.d.ts.map +0 -1
  24. package/dist/befehle.js.map +0 -1
  25. package/dist/befund.d.ts +0 -21
  26. package/dist/befund.d.ts.map +0 -1
  27. package/dist/befund.js +0 -107
  28. package/dist/befund.js.map +0 -1
  29. package/dist/codeAblage.d.ts +0 -31
  30. package/dist/codeAblage.d.ts.map +0 -1
  31. package/dist/codeAblage.js +0 -80
  32. package/dist/codeAblage.js.map +0 -1
  33. package/dist/deklaration.d.ts +0 -3
  34. package/dist/deklaration.d.ts.map +0 -1
  35. package/dist/deklaration.js +0 -14
  36. package/dist/deklaration.js.map +0 -1
  37. package/dist/diff.d.ts +0 -10
  38. package/dist/diff.d.ts.map +0 -1
  39. package/dist/diff.js +0 -72
  40. package/dist/diff.js.map +0 -1
  41. package/dist/erkennung.d.ts +0 -26
  42. package/dist/erkennung.d.ts.map +0 -1
  43. package/dist/erkennung.js +0 -174
  44. package/dist/erkennung.js.map +0 -1
  45. package/dist/fix.d.ts +0 -26
  46. package/dist/fix.d.ts.map +0 -1
  47. package/dist/fix.js +0 -101
  48. package/dist/fix.js.map +0 -1
  49. package/dist/geteilt/bauplan/form.d.ts +0 -100
  50. package/dist/geteilt/bauplan/form.d.ts.map +0 -1
  51. package/dist/geteilt/bauplan/form.js +0 -21
  52. package/dist/geteilt/bauplan/form.js.map +0 -1
  53. package/dist/geteilt/bauplan/index.d.ts +0 -4
  54. package/dist/geteilt/bauplan/index.d.ts.map +0 -1
  55. package/dist/geteilt/bauplan/index.js +0 -4
  56. package/dist/geteilt/bauplan/index.js.map +0 -1
  57. package/dist/geteilt/bauplan/lesen.d.ts +0 -6
  58. package/dist/geteilt/bauplan/lesen.d.ts.map +0 -1
  59. package/dist/geteilt/bauplan/lesen.js +0 -344
  60. package/dist/geteilt/bauplan/lesen.js.map +0 -1
  61. package/dist/geteilt/bauplan/schreiben.d.ts +0 -3
  62. package/dist/geteilt/bauplan/schreiben.d.ts.map +0 -1
  63. package/dist/geteilt/bauplan/schreiben.js +0 -80
  64. package/dist/geteilt/bauplan/schreiben.js.map +0 -1
  65. package/dist/index.d.ts +0 -3
  66. package/dist/index.d.ts.map +0 -1
  67. package/dist/index.js.map +0 -1
  68. package/dist/init.d.ts +0 -28
  69. package/dist/init.d.ts.map +0 -1
  70. package/dist/init.js +0 -324
  71. package/dist/init.js.map +0 -1
  72. package/dist/login.d.ts +0 -45
  73. package/dist/login.d.ts.map +0 -1
  74. package/dist/login.js +0 -162
  75. package/dist/login.js.map +0 -1
  76. package/dist/mcp.d.ts +0 -18
  77. package/dist/mcp.d.ts.map +0 -1
  78. package/dist/mcp.js +0 -115
  79. package/dist/mcp.js.map +0 -1
  80. package/dist/neu.d.ts +0 -17
  81. package/dist/neu.d.ts.map +0 -1
  82. package/dist/neu.js +0 -118
  83. package/dist/neu.js.map +0 -1
  84. package/dist/npmrc.d.ts +0 -9
  85. package/dist/npmrc.d.ts.map +0 -1
  86. package/dist/npmrc.js +0 -49
  87. package/dist/npmrc.js.map +0 -1
  88. package/dist/projekte.d.ts +0 -23
  89. package/dist/projekte.d.ts.map +0 -1
  90. package/dist/projekte.js +0 -82
  91. package/dist/projekte.js.map +0 -1
  92. package/dist/pull.d.ts +0 -15
  93. package/dist/pull.d.ts.map +0 -1
  94. package/dist/pull.js +0 -301
  95. package/dist/pull.js.map +0 -1
  96. package/dist/push/bericht.d.ts +0 -8
  97. package/dist/push/bericht.d.ts.map +0 -1
  98. package/dist/push/bericht.js +0 -85
  99. package/dist/push/bericht.js.map +0 -1
  100. package/dist/push/form.d.ts +0 -67
  101. package/dist/push/form.d.ts.map +0 -1
  102. package/dist/push/form.js +0 -6
  103. package/dist/push/form.js.map +0 -1
  104. package/dist/push/medien.d.ts +0 -7
  105. package/dist/push/medien.d.ts.map +0 -1
  106. package/dist/push/medien.js +0 -154
  107. package/dist/push/medien.js.map +0 -1
  108. package/dist/push/sammeln.d.ts +0 -34
  109. package/dist/push/sammeln.d.ts.map +0 -1
  110. package/dist/push/sammeln.js +0 -112
  111. package/dist/push/sammeln.js.map +0 -1
  112. package/dist/push/verzeichnisse.d.ts +0 -40
  113. package/dist/push/verzeichnisse.d.ts.map +0 -1
  114. package/dist/push/verzeichnisse.js +0 -158
  115. package/dist/push/verzeichnisse.js.map +0 -1
  116. package/dist/push.d.ts +0 -8
  117. package/dist/push.d.ts.map +0 -1
  118. package/dist/push.js +0 -306
  119. package/dist/push.js.map +0 -1
  120. package/dist/starter.d.ts +0 -4
  121. package/dist/starter.d.ts.map +0 -1
  122. package/dist/starter.js +0 -587
  123. package/dist/starter.js.map +0 -1
  124. package/dist/tiefpruefung.d.ts +0 -39
  125. package/dist/tiefpruefung.d.ts.map +0 -1
  126. package/dist/tiefpruefung.js +0 -56
  127. package/dist/tiefpruefung.js.map +0 -1
  128. package/dist/vertrag.d.ts +0 -6
  129. package/dist/vertrag.d.ts.map +0 -1
  130. package/dist/vertrag.js +0 -267
  131. package/dist/vertrag.js.map +0 -1
  132. package/dist/vertragSpaet.d.ts +0 -4
  133. package/dist/vertragSpaet.d.ts.map +0 -1
  134. package/dist/vertragSpaet.js +0 -158
  135. package/dist/vertragSpaet.js.map +0 -1
  136. package/dist/vorlagen.d.ts +0 -7
  137. package/dist/vorlagen.d.ts.map +0 -1
  138. package/dist/vorlagen.js +0 -83
  139. package/dist/vorlagen.js.map +0 -1
@@ -1,154 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
- export function medienHash(daten) {
3
- return createHash('sha256').update(daten).digest('hex').slice(0, 32);
4
- }
5
- export function webPfad(pfad) {
6
- const p = pfad.replace(/\\/g, '/').replace(/^\/+/, '');
7
- return p.startsWith('public/') ? `/${p.slice('public/'.length)}` : `/${p}`;
8
- }
9
- export async function uebertrageMedien(server, token, projekt, teile, opts) {
10
- const alle = [
11
- ...teile.app.sammlung.medien.map((m) => ({ ...m, pfad: webPfad(m.pfad) })),
12
- ...(teile.server?.sammlung.medien ?? []),
13
- ];
14
- const kopf = { 'content-type': 'application/json', authorization: `Bearer ${token}` };
15
- const basis = `${server}/api/projekte/${encodeURIComponent(projekt)}/medien`;
16
- let vorhanden = new Map();
17
- try {
18
- const res = await fetch(basis, { headers: kopf });
19
- if (res.ok) {
20
- const daten = (await res.json());
21
- vorhanden = new Map((daten.medien ?? []).map((m) => [m.pfad, m.hash]));
22
- }
23
- }
24
- catch {
25
- // Kein Abgleich moeglich → alles neu uebertragen. Teurer, nie falsch.
26
- }
27
- const pfadeAlle = alle.map((m) => (m.pfad.startsWith('/') ? m.pfad : `/${m.pfad}`));
28
- const offen = alle.filter((m) => {
29
- const pfad = m.pfad.startsWith('/') ? m.pfad : `/${m.pfad}`;
30
- return vorhanden.get(pfad) !== medienHash(m.daten);
31
- });
32
- if (alle.length === 0 && vorhanden.size === 0)
33
- return undefined;
34
- if (offen.length === 0) {
35
- opts.sage(`Medien: ${alle.length} Datei(en), alle unverändert.`);
36
- }
37
- else {
38
- const mb = offen.reduce((s, m) => s + m.daten.byteLength, 0) / 1024 / 1024;
39
- opts.sage(`Medien: ${offen.length} von ${alle.length} Datei(en) werden übertragen (${mb.toFixed(1)} MB) …`);
40
- let fertig = 0;
41
- for (const m of offen) {
42
- const pfad = m.pfad.startsWith('/') ? m.pfad : `/${m.pfad}`;
43
- let res;
44
- try {
45
- res = await fetch(basis, {
46
- method: 'PUT',
47
- headers: kopf,
48
- body: JSON.stringify({ pfad, base64: m.daten.toString('base64') }),
49
- });
50
- }
51
- catch (e) {
52
- return `Die Übertragung von „${pfad}" ist abgebrochen: ${String(e?.message ?? e)}\nSo kommst du weiter: \`arkven push\` erneut; bereits übertragene Medien bleiben liegen.`;
53
- }
54
- if (!res.ok) {
55
- const fehler = (await res.json().catch(() => ({})));
56
- return `„${pfad}" wurde abgelehnt: ${fehler.error ?? `Status ${res.status}`}`;
57
- }
58
- fertig++;
59
- if (fertig % 5 === 0 || fertig === offen.length)
60
- opts.sage(` ${fertig}/${offen.length}`);
61
- }
62
- }
63
- try {
64
- const res = await fetch(basis, { method: 'DELETE', headers: kopf, body: JSON.stringify({ behalten: pfadeAlle }) });
65
- if (res.ok) {
66
- const daten = (await res.json());
67
- if (daten.entfernt?.length)
68
- opts.sage(`Medien: ${daten.entfernt.length} nicht mehr vorhandene Datei(en) entfernt.`);
69
- }
70
- }
71
- catch {
72
- // Ein liegen gebliebenes altes Medium schadet nicht genug, um den Push scheitern zu lassen.
73
- }
74
- return undefined;
75
- }
76
- export async function rolleAus(server, token, projekt, opts) {
77
- const kopf = { 'content-type': 'application/json', authorization: `Bearer ${token}` };
78
- opts.sage('');
79
- opts.sage('Wird online gestellt …');
80
- try {
81
- const start = await fetch(`${server}/api/sessions/${encodeURIComponent(projekt)}/cloud/activate/start`, {
82
- method: 'POST',
83
- headers: kopf,
84
- body: JSON.stringify({}),
85
- });
86
- if (!start.ok) {
87
- const text = await start.text().catch(() => '');
88
- return {
89
- code: 1,
90
- projekt,
91
- grund: `Der Start liess sich nicht auslösen (Status ${start.status}).${text ? `\n${text.slice(0, 400)}` : ''}\n` +
92
- 'Dein Code ist übertragen und bleibt es. So kommst du weiter: `arkven push --deploy` erneut, oder im Cockpit auf „Veroeffentlichen".',
93
- };
94
- }
95
- }
96
- catch (e) {
97
- return {
98
- code: 2,
99
- projekt,
100
- grund: `Der Server war beim Ausrollen nicht erreichbar: ${String(e?.message || e)}\n` +
101
- 'Dein Code ist übertragen und bleibt es. So kommst du weiter: es später erneut versuchen, oder im Cockpit auf „Veroeffentlichen".',
102
- };
103
- }
104
- const abstandMs = opts.test?.abstandMs ?? 2000;
105
- const ende = Date.now() + (opts.test?.deadlineMs ?? 20 * 60 * 1000);
106
- let cursor = 0;
107
- let ersteFehlerzeile;
108
- while (Date.now() < ende) {
109
- await new Promise((r) => setTimeout(r, abstandMs));
110
- let daten;
111
- try {
112
- const res = await fetch(`${server}/api/sessions/${encodeURIComponent(projekt)}/cloud/activation?after=${cursor}`, { headers: kopf });
113
- daten = (await res.json());
114
- }
115
- catch {
116
- continue;
117
- }
118
- const lauf = daten.run;
119
- if (!lauf)
120
- continue;
121
- cursor = lauf.cursor ?? cursor;
122
- for (const e of lauf.events ?? []) {
123
- if (e.type === 'phase' && e.message)
124
- opts.sage(` ${e.message}`);
125
- else if (e.type === 'log' && e.message)
126
- opts.sage(` ${e.message}`);
127
- else if (e.type === 'gate')
128
- opts.sage(` ${e.ok ? '✓' : '✗'} ${e.name}${e.details ? `: ${e.details}` : ''}`);
129
- else if (e.type === 'error' && e.message && !ersteFehlerzeile)
130
- ersteFehlerzeile = e.message.split('\n')[0];
131
- }
132
- if (lauf.status === 'error' || lauf.error) {
133
- const grundZeile = ersteFehlerzeile ?? lauf.error?.split('\n')[0] ?? 'Der Lauf ist ohne benannten Grund gescheitert.';
134
- return {
135
- code: 1,
136
- projekt,
137
- grund: `Das Ausrollen ist gescheitert: ${grundZeile}\n` +
138
- 'Dein Code ist übertragen und bleibt es. So kommst du weiter: den Punkt beheben, danach `arkven push --deploy` erneut.',
139
- };
140
- }
141
- if (lauf.status && lauf.status !== 'running') {
142
- opts.sage('');
143
- opts.sage(daten.cloud?.url ? `Online: ${daten.cloud.url}` : 'Online.');
144
- return { code: 0, projekt };
145
- }
146
- }
147
- return {
148
- code: 1,
149
- projekt,
150
- grund: 'Der Lauf dauert länger als dieses Fenster. Er läuft auf dem Server weiter.\n' +
151
- 'So kommst du weiter: den Fortschritt im Cockpit ansehen. Dein Code ist übertragen und bleibt es.',
152
- };
153
- }
154
- //# sourceMappingURL=medien.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"medien.js","sourceRoot":"","sources":["../../src/push/medien.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- export interface GesammelteDatei {
2
- pfad: string;
3
- inhalt: string;
4
- }
5
- export interface GesammeltesMedium {
6
- pfad: string;
7
- daten: Buffer;
8
- }
9
- export interface Sammlung {
10
- dateien: GesammelteDatei[];
11
- medien: GesammeltesMedium[];
12
- ausgelassen: {
13
- erzeugt: number;
14
- versteckt: number;
15
- binaer: number;
16
- zuGross: string[];
17
- andererTeil: number;
18
- bericht: number;
19
- };
20
- }
21
- export declare const MEDIEN_ENDUNGEN: Set<string>;
22
- export declare function istMedium(pfad: string): boolean;
23
- export declare function sammleDateien(wurzel: string, opts?: {
24
- ausser?: readonly string[];
25
- }): Sammlung;
26
- export declare const DATEI = "arkven.json";
27
- export interface ArkvenDatei {
28
- projekt?: string;
29
- verzeichnisse?: unknown;
30
- [k: string]: unknown;
31
- }
32
- export declare function leseArkvenDatei(wurzel: string): ArkvenDatei;
33
- export declare function merkeProjekt(wurzel: string, projekt: string): boolean;
34
- //# sourceMappingURL=sammeln.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sammeln.d.ts","sourceRoot":"","sources":["../../src/push/sammeln.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,eAAe,EAAE,CAAA;IAE1B,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAE3B,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7H;AAED,eAAO,MAAM,eAAe,aAM1B,CAAA;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GAAG,QAAQ,CAiEjG;AAED,eAAO,MAAM,KAAK,gBAAgB,CAAA;AAElC,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAO3D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAiBrE"}
@@ -1,112 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { AUSGESCHLOSSEN, MAX_DATEI_BYTES, NUR_AUSGABE } from './form.js';
4
- export const MEDIEN_ENDUNGEN = new Set([
5
- 'jpg', 'jpeg', 'png', 'gif', 'webp', 'avif', 'svg', 'ico', 'bmp',
6
- 'mp4', 'webm', 'ogv', 'mov',
7
- 'mp3', 'wav', 'ogg', 'm4a',
8
- 'woff', 'woff2', 'ttf', 'otf', 'eot',
9
- 'pdf',
10
- ]);
11
- export function istMedium(pfad) {
12
- return MEDIEN_ENDUNGEN.has((pfad.split('.').pop() || '').toLowerCase());
13
- }
14
- export function sammleDateien(wurzel, opts = {}) {
15
- const dateien = [];
16
- const medien = [];
17
- const ausgelassen = { erzeugt: 0, versteckt: 0, binaer: 0, zuGross: [], andererTeil: 0, bericht: 0 };
18
- const ausser = new Set((opts.ausser ?? []).map((p) => p.replace(/\\/g, '/').replace(/^\.\//, '').replace(/\/+$/, '')));
19
- const lauf = (unter, tiefe) => {
20
- if (tiefe > 12)
21
- return;
22
- let eintraege;
23
- try {
24
- eintraege = fs.readdirSync(path.join(wurzel, unter), { withFileTypes: true });
25
- }
26
- catch {
27
- return;
28
- }
29
- for (const e of eintraege) {
30
- const rel = unter ? `${unter}/${e.name}` : e.name;
31
- if (ausser.has(rel)) {
32
- ausgelassen.andererTeil++;
33
- continue;
34
- }
35
- if (e.name.startsWith('.')) {
36
- ausgelassen.versteckt++;
37
- continue;
38
- }
39
- if (AUSGESCHLOSSEN.has(e.name)) {
40
- ausgelassen.erzeugt++;
41
- continue;
42
- }
43
- if (NUR_AUSGABE.has(rel)) {
44
- ausgelassen.bericht++;
45
- continue;
46
- }
47
- if (e.isDirectory()) {
48
- lauf(rel, tiefe + 1);
49
- continue;
50
- }
51
- if (!e.isFile())
52
- continue;
53
- let roh;
54
- try {
55
- roh = fs.readFileSync(path.join(wurzel, rel));
56
- }
57
- catch {
58
- continue;
59
- }
60
- if (istMedium(rel)) {
61
- medien.push({ pfad: rel, daten: roh });
62
- continue;
63
- }
64
- if (roh.byteLength > MAX_DATEI_BYTES) {
65
- ausgelassen.zuGross.push(rel);
66
- continue;
67
- }
68
- if (roh.subarray(0, 8000).includes(0)) {
69
- ausgelassen.binaer++;
70
- continue;
71
- }
72
- dateien.push({ pfad: rel, inhalt: roh.toString('utf8') });
73
- }
74
- };
75
- lauf('', 0);
76
- dateien.sort((a, b) => a.pfad.localeCompare(b.pfad));
77
- medien.sort((a, b) => a.pfad.localeCompare(b.pfad));
78
- return { dateien, medien, ausgelassen };
79
- }
80
- export const DATEI = 'arkven.json';
81
- export function leseArkvenDatei(wurzel) {
82
- try {
83
- const gelesen = JSON.parse(fs.readFileSync(path.join(wurzel, DATEI), 'utf8'));
84
- return gelesen && typeof gelesen === 'object' && !Array.isArray(gelesen) ? gelesen : {};
85
- }
86
- catch {
87
- return {};
88
- }
89
- }
90
- export function merkeProjekt(wurzel, projekt) {
91
- const pfad = path.join(wurzel, DATEI);
92
- const alt = leseArkvenDatei(wurzel);
93
- if (alt.projekt === projekt)
94
- return false;
95
- let einrueckung = 2;
96
- try {
97
- const text = fs.readFileSync(pfad, 'utf8');
98
- if (/^\{\n {4}"/.test(text))
99
- einrueckung = 4;
100
- }
101
- catch {
102
- /* die Datei entsteht gleich */
103
- }
104
- try {
105
- fs.writeFileSync(pfad, JSON.stringify({ ...alt, projekt }, null, einrueckung) + '\n');
106
- return true;
107
- }
108
- catch {
109
- return false;
110
- }
111
- }
112
- //# sourceMappingURL=sammeln.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sammeln.js","sourceRoot":"","sources":["../../src/push/sammeln.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { ArkvenDatei, Sammlung } from './sammeln.js';
2
- export interface Verzeichnisse {
3
- server?: string;
4
- frontend?: string;
5
- }
6
- export declare const VERZEICHNIS_FELDER: readonly ["server", "frontend"];
7
- export type VerzeichnisFeld = (typeof VERZEICHNIS_FELDER)[number];
8
- export declare const VERZEICHNIS_NAME: Record<VerzeichnisFeld, string>;
9
- export declare const BEISPIEL = "\"verzeichnisse\": { \"server\": \"server\", \"frontend\": \"web\" }";
10
- export type VerzeichnisErgebnis = {
11
- ok: true;
12
- verzeichnisse: Verzeichnisse;
13
- } | {
14
- ok: false;
15
- grund: string;
16
- };
17
- export declare function istVerzeichnis(p: string): boolean;
18
- export declare function leseVerzeichnisse(wurzel: string, datei?: ArkvenDatei): VerzeichnisErgebnis;
19
- export interface Teil {
20
- unter: string;
21
- ziel: string;
22
- sammlung: Sammlung;
23
- }
24
- export interface Teile {
25
- app: Teil;
26
- server?: Teil;
27
- deklarationMitgereist: boolean;
28
- liegenGeblieben: string[];
29
- }
30
- export declare const ZIEL_APP = "Frontend (Vorschau und Frontend-Bau)";
31
- export declare const ZIEL_SERVER = "Server (Quelltext im Container)";
32
- export declare function sammleTeile(wurzel: string, verzeichnisse: Verzeichnisse): Teile;
33
- export declare function liegenGeblieben(wurzel: string, app: Teil, server?: Teil): string[];
34
- export declare const GENERISCHE_ORDNER: Set<string>;
35
- export interface NamensQuelle {
36
- name?: string;
37
- quelle: string;
38
- }
39
- export declare function nameAusProjekt(wurzel: string): NamensQuelle;
40
- //# sourceMappingURL=verzeichnisse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verzeichnisse.d.ts","sourceRoot":"","sources":["../../src/push/verzeichnisse.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAS,QAAQ,EAAkC,MAAM,cAAc,CAAA;AAE3F,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,kBAAkB,iCAAkC,CAAA;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAG5D,CAAA;AAED,eAAO,MAAM,QAAQ,yEAA+D,CAAA;AAEpF,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3G,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAMjD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,WAAqC,GAAG,mBAAmB,CAmDnH;AAED,MAAM,WAAW,IAAI;IAEnB,KAAK,EAAE,MAAM,CAAA;IAEb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,KAAK;IAEpB,GAAG,EAAE,IAAI,CAAA;IAET,MAAM,CAAC,EAAE,IAAI,CAAA;IAEb,qBAAqB,EAAE,OAAO,CAAA;IAE9B,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,QAAQ,yCAAyC,CAAA;AAC9D,eAAO,MAAM,WAAW,oCAAoC,CAAA;AAE5D,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,KAAK,CA+C/E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAelF;AAED,eAAO,MAAM,iBAAiB,aAI5B,CAAA;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAgB3D"}
@@ -1,158 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { AUSGESCHLOSSEN, BEGLEIT_DATEIEN, MAIL_ORDNER } from './form.js';
4
- import { DATEI, leseArkvenDatei, sammleDateien } from './sammeln.js';
5
- export const VERZEICHNIS_FELDER = ['server', 'frontend'];
6
- export const VERZEICHNIS_NAME = {
7
- server: 'Server-Teil',
8
- frontend: 'Frontend-Teil',
9
- };
10
- export const BEISPIEL = '"verzeichnisse": { "server": "server", "frontend": "web" }';
11
- export function istVerzeichnis(p) {
12
- try {
13
- return fs.statSync(p).isDirectory();
14
- }
15
- catch {
16
- return false;
17
- }
18
- }
19
- export function leseVerzeichnisse(wurzel, datei = leseArkvenDatei(wurzel)) {
20
- const roh = datei.verzeichnisse;
21
- if (roh === undefined)
22
- return { ok: true, verzeichnisse: {} };
23
- if (typeof roh !== 'object' || roh === null || Array.isArray(roh)) {
24
- return {
25
- ok: false,
26
- grund: `In ${DATEI} ist \`verzeichnisse\` kein Objekt, deshalb steht nicht fest, wo die Teile dieses Projekts liegen.\n` +
27
- `So kommst du weiter: ${BEISPIEL} eintragen, oder die Zeile entfernen, dann ist die Projektwurzel der eine Baum.`,
28
- };
29
- }
30
- const felder = roh;
31
- const verzeichnisse = {};
32
- for (const name of Object.keys(felder)) {
33
- if (!VERZEICHNIS_FELDER.includes(name)) {
34
- return {
35
- ok: false,
36
- grund: `In ${DATEI} kennt Arkven \`verzeichnisse.${name}\` nicht, und ein Feld, das niemand liest, würde still nichts bewirken.\n` +
37
- `So kommst du weiter: bekannt sind ${VERZEICHNIS_FELDER.join(' und ')}.`,
38
- };
39
- }
40
- }
41
- for (const feld of VERZEICHNIS_FELDER) {
42
- const wert = felder[feld];
43
- if (wert === undefined)
44
- continue;
45
- const rel = typeof wert === 'string' ? wert.trim().replace(/\\/g, '/').replace(/^\.\//, '').replace(/\/+$/, '') : '';
46
- if (!rel || rel.startsWith('/') || /^[a-zA-Z]:/.test(rel) || rel.split('/').includes('..')) {
47
- return {
48
- ok: false,
49
- grund: `In ${DATEI} ist \`verzeichnisse.${feld}\` kein Verzeichnis innerhalb des Projekts (${JSON.stringify(wert)}).\n` +
50
- `So kommst du weiter: einen Pfad relativ zur Projektwurzel eintragen, zum Beispiel ${BEISPIEL}.`,
51
- };
52
- }
53
- if (!istVerzeichnis(path.join(wurzel, rel))) {
54
- return {
55
- ok: false,
56
- grund: `${DATEI} nennt \`${rel}/\` als ${VERZEICHNIS_NAME[feld]}, aber dieses Verzeichnis gibt es hier nicht. ` +
57
- 'Es wurde nichts geschickt: sonst ginge der falsche Teil an die falsche Stelle.\n' +
58
- `So kommst du weiter: den Pfad in ${DATEI} berichtigen, oder \`verzeichnisse\` entfernen, dann ist die Projektwurzel der eine Baum.`,
59
- };
60
- }
61
- verzeichnisse[feld] = rel;
62
- }
63
- return { ok: true, verzeichnisse };
64
- }
65
- export const ZIEL_APP = 'Frontend (Vorschau und Frontend-Bau)';
66
- export const ZIEL_SERVER = 'Server (Quelltext im Container)';
67
- export function sammleTeile(wurzel, verzeichnisse) {
68
- const appUnter = verzeichnisse.frontend ?? '';
69
- const serverUnter = verzeichnisse.server;
70
- const ausser = !appUnter && serverUnter ? [serverUnter] : [];
71
- const app = { unter: appUnter, ziel: ZIEL_APP, sammlung: sammleDateien(path.join(wurzel, appUnter), { ausser }) };
72
- let deklarationMitgereist = false;
73
- if (appUnter && !app.sammlung.dateien.some((d) => d.pfad === DATEI)) {
74
- try {
75
- app.sammlung.dateien.push({ pfad: DATEI, inhalt: fs.readFileSync(path.join(wurzel, DATEI), 'utf8') });
76
- deklarationMitgereist = true;
77
- }
78
- catch {
79
- /* ohne Datei gibt es nichts mitzunehmen — dann gab es auch kein `verzeichnisse` */
80
- }
81
- }
82
- for (const rel of BEGLEIT_DATEIEN) {
83
- if (app.sammlung.dateien.some((d) => d.pfad === rel))
84
- continue;
85
- try {
86
- app.sammlung.dateien.push({ pfad: rel, inhalt: fs.readFileSync(path.join(wurzel, rel), 'utf8') });
87
- }
88
- catch {
89
- /* nicht da, nicht mitgeschickt — beide Dateien sind freiwillig */
90
- }
91
- }
92
- try {
93
- for (const name of fs.readdirSync(path.join(wurzel, MAIL_ORDNER))) {
94
- if (!name.endsWith('.md'))
95
- continue;
96
- const rel = `${MAIL_ORDNER}/${name}`;
97
- if (app.sammlung.dateien.some((d) => d.pfad === rel))
98
- continue;
99
- try {
100
- app.sammlung.dateien.push({ pfad: rel, inhalt: fs.readFileSync(path.join(wurzel, rel), 'utf8') });
101
- }
102
- catch {
103
- /* unlesbar = nicht mitgeschickt */
104
- }
105
- }
106
- }
107
- catch {
108
- /* kein Ordner = keine eigenen Vorlagen, der Normalfall */
109
- }
110
- app.sammlung.dateien.sort((a, b) => a.pfad.localeCompare(b.pfad));
111
- const server = serverUnter
112
- ? { unter: serverUnter, ziel: ZIEL_SERVER, sammlung: sammleDateien(path.join(wurzel, serverUnter)) }
113
- : undefined;
114
- return { app, server, deklarationMitgereist, liegenGeblieben: liegenGeblieben(wurzel, app, server) };
115
- }
116
- export function liegenGeblieben(wurzel, app, server) {
117
- if (!app.unter && !server)
118
- return [];
119
- const teilOrdner = new Set([app.unter, server?.unter].filter(Boolean));
120
- let eintraege;
121
- try {
122
- eintraege = fs.readdirSync(wurzel, { withFileTypes: true });
123
- }
124
- catch {
125
- return [];
126
- }
127
- return eintraege
128
- .filter((e) => !e.name.startsWith('.') && !AUSGESCHLOSSEN.has(e.name) && !teilOrdner.has(e.name) && e.name !== DATEI)
129
- // Liegt der App-Baum in der Wurzel, kommt von dort ohnehin alles ausser dem Server-Ordner mit.
130
- .filter(() => Boolean(app.unter))
131
- .map((e) => (e.isDirectory() ? `${e.name}/` : e.name))
132
- .sort();
133
- }
134
- export const GENERISCHE_ORDNER = new Set([
135
- 'server', 'web', 'app', 'apps', 'api', 'src', 'backend', 'frontend', 'client', 'packages', 'package',
136
- 'code', 'projekt', 'project', 'projects', 'repo', 'repos', 'tmp', 'temp', 'dist', 'build', 'main',
137
- 'master', 'neu', 'new', 'test', 'tests', 'work', 'arbeit', 'ordner',
138
- ]);
139
- export function nameAusProjekt(wurzel) {
140
- try {
141
- const pkg = JSON.parse(fs.readFileSync(path.join(wurzel, 'package.json'), 'utf8'));
142
- if (typeof pkg?.name === 'string' && pkg.name.trim())
143
- return { name: pkg.name.trim(), quelle: '`name` aus der package.json' };
144
- }
145
- catch {
146
- /* keine oder keine lesbare package.json — dann zaehlt der Ordner */
147
- }
148
- const ordner = path.basename(wurzel).trim();
149
- if (ordner.length >= 2 && !GENERISCHE_ORDNER.has(ordner.toLowerCase())) {
150
- return { name: ordner, quelle: 'der Name des Projektordners' };
151
- }
152
- return {
153
- quelle: ordner
154
- ? `in der package.json steht kein Name, und der Ordner heißt „${ordner}", und das sagt nichts über das Projekt`
155
- : 'weder eine package.json mit Namen noch ein aussagekraeftiger Ordnername',
156
- };
157
- }
158
- //# sourceMappingURL=verzeichnisse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verzeichnisse.js","sourceRoot":"","sources":["../../src/push/verzeichnisse.ts"],"names":[],"mappings":"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"}
package/dist/push.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import type { PushErgebnis, PushOptionen } from './push/form.js';
2
- export type { PushErgebnis, PushOptionen } from './push/form.js';
3
- export { istMedium, leseArkvenDatei, merkeProjekt, sammleDateien } from './push/sammeln.js';
4
- export type { GesammelteDatei, GesammeltesMedium, Sammlung } from './push/sammeln.js';
5
- export { ZIEL_APP, ZIEL_SERVER, leseVerzeichnisse, nameAusProjekt, sammleTeile } from './push/verzeichnisse.js';
6
- export type { NamensQuelle, Teil, Teile, VerzeichnisErgebnis, Verzeichnisse } from './push/verzeichnisse.js';
7
- export declare function fahrePush(wurzel: string, opts: PushOptionen): Promise<PushErgebnis>;
8
- //# sourceMappingURL=push.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAiB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC/E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC3F,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAErF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC/G,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAI5G,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA4TzF"}