-
Notifications
You must be signed in to change notification settings - Fork 3
/
prebuild.js
124 lines (109 loc) · 4.38 KB
/
prebuild.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
const fs = require('fs');
const packageJson = require('./package.json');
const imprint = `
<h2>Herausgeber</h2>
<h3>Firmenname</h3>
<p>
Firmenadresse
</p>
<p>
Kontaktdaten
</p>
<h2>Rechtliche Hinweise</h2>
<p>
Hinweise
</p>
<h2>Realisierung</h2>
<p>
Design, Entwicklung
</p>
<p>
Dataport<br>
Anstalt öffentlichen Rechts<br>
Altenholzer Straße 10-14<br>
24161 Altenholz<br>
Tel.: +49 (0)431 3295-0<br>
Fax.: +49 (0)431 3295-0<br>
</p>
<p>
E-Mail: <a href="mailto:[email protected]">[email protected]</a>
</p>
<h2>Inhalte</h2>
<p>
Für Vollständigkeit, Fehler redaktioneller und technischer Art, Auslassungen sowie die Richtigkeit der Eintragungen kann keine
Haftung übernommen werden. Insbesondere kann keine Gewähr für die Vollständigkeit und Richtigkeit von Informationen übernommen
werden, die über weiterführende Links erreicht werden.
</p>
<p>
Anbieter dieser Links sind für die eigenen Inhalte, die sie zur Nutzung bereithalten, nach den allgemeinen Gesetzen
verantwortlich. Von diesen eigenen Inhalten sind Querverweise auf die von anderen Anbietern bereitgehaltenen Inhalte zu
unterscheiden.
</p>
<div>Stand 13. September 2022</div>
`;
const privacy = `<h2>privacy</h2>`;
const tos = `<h2>tos</h2>`;
const accessibility = `<h2>accessibility</h2>`;
function reformat(value) {
if (value === undefined) {
return value;
}
return `'${value}'`;
}
function isBoolean(value) {
return value === 'true' || value === 'false';
}
fs.readFile('./src/environments/environment.ts.tmpl', 'utf8', function (err, data) {
if (err) {
throw err;
}
if (process.env.DOCKER === 'true') {
console.log('Build with docker mode');
data = data
.replace('@TITLE@', reformat('@TITLE@'))
.replace('@LOCALE@', reformat('@LOCALE@'))
.replace('@ADDRESSING@', reformat('@ADDRESSING@'))
.replace('@API_URL@', reformat('@API_URL@'))
.replace('@CUSTOMER_ID@', reformat('@CUSTOMER_ID@'));
} else {
console.log('Build with classic mode');
data = data
.replace('@TITLE@', reformat(process.env.TITLE ? process.env.TITLE : ''))
.replace('@LOCALE@', reformat(process.env.LOCALE ? process.env.LOCALE : 'de-DE'))
.replace('@ADDRESSING@', reformat(process.env.ADDRESSING ? process.env.ADDRESSING : 'du'))
.replace('@API_URL@', reformat(process.env.API_URL))
.replace('@CUSTOMER_ID@', reformat(process.env.CUSTOMER_ID ? process.env.CUSTOMER_ID : '11111111-1111-1111-1111-111111111111'));
}
data = data
.replace('@GENERATED_COMMENT_TS@', '// AUTO GENERATED - DO NOT EDIT THIS FILE')
.replace('@VERSION@', reformat(process.env.VERSION ? process.env.VERSION : packageJson.version))
.replace('@CONSOLE_LOGGING_OPTIONS@', `{momentDateTimeFormat: 'YYYY-MM-DD HH:mm:ss.SSS', logLevelThreshold: LogLevel.WARN}`)
.replace('@BUILD_DATE@', reformat(new Date().toISOString()))
.replace('@SURVEY_LINK_ADMIN@', reformat(process.env.SURVEY_LINK_ADMIN ? process.env.SURVEY_LINK_ADMIN : undefined))
.replace('@SURVEY_LINK_USER@', reformat(process.env.SURVEY_SURVEY_LINK_USER ? process.env.SURVEY_SURVEY_LINK_USER : undefined))
.replace('@EMAIL@', reformat(process.env.EMAIL ? process.env.EMAIL : '[email protected]'))
.replace('@SHOW_REFERENCE@', isBoolean(process.env.SHOW_REFERENCE) ? process.env.SHOW_REFERENCE : 'true')
.replace('@IMPRINT@', process.env.IMPRINT ? process.env.IMPRINT : `\`${imprint}\``)
.replace('@PRIVACY@', process.env.PRIVACY ? process.env.PRIVACY : `\`${privacy}\``)
.replace('@TOS@', process.env.TOS ? process.env.TOS : `\`${tos}\``)
.replace('@ACCESSIBILITY@', process.env.ACCESSIBILITY ? process.env.ACCESSIBILITY : `\`${accessibility}\``)
.replace('@API_REQUEST_TIMEOUT_IN_MS@', '20000')
.replace('@API_MEDIA_TYPE@', reformat(process.env.API_MEDIA_TYPE ? process.env.API_MEDIA_TYPE : 'application/terminfinder.api-v1+json'));
fs.writeFile('./src/environments/environment.ts', data, 'utf8', function (err) {
if (err) {
throw err;
}
});
});
fs.readFile('./src/index.html.tmpl', 'utf8', function (err, data) {
if (err) {
throw err;
}
data = data
.replace('@TITLE@', process.env.TITLE);
fs.writeFile('./src/index.html', data, 'utf8', function (err) {
if (err) {
throw err;
}
});
});