@c-rex/config 0.1.11 → 0.1.12
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.
- package/dist/index.d.mts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +268 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +267 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { Config } from 'tailwindcss';
|
|
2
|
+
import { CookiesConfigs, ConfigInterface } from '@c-rex/interfaces';
|
|
2
3
|
|
|
3
4
|
declare const tailwindPreset: Omit<Config, "content">;
|
|
4
5
|
|
|
6
|
+
declare const createCustomerConfig: (CUSTOMER_CONFIG: any, shouldLog?: boolean) => {
|
|
7
|
+
cookiesConfig: CookiesConfigs;
|
|
8
|
+
config: ConfigInterface;
|
|
9
|
+
};
|
|
10
|
+
|
|
5
11
|
declare const I18N: {
|
|
6
12
|
'en-us': {
|
|
7
13
|
filter: {
|
|
@@ -147,4 +153,4 @@ declare const I18N: {
|
|
|
147
153
|
};
|
|
148
154
|
};
|
|
149
155
|
|
|
150
|
-
export { I18N, tailwindPreset };
|
|
156
|
+
export { I18N, createCustomerConfig, tailwindPreset };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { Config } from 'tailwindcss';
|
|
2
|
+
import { CookiesConfigs, ConfigInterface } from '@c-rex/interfaces';
|
|
2
3
|
|
|
3
4
|
declare const tailwindPreset: Omit<Config, "content">;
|
|
4
5
|
|
|
6
|
+
declare const createCustomerConfig: (CUSTOMER_CONFIG: any, shouldLog?: boolean) => {
|
|
7
|
+
cookiesConfig: CookiesConfigs;
|
|
8
|
+
config: ConfigInterface;
|
|
9
|
+
};
|
|
10
|
+
|
|
5
11
|
declare const I18N: {
|
|
6
12
|
'en-us': {
|
|
7
13
|
filter: {
|
|
@@ -147,4 +153,4 @@ declare const I18N: {
|
|
|
147
153
|
};
|
|
148
154
|
};
|
|
149
155
|
|
|
150
|
-
export { I18N, tailwindPreset };
|
|
156
|
+
export { I18N, createCustomerConfig, tailwindPreset };
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
I18N: () => I18N,
|
|
24
|
+
createCustomerConfig: () => createCustomerConfig,
|
|
24
25
|
tailwindPreset: () => tailwindPreset
|
|
25
26
|
});
|
|
26
27
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -172,7 +173,14 @@ var DE = {
|
|
|
172
173
|
};
|
|
173
174
|
|
|
174
175
|
// src/tailwind.ts
|
|
176
|
+
var import_constants = require("@c-rex/constants");
|
|
177
|
+
var colorClasses = import_constants.MARKER_COLORS.flatMap((color) => [
|
|
178
|
+
`bg-${color}`,
|
|
179
|
+
`text-${color}`,
|
|
180
|
+
`border-r-${color}`
|
|
181
|
+
]);
|
|
175
182
|
var tailwindPreset = {
|
|
183
|
+
safelist: colorClasses,
|
|
176
184
|
theme: {
|
|
177
185
|
extend: {
|
|
178
186
|
borderRadius: {
|
|
@@ -236,6 +244,265 @@ var tailwindPreset = {
|
|
|
236
244
|
}
|
|
237
245
|
};
|
|
238
246
|
|
|
247
|
+
// src/utils.ts
|
|
248
|
+
var formatIssuer = (issuer) => {
|
|
249
|
+
let newIssuer = issuer;
|
|
250
|
+
const lastChar = newIssuer.charAt(newIssuer.length - 1);
|
|
251
|
+
if (lastChar !== "/") {
|
|
252
|
+
newIssuer += "/";
|
|
253
|
+
}
|
|
254
|
+
newIssuer += ".well-known/openid-configuration";
|
|
255
|
+
return newIssuer;
|
|
256
|
+
};
|
|
257
|
+
var mergeConfigs = (defaultConfig, envVars) => {
|
|
258
|
+
const definedEnvVars = {};
|
|
259
|
+
for (const key in envVars) {
|
|
260
|
+
if (envVars[key] !== void 0) {
|
|
261
|
+
definedEnvVars[key] = envVars[key];
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return {
|
|
265
|
+
...defaultConfig,
|
|
266
|
+
...definedEnvVars
|
|
267
|
+
};
|
|
268
|
+
};
|
|
269
|
+
var generateWarnings = (vars) => {
|
|
270
|
+
const warnings = [];
|
|
271
|
+
vars.forEach((variable) => {
|
|
272
|
+
const value = process.env[variable.key];
|
|
273
|
+
if (value === void 0) {
|
|
274
|
+
warnings.push(`Missing environment variable ${variable.key}, using default value: ${variable.default}`);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
return warnings;
|
|
278
|
+
};
|
|
279
|
+
var createUserOIDCConfig = () => {
|
|
280
|
+
const warnings = [];
|
|
281
|
+
const userDefaults = {
|
|
282
|
+
secret: "dummy",
|
|
283
|
+
scope: "openid profile crex.ids.api crex.ids.api.public",
|
|
284
|
+
enabled: true
|
|
285
|
+
};
|
|
286
|
+
const userEnvs = {
|
|
287
|
+
id: process.env.CREX_IDS_ID,
|
|
288
|
+
secret: process.env.CREX_IDS_SECRET,
|
|
289
|
+
scope: process.env.CREX_IDS_USER_SCOPES,
|
|
290
|
+
issuer: process.env.CREX_IDS_ISSUER == void 0 ? void 0 : formatIssuer(process.env.CREX_IDS_ISSUER),
|
|
291
|
+
enabled: process.env.CREX_IDS_USER_LOGIN_ENABLE == void 0 ? void 0 : process.env.CREX_IDS_USER_LOGIN_ENABLE == "true"
|
|
292
|
+
};
|
|
293
|
+
const user = mergeConfigs(userDefaults, userEnvs);
|
|
294
|
+
if (user.enabled) {
|
|
295
|
+
const disableOIDCVars = [
|
|
296
|
+
{ key: "CREX_IDS_ID", value: process.env.CREX_IDS_ID },
|
|
297
|
+
{ key: "CREX_IDS_ISSUER", value: process.env.CREX_IDS_ISSUER }
|
|
298
|
+
];
|
|
299
|
+
disableOIDCVars.forEach((variable) => {
|
|
300
|
+
if (variable.value === void 0) {
|
|
301
|
+
user.enabled = false;
|
|
302
|
+
warnings.push(`Missing environment variable ${variable.key}, disabling client and login`);
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
if (user.enabled) {
|
|
307
|
+
const userWarningVars = [
|
|
308
|
+
{ key: "CREX_IDS_USER_SCOPES", default: user.scope },
|
|
309
|
+
{ key: "CREX_IDS_SECRET", default: user.secret },
|
|
310
|
+
{ key: "CREX_IDS_USER_LOGIN_ENABLE", default: user.enabled }
|
|
311
|
+
];
|
|
312
|
+
const aux = generateWarnings(userWarningVars);
|
|
313
|
+
warnings.push(...aux);
|
|
314
|
+
}
|
|
315
|
+
return { user, warnings };
|
|
316
|
+
};
|
|
317
|
+
var createClientOIDCConfig = () => {
|
|
318
|
+
const warnings = [];
|
|
319
|
+
const clientDefault = {
|
|
320
|
+
secret: "dummy",
|
|
321
|
+
enabled: true
|
|
322
|
+
};
|
|
323
|
+
const clientEnvs = {
|
|
324
|
+
id: process.env.CREX_IDS_ID,
|
|
325
|
+
issuer: process.env.CREX_IDS_ISSUER == void 0 ? void 0 : formatIssuer(process.env.CREX_IDS_ISSUER),
|
|
326
|
+
secret: process.env.CREX_IDS_SECRET,
|
|
327
|
+
enabled: process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == void 0 ? void 0 : process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == "true"
|
|
328
|
+
};
|
|
329
|
+
const client = mergeConfigs(clientDefault, clientEnvs);
|
|
330
|
+
if (client.enabled) {
|
|
331
|
+
const disableOIDCVars = [
|
|
332
|
+
{ key: "CREX_IDS_ID", value: process.env.CREX_IDS_ID },
|
|
333
|
+
{ key: "CREX_IDS_ISSUER", value: process.env.CREX_IDS_ISSUER }
|
|
334
|
+
];
|
|
335
|
+
disableOIDCVars.forEach((variable) => {
|
|
336
|
+
if (variable.value === void 0) {
|
|
337
|
+
client.enabled = false;
|
|
338
|
+
warnings.push(`Missing environment variable ${variable.key}, disabling client and login`);
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
if (client.enabled) {
|
|
343
|
+
const clientWarningVars = [
|
|
344
|
+
{ key: "CREX_IDS_SECRET", default: client.secret },
|
|
345
|
+
{ key: "CREX_IDS_CLIENT_LOGIN_ENABLE", default: client.enabled }
|
|
346
|
+
];
|
|
347
|
+
const aux = generateWarnings(clientWarningVars);
|
|
348
|
+
warnings.push(...aux);
|
|
349
|
+
}
|
|
350
|
+
return { client, warnings };
|
|
351
|
+
};
|
|
352
|
+
var createConsoleLoggerConfig = () => {
|
|
353
|
+
const warnings = [];
|
|
354
|
+
const consoleLoggerDefaults = {
|
|
355
|
+
minimumLevel: "info",
|
|
356
|
+
silent: false
|
|
357
|
+
};
|
|
358
|
+
const consoleLoggerEnvs = {
|
|
359
|
+
minimumLevel: process.env.LOG_CONSOLE_LEVEL,
|
|
360
|
+
silent: process.env.LOG_CONSOLE_SILENT == void 0 ? void 0 : process.env.LOG_CONSOLE_SILENT == "true"
|
|
361
|
+
};
|
|
362
|
+
const consoleLogger = mergeConfigs(consoleLoggerDefaults, consoleLoggerEnvs);
|
|
363
|
+
if (consoleLogger.silent == false) {
|
|
364
|
+
const consoleWarningsVars = [
|
|
365
|
+
{ key: "LOG_CONSOLE_SILENT", default: consoleLogger.silent },
|
|
366
|
+
{ key: "LOG_CONSOLE_LEVEL", default: consoleLogger.minimumLevel }
|
|
367
|
+
];
|
|
368
|
+
const aux = generateWarnings(consoleWarningsVars);
|
|
369
|
+
warnings.push(...aux);
|
|
370
|
+
}
|
|
371
|
+
return {
|
|
372
|
+
consoleLogger,
|
|
373
|
+
warnings
|
|
374
|
+
};
|
|
375
|
+
};
|
|
376
|
+
var createGraylogLoggerConfig = () => {
|
|
377
|
+
const warnings = [];
|
|
378
|
+
const graylogDefaults = {
|
|
379
|
+
app: "app name not set",
|
|
380
|
+
minimumLevel: "info",
|
|
381
|
+
silent: false,
|
|
382
|
+
hostname: "https://log.c-rex.net",
|
|
383
|
+
port: 12202,
|
|
384
|
+
categoriesLevel: ["NoLicense", "Scenario", "Document", "Search", "Notification", "History", "UserProfile"]
|
|
385
|
+
};
|
|
386
|
+
const graylogEnvs = {
|
|
387
|
+
app: process.env.LOG_GRAYLOG_APP_NAME,
|
|
388
|
+
silent: process.env.LOG_GRAYLOG_SILENT == void 0 ? void 0 : process.env.LOG_GRAYLOG_SILENT == "true",
|
|
389
|
+
hostname: process.env.LOG_GRAYLOG_HOSTNAME,
|
|
390
|
+
port: process.env.LOG_GRAYLOG_PORT == void 0 ? void 0 : Number(process.env.LOG_GRAYLOG_PORT),
|
|
391
|
+
minimumLevel: process.env.LOG_GRAYLOG_LEVEL,
|
|
392
|
+
categoriesLevel: process.env.LOG_GRAYLOG_CATEGORIES == void 0 ? void 0 : process.env.LOG_GRAYLOG_CATEGORIES.split(",")
|
|
393
|
+
};
|
|
394
|
+
const graylog = mergeConfigs(graylogDefaults, graylogEnvs);
|
|
395
|
+
if (graylog.silent == false) {
|
|
396
|
+
const graylogWarningVars = [
|
|
397
|
+
{ key: "LOG_GRAYLOG_APP_NAME", default: graylog.app },
|
|
398
|
+
{ key: "LOG_GRAYLOG_HOSTNAME", default: graylog.hostname },
|
|
399
|
+
{ key: "LOG_GRAYLOG_LEVEL", default: graylog.minimumLevel },
|
|
400
|
+
{ key: "LOG_GRAYLOG_SILENT", default: graylog.silent },
|
|
401
|
+
{ key: "LOG_GRAYLOG_CATEGORIES", default: graylog.categoriesLevel },
|
|
402
|
+
{ key: "LOG_GRAYLOG_PORT", default: graylog.port }
|
|
403
|
+
];
|
|
404
|
+
const aux = generateWarnings(graylogWarningVars);
|
|
405
|
+
warnings.push(...aux);
|
|
406
|
+
}
|
|
407
|
+
return {
|
|
408
|
+
graylog,
|
|
409
|
+
warnings
|
|
410
|
+
};
|
|
411
|
+
};
|
|
412
|
+
var createMatomoLoggerConfig = () => {
|
|
413
|
+
const warnings = [];
|
|
414
|
+
const matomoDefaults = {
|
|
415
|
+
app: "NextJsProjectName",
|
|
416
|
+
minimumLevel: "info",
|
|
417
|
+
silent: true,
|
|
418
|
+
hostname: "",
|
|
419
|
+
port: 0,
|
|
420
|
+
categoriesLevel: ["NoLicense", "Scenario", "Document", "Search", "Notification", "History", "UserProfile"]
|
|
421
|
+
};
|
|
422
|
+
const matomoEnvs = {
|
|
423
|
+
app: process.env.LOG_MATOMO_APP_NAME,
|
|
424
|
+
silent: process.env.LOG_MATOMO_SILENT == void 0 ? void 0 : process.env.LOG_MATOMO_SILENT == "true",
|
|
425
|
+
hostname: process.env.LOG_MATOMO_HOSTNAME,
|
|
426
|
+
port: process.env.LOG_MATOMO_PORT == void 0 ? void 0 : Number(process.env.LOG_MATOMO_PORT),
|
|
427
|
+
minimumLevel: process.env.LOG_MATOMO_LEVEL,
|
|
428
|
+
categoriesLevel: process.env.LOG_MATOMO_CATEGORIES == void 0 ? void 0 : process.env.LOG_MATOMO_CATEGORIES.split(",")
|
|
429
|
+
};
|
|
430
|
+
const matomo = mergeConfigs(matomoDefaults, matomoEnvs);
|
|
431
|
+
const matomoSilentVars = [
|
|
432
|
+
{ key: "LOG_MATOMO_SILENT", value: process.env.LOG_MATOMO_SILENT },
|
|
433
|
+
{ key: "LOG_MATOMO_HOSTNAME", value: process.env.LOG_MATOMO_HOSTNAME },
|
|
434
|
+
{ key: "LOG_MATOMO_PORT", value: process.env.LOG_MATOMO_PORT }
|
|
435
|
+
];
|
|
436
|
+
matomoSilentVars.forEach((variable) => {
|
|
437
|
+
if (variable.value === void 0) {
|
|
438
|
+
matomo.silent = true;
|
|
439
|
+
warnings.push(`Missing environment variable ${variable.key}, setting matomo logger to silent`);
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
if (matomo.silent == false) {
|
|
443
|
+
const matomoWarningVars = [
|
|
444
|
+
{ key: "LOG_MATOMO_APP_NAME", default: matomo.app },
|
|
445
|
+
{ key: "LOG_MATOMO_LEVEL", default: matomo.minimumLevel },
|
|
446
|
+
{ key: "LOG_MATOMO_CATEGORIES", default: matomo.categoriesLevel }
|
|
447
|
+
];
|
|
448
|
+
const aux = generateWarnings(matomoWarningVars);
|
|
449
|
+
warnings.push(...aux);
|
|
450
|
+
}
|
|
451
|
+
return {
|
|
452
|
+
matomo,
|
|
453
|
+
warnings
|
|
454
|
+
};
|
|
455
|
+
};
|
|
456
|
+
|
|
457
|
+
// src/create.ts
|
|
458
|
+
var createCustomerConfig = (CUSTOMER_CONFIG, shouldLog = false) => {
|
|
459
|
+
const requiredEnvVars = ["CREX_API_URL", "NEXT_PUBLIC_API_URL"];
|
|
460
|
+
const errors = requiredEnvVars.map((key) => {
|
|
461
|
+
const value = process.env[key];
|
|
462
|
+
if (value === void 0) {
|
|
463
|
+
return `Missing required environment variable: ${key}`;
|
|
464
|
+
}
|
|
465
|
+
return "";
|
|
466
|
+
}).filter((item) => item.length > 0);
|
|
467
|
+
const { user, warnings: userWarnings } = createUserOIDCConfig();
|
|
468
|
+
const { client, warnings: clientWarnings } = createClientOIDCConfig();
|
|
469
|
+
const { matomo, warnings: matomoWarnings } = createMatomoLoggerConfig();
|
|
470
|
+
const { graylog, warnings: graylogWarnings } = createGraylogLoggerConfig();
|
|
471
|
+
const { consoleLogger, warnings: consoleWarnings } = createConsoleLoggerConfig();
|
|
472
|
+
const warnings = [
|
|
473
|
+
...clientWarnings,
|
|
474
|
+
...consoleWarnings,
|
|
475
|
+
...userWarnings,
|
|
476
|
+
...graylogWarnings,
|
|
477
|
+
...matomoWarnings
|
|
478
|
+
];
|
|
479
|
+
if (shouldLog) {
|
|
480
|
+
if (errors.length > 0) throw new Error(errors.join("\n"));
|
|
481
|
+
if (warnings.length > 0) console.warn(warnings.join("\n"));
|
|
482
|
+
}
|
|
483
|
+
const cookiesConfig = {
|
|
484
|
+
publicNextApiUrl: process.env.NEXT_PUBLIC_API_URL,
|
|
485
|
+
...CUSTOMER_CONFIG,
|
|
486
|
+
OIDC: {
|
|
487
|
+
clientEnabled: client.enabled,
|
|
488
|
+
userEnabled: user.enabled
|
|
489
|
+
}
|
|
490
|
+
};
|
|
491
|
+
let baseUrl = process.env.CREX_API_URL;
|
|
492
|
+
const lastChar = baseUrl.charAt(baseUrl.length - 1);
|
|
493
|
+
if (lastChar !== "/") {
|
|
494
|
+
baseUrl += "/";
|
|
495
|
+
}
|
|
496
|
+
baseUrl += "iirds/v1/";
|
|
497
|
+
const config = {
|
|
498
|
+
baseUrl,
|
|
499
|
+
OIDC: { client, user },
|
|
500
|
+
logs: { console: consoleLogger, graylog, matomo },
|
|
501
|
+
...CUSTOMER_CONFIG
|
|
502
|
+
};
|
|
503
|
+
return { cookiesConfig, config };
|
|
504
|
+
};
|
|
505
|
+
|
|
239
506
|
// src/index.ts
|
|
240
507
|
var I18N = {
|
|
241
508
|
"en-us": EN,
|
|
@@ -244,6 +511,7 @@ var I18N = {
|
|
|
244
511
|
// Annotate the CommonJS export names for ESM import in node:
|
|
245
512
|
0 && (module.exports = {
|
|
246
513
|
I18N,
|
|
514
|
+
createCustomerConfig,
|
|
247
515
|
tailwindPreset
|
|
248
516
|
});
|
|
249
517
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/en-messages.ts","../src/de-messages.ts","../src/tailwind.ts"],"sourcesContent":["import { EN } from './en-messages';\nimport { DE } from './de-messages';\n\nexport const I18N = {\n 'en-us': EN,\n 'de-de': DE,\n};\n\nexport * from \"./tailwind\"","export const EN = {\n \"filter\": {\n \"filters\": \"Filters\",\n \"apply\": \"Apply\",\n \"applyAndSearch\": \"Apply and Search\",\n \"all\": \"All\",\n \"categories\": \"Categories\",\n \"wildcard\": \"Select wildcard\",\n \"operator\": \"Require all words\",\n \"languages\": \"Select languages\",\n \"like\": \"Find similar terms\",\n \"searchSettings\": \"Search settings\",\n \"clearFilters\": \"Clear Filters\",\n \"tags\": {\n \"parties\": \"Manufacturer\",\n \"components\": \"Product\",\n \"informationSubjects\": \"Subject\",\n \"topicTypes\": \"Functionality\",\n \"productFeatures\": \"Product Features\",\n \"packages\": \"Document\"\n }\n },\n \"tableOfContent\": \"Table of Content\",\n \"availableIn\": \"Available in\",\n \"recentPosts\": \"Recent Posts\",\n \"home\": \"Home\",\n \"searchSettings\": \"Search settings\",\n \"reset\": \"Reset\",\n \"search\": \"Search\",\n \"about\": \"About\",\n \"createdAt\": \"Created at\",\n \"created\": \"Created at\",\n \"files\": \"Files\",\n \"aboutDocument\": \"About Document\",\n \"aboutArticle\": \"About Article\",\n\n\n \"revision\": \"Revision\",\n \"languages\": \"Language\",\n \"titles\": \"Titles\",\n\n \"sorry\": \"Sorry about that!\",\n \"language\": \"Language\",\n\n \"accountSettings\": {\n \"uiLanguage\": \"UI Language\",\n \"contentLanguage\": \"Content Language\",\n \"accountSettings\": \"Account Settings\"\n },\n \"user\": {\n \"userName\": \"User Name\",\n \"welcome\": \"Hey {userName}\",\n \"signIn\": \"Sign In\",\n \"signOut\": \"Sign Out\"\n },\n \"results\": {\n \"language\": \"Language\",\n \"viewArticle\": \"View Article\",\n \"title\": \"Title\",\n \"type\": \"Type\",\n \"country\": \"Country\",\n \"results\": \"Results\",\n \"files\": \"Files\",\n \"noResultsTitle\": \"No results\",\n \"noResultsDescription\": \"No data available. Please try adjusting your search or filter criteria.\"\n },\n \"toast\": {\n \"articleAvailable\": \"Article available\",\n \"read\": \"Read {lang} version\",\n \"description\": \"This article is also available in {lang}\",\n \"label\": \"Open {lang} version\",\n \"articleNotAvailable\": \"Article not available in this language\"\n },\n \"breadcrumbs\": {\n \"home\": \"Home\"\n }\n}\n","export const DE = {\n \"filter\": {\n \"filters\": \"Filter\",\n \"apply\": \"Anwenden\",\n \"all\": \"Alle\",\n \"applyAndSearch\": \"Anwenden und Suchen\",\n \"categories\": \"Kategorien\",\n \"wildcard\": \"Wildcard auswählen\",\n \"operator\": \"Alle Wörter erforderlich\",\n \"languages\": \"Sprachen auswählen\",\n \"like\": \"Ähnliche Begriffe finden\",\n \"clearFilters\": \"Filter zurücksetzen\",\n \"tags\": {\n \"parties\": \"Hersteller\",\n \"components\": \"Produkt\",\n \"informationSubjects\": \"Thema\",\n \"topicTypes\": \"Funktionalität\",\n \"productFeatures\": \"Produktmerkmale\",\n \"packages\": \"Dokument\"\n }\n },\n \"applyFilters\": \"Filter anwenden\",\n \"tableOfContent\": \"Inhaltsverzeichnis\",\n \"availableIn\": \"Verfügbar in\",\n \"files\": \"Dateien\",\n \"recentPosts\": \"Neueste Beiträge\",\n \"createdAt\": \"Erstellt am\",\n \"created\": \"Erstellt am\",\n\n\n \"aboutDocument\": \"Über das Dokument\",\n \"aboutArticle\": \"Über den Artikel\",\n\n \"revision\": \"Revision\",\n \"about\": \"Über\",\n \"languages\": \"Sprache\",\n \"titles\": \"Titel\",\n\n \"search\": \"suchen\",\n \"sorry\": \"Entschuldigung!\",\n \"accountSettings\": {\n \"uiLanguage\": \"Benutzeroberflächen-Sprache\",\n \"contentLanguage\": \"Inhaltssprache\",\n \"accountSettings\": \"Kontoeinstellungen\"\n },\n \"user\": {\n \"userName\": \"Benutzername\",\n \"welcome\": \"Willkommen {userName}\",\n \"signIn\": \"Anmelden\",\n \"signOut\": \"Abmelden\"\n },\n \"results\": {\n \"language\": \"Sprache\",\n \"viewArticle\": \"Artikel ansehen\",\n \"title\": \"Title\",\n \"type\": \"Typ\",\n \"country\": \"Land\",\n \"files\": \"Dateien\",\n \"results\": \"Ergebnisse\",\n \"noResultsTitle\": \"Keine Ergebnisse\",\n \"noResultsDescription\": \"Keine Daten verfügbar. Bitte passen Sie Ihre Such- oder Filterkriterien an.\"\n },\n \"toast\": {\n \"articleAvailable\": \"Artikel verfügbar\",\n \"read\": \"Lesen Sie {lang} Version\",\n \"description\": \"Dieser Artikel ist auch in {lang} verfügbar\",\n \"label\": \"Öffnen Sie {lang} Version\",\n \"articleNotAvailable\": \"Artikel nicht in dieser Sprache verfügbar\"\n },\n \"breadcrumbs\": {\n \"home\": \"Startseite\"\n }\n}"," \nimport type { Config } from \"tailwindcss\";\n\nexport const tailwindPreset: Omit<Config, \"content\"> = {\n theme: {\n extend: {\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n colors: {\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n chart: {\n \"1\": \"hsl(var(--chart-1))\",\n \"2\": \"hsl(var(--chart-2))\",\n \"3\": \"hsl(var(--chart-3))\",\n \"4\": \"hsl(var(--chart-4))\",\n \"5\": \"hsl(var(--chart-5))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n },\n },\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/en-messages.ts","../src/de-messages.ts","../src/tailwind.ts","../src/utils.ts","../src/create.ts"],"sourcesContent":["import { EN } from './en-messages';\nimport { DE } from './de-messages';\n\nexport const I18N = {\n 'en-us': EN,\n 'de-de': DE,\n};\n\nexport * from \"./tailwind\"\nexport * from \"./create\"","export const EN = {\n \"filter\": {\n \"filters\": \"Filters\",\n \"apply\": \"Apply\",\n \"applyAndSearch\": \"Apply and Search\",\n \"all\": \"All\",\n \"categories\": \"Categories\",\n \"wildcard\": \"Select wildcard\",\n \"operator\": \"Require all words\",\n \"languages\": \"Select languages\",\n \"like\": \"Find similar terms\",\n \"searchSettings\": \"Search settings\",\n \"clearFilters\": \"Clear Filters\",\n \"tags\": {\n \"parties\": \"Manufacturer\",\n \"components\": \"Product\",\n \"informationSubjects\": \"Subject\",\n \"topicTypes\": \"Functionality\",\n \"productFeatures\": \"Product Features\",\n \"packages\": \"Document\"\n }\n },\n \"tableOfContent\": \"Table of Content\",\n \"availableIn\": \"Available in\",\n \"recentPosts\": \"Recent Posts\",\n \"home\": \"Home\",\n \"searchSettings\": \"Search settings\",\n \"reset\": \"Reset\",\n \"search\": \"Search\",\n \"about\": \"About\",\n \"createdAt\": \"Created at\",\n \"created\": \"Created at\",\n \"files\": \"Files\",\n \"aboutDocument\": \"About Document\",\n \"aboutArticle\": \"About Article\",\n\n\n \"revision\": \"Revision\",\n \"languages\": \"Language\",\n \"titles\": \"Titles\",\n\n \"sorry\": \"Sorry about that!\",\n \"language\": \"Language\",\n\n \"accountSettings\": {\n \"uiLanguage\": \"UI Language\",\n \"contentLanguage\": \"Content Language\",\n \"accountSettings\": \"Account Settings\"\n },\n \"user\": {\n \"userName\": \"User Name\",\n \"welcome\": \"Hey {userName}\",\n \"signIn\": \"Sign In\",\n \"signOut\": \"Sign Out\"\n },\n \"results\": {\n \"language\": \"Language\",\n \"viewArticle\": \"View Article\",\n \"title\": \"Title\",\n \"type\": \"Type\",\n \"country\": \"Country\",\n \"results\": \"Results\",\n \"files\": \"Files\",\n \"noResultsTitle\": \"No results\",\n \"noResultsDescription\": \"No data available. Please try adjusting your search or filter criteria.\"\n },\n \"toast\": {\n \"articleAvailable\": \"Article available\",\n \"read\": \"Read {lang} version\",\n \"description\": \"This article is also available in {lang}\",\n \"label\": \"Open {lang} version\",\n \"articleNotAvailable\": \"Article not available in this language\"\n },\n \"breadcrumbs\": {\n \"home\": \"Home\"\n }\n}\n","export const DE = {\n \"filter\": {\n \"filters\": \"Filter\",\n \"apply\": \"Anwenden\",\n \"all\": \"Alle\",\n \"applyAndSearch\": \"Anwenden und Suchen\",\n \"categories\": \"Kategorien\",\n \"wildcard\": \"Wildcard auswählen\",\n \"operator\": \"Alle Wörter erforderlich\",\n \"languages\": \"Sprachen auswählen\",\n \"like\": \"Ähnliche Begriffe finden\",\n \"clearFilters\": \"Filter zurücksetzen\",\n \"tags\": {\n \"parties\": \"Hersteller\",\n \"components\": \"Produkt\",\n \"informationSubjects\": \"Thema\",\n \"topicTypes\": \"Funktionalität\",\n \"productFeatures\": \"Produktmerkmale\",\n \"packages\": \"Dokument\"\n }\n },\n \"applyFilters\": \"Filter anwenden\",\n \"tableOfContent\": \"Inhaltsverzeichnis\",\n \"availableIn\": \"Verfügbar in\",\n \"files\": \"Dateien\",\n \"recentPosts\": \"Neueste Beiträge\",\n \"createdAt\": \"Erstellt am\",\n \"created\": \"Erstellt am\",\n\n\n \"aboutDocument\": \"Über das Dokument\",\n \"aboutArticle\": \"Über den Artikel\",\n\n \"revision\": \"Revision\",\n \"about\": \"Über\",\n \"languages\": \"Sprache\",\n \"titles\": \"Titel\",\n\n \"search\": \"suchen\",\n \"sorry\": \"Entschuldigung!\",\n \"accountSettings\": {\n \"uiLanguage\": \"Benutzeroberflächen-Sprache\",\n \"contentLanguage\": \"Inhaltssprache\",\n \"accountSettings\": \"Kontoeinstellungen\"\n },\n \"user\": {\n \"userName\": \"Benutzername\",\n \"welcome\": \"Willkommen {userName}\",\n \"signIn\": \"Anmelden\",\n \"signOut\": \"Abmelden\"\n },\n \"results\": {\n \"language\": \"Sprache\",\n \"viewArticle\": \"Artikel ansehen\",\n \"title\": \"Title\",\n \"type\": \"Typ\",\n \"country\": \"Land\",\n \"files\": \"Dateien\",\n \"results\": \"Ergebnisse\",\n \"noResultsTitle\": \"Keine Ergebnisse\",\n \"noResultsDescription\": \"Keine Daten verfügbar. Bitte passen Sie Ihre Such- oder Filterkriterien an.\"\n },\n \"toast\": {\n \"articleAvailable\": \"Artikel verfügbar\",\n \"read\": \"Lesen Sie {lang} Version\",\n \"description\": \"Dieser Artikel ist auch in {lang} verfügbar\",\n \"label\": \"Öffnen Sie {lang} Version\",\n \"articleNotAvailable\": \"Artikel nicht in dieser Sprache verfügbar\"\n },\n \"breadcrumbs\": {\n \"home\": \"Startseite\"\n }\n}","\nimport { MARKER_COLORS } from \"@c-rex/constants\";\nimport type { Config } from \"tailwindcss\";\n\nconst colorClasses = MARKER_COLORS.flatMap((color) => [\n `bg-${color}`,\n `text-${color}`,\n `border-r-${color}`,\n]);\n\nexport const tailwindPreset: Omit<Config, \"content\"> = {\n safelist: colorClasses,\n theme: {\n extend: {\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n colors: {\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n chart: {\n \"1\": \"hsl(var(--chart-1))\",\n \"2\": \"hsl(var(--chart-2))\",\n \"3\": \"hsl(var(--chart-3))\",\n \"4\": \"hsl(var(--chart-4))\",\n \"5\": \"hsl(var(--chart-5))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n },\n },\n};\n","import { WarningVars } from \"@c-rex/types\";\nimport { logInfo, OIDCInterface } from \"@c-rex/interfaces\";\nimport { LogLevelType } from \"@c-rex/types\";\nimport { LogCategoriesType } from \"@c-rex/types\";\n\nconst formatIssuer = (issuer: string): string => {\n let newIssuer = issuer\n const lastChar = newIssuer.charAt(newIssuer.length - 1)\n if (lastChar !== \"/\") {\n newIssuer += \"/\"\n }\n newIssuer += \".well-known/openid-configuration\"\n\n return newIssuer;\n}\n\nexport const mergeConfigs = <T>(defaultConfig: Partial<T>, envVars: Partial<T>): T => {\n const definedEnvVars: T = {} as T;\n\n for (const key in envVars) {\n if (envVars[key] !== undefined) {\n definedEnvVars[key] = envVars[key];\n }\n }\n\n return {\n ...defaultConfig,\n ...definedEnvVars,\n };\n}\n\nexport const generateWarnings = (vars: WarningVars[]): string[] => {\n\n const warnings: string[] = []\n\n vars.forEach((variable) => {\n const value = process.env[variable.key];\n if (value === undefined) {\n warnings.push(`Missing environment variable ${variable.key}, using default value: ${variable.default}`)\n }\n })\n\n return warnings;\n}\n\nexport const createUserOIDCConfig = (): { user: OIDCInterface, warnings: string[] } => {\n const warnings: string[] = []\n const userDefaults: Partial<OIDCInterface> = {\n secret: \"dummy\",\n scope: \"openid profile crex.ids.api crex.ids.api.public\",\n enabled: true,\n }\n const userEnvs: Partial<OIDCInterface> = {\n id: process.env.CREX_IDS_ID,\n secret: process.env.CREX_IDS_SECRET,\n scope: process.env.CREX_IDS_USER_SCOPES,\n issuer: process.env.CREX_IDS_ISSUER == undefined ? undefined : formatIssuer(process.env.CREX_IDS_ISSUER),\n enabled: process.env.CREX_IDS_USER_LOGIN_ENABLE == undefined ? undefined : process.env.CREX_IDS_USER_LOGIN_ENABLE == \"true\",\n }\n const user: OIDCInterface = mergeConfigs<OIDCInterface>(userDefaults, userEnvs);\n\n if (user.enabled) {\n const disableOIDCVars = [\n { key: \"CREX_IDS_ID\", value: process.env.CREX_IDS_ID },\n { key: \"CREX_IDS_ISSUER\", value: process.env.CREX_IDS_ISSUER },\n ]\n disableOIDCVars.forEach((variable) => {\n if (variable.value === undefined) {\n user.enabled = false\n\n warnings.push(`Missing environment variable ${variable.key}, disabling client and login`)\n }\n })\n\n }\n\n if (user.enabled) {\n const userWarningVars = [\n { key: \"CREX_IDS_USER_SCOPES\", default: user.scope },\n { key: \"CREX_IDS_SECRET\", default: user.secret },\n { key: \"CREX_IDS_USER_LOGIN_ENABLE\", default: user.enabled }\n ]\n const aux = generateWarnings(userWarningVars)\n warnings.push(...aux);\n }\n\n return { user, warnings }\n}\n\nexport const createClientOIDCConfig = (): { client: OIDCInterface, warnings: string[] } => {\n const warnings: string[] = []\n const clientDefault: Partial<OIDCInterface> = {\n secret: \"dummy\",\n enabled: true,\n }\n const clientEnvs: Partial<OIDCInterface> = {\n id: process.env.CREX_IDS_ID,\n issuer: process.env.CREX_IDS_ISSUER == undefined ? undefined : formatIssuer(process.env.CREX_IDS_ISSUER),\n secret: process.env.CREX_IDS_SECRET,\n enabled: process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == undefined ? undefined : process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == \"true\",\n }\n const client: OIDCInterface = mergeConfigs<OIDCInterface>(clientDefault, clientEnvs);\n\n if (client.enabled) {\n const disableOIDCVars = [\n { key: \"CREX_IDS_ID\", value: process.env.CREX_IDS_ID },\n { key: \"CREX_IDS_ISSUER\", value: process.env.CREX_IDS_ISSUER },\n ]\n disableOIDCVars.forEach((variable) => {\n if (variable.value === undefined) {\n client.enabled = false\n warnings.push(`Missing environment variable ${variable.key}, disabling client and login`)\n }\n })\n }\n\n if (client.enabled) {\n const clientWarningVars = [\n { key: \"CREX_IDS_SECRET\", default: client.secret },\n { key: \"CREX_IDS_CLIENT_LOGIN_ENABLE\", default: client.enabled }\n ]\n\n const aux = generateWarnings(clientWarningVars)\n warnings.push(...aux);\n }\n\n return { client, warnings }\n}\n\nexport const createConsoleLoggerConfig = (): { consoleLogger: Omit<logInfo, \"hostname\" | \"app\" | \"categoriesLevel\">, warnings: string[]; } => {\n const warnings: string[] = []\n\n const consoleLoggerDefaults: Partial<logInfo> = {\n minimumLevel: \"info\" as LogLevelType,\n silent: false,\n }\n const consoleLoggerEnvs: Partial<logInfo> = {\n minimumLevel: process.env.LOG_CONSOLE_LEVEL as LogLevelType,\n silent: process.env.LOG_CONSOLE_SILENT == undefined ? undefined : process.env.LOG_CONSOLE_SILENT == \"true\",\n }\n const consoleLogger: logInfo = mergeConfigs<logInfo>(consoleLoggerDefaults, consoleLoggerEnvs);\n\n if (consoleLogger.silent == false) {\n const consoleWarningsVars = [\n { key: \"LOG_CONSOLE_SILENT\", default: consoleLogger.silent },\n { key: \"LOG_CONSOLE_LEVEL\", default: consoleLogger.minimumLevel }\n ]\n const aux = generateWarnings(consoleWarningsVars)\n warnings.push(...aux);\n }\n\n return {\n consoleLogger,\n warnings\n }\n}\n\nexport const createGraylogLoggerConfig = (): { graylog: logInfo, warnings: string[] } => {\n const warnings: string[] = []\n\n const graylogDefaults: Partial<logInfo> = {\n app: \"app name not set\",\n minimumLevel: \"info\" as LogLevelType,\n silent: false,\n hostname: \"https://log.c-rex.net\",\n port: 12202,\n categoriesLevel: [\"NoLicense\", \"Scenario\", \"Document\", \"Search\", \"Notification\", \"History\", \"UserProfile\"],\n }\n const graylogEnvs: Partial<logInfo> = {\n app: process.env.LOG_GRAYLOG_APP_NAME,\n silent: process.env.LOG_GRAYLOG_SILENT == undefined ? undefined : process.env.LOG_GRAYLOG_SILENT == \"true\",\n hostname: process.env.LOG_GRAYLOG_HOSTNAME,\n port: process.env.LOG_GRAYLOG_PORT == undefined ? undefined : Number(process.env.LOG_GRAYLOG_PORT),\n minimumLevel: process.env.LOG_GRAYLOG_LEVEL as any,\n categoriesLevel: process.env.LOG_GRAYLOG_CATEGORIES == undefined ? undefined : process.env.LOG_GRAYLOG_CATEGORIES.split(\",\") as LogCategoriesType[],\n }\n const graylog: logInfo = mergeConfigs<logInfo>(graylogDefaults, graylogEnvs);\n\n if (graylog.silent == false) {\n const graylogWarningVars = [\n { key: \"LOG_GRAYLOG_APP_NAME\", default: graylog.app },\n { key: \"LOG_GRAYLOG_HOSTNAME\", default: graylog.hostname },\n { key: \"LOG_GRAYLOG_LEVEL\", default: graylog.minimumLevel },\n { key: \"LOG_GRAYLOG_SILENT\", default: graylog.silent },\n { key: \"LOG_GRAYLOG_CATEGORIES\", default: graylog.categoriesLevel },\n { key: \"LOG_GRAYLOG_PORT\", default: graylog.port }\n ]\n const aux = generateWarnings(graylogWarningVars)\n warnings.push(...aux);\n }\n\n return {\n graylog,\n warnings\n }\n}\n\nexport const createMatomoLoggerConfig = (): { matomo: logInfo, warnings: string[] } => {\n const warnings: string[] = []\n\n const matomoDefaults: Partial<logInfo> = {\n app: \"NextJsProjectName\",\n minimumLevel: \"info\" as LogLevelType,\n silent: true,\n hostname: \"\",\n port: 0,\n categoriesLevel: [\"NoLicense\", \"Scenario\", \"Document\", \"Search\", \"Notification\", \"History\", \"UserProfile\"],\n }\n const matomoEnvs: Partial<logInfo> = {\n app: process.env.LOG_MATOMO_APP_NAME,\n silent: process.env.LOG_MATOMO_SILENT == undefined ? undefined : process.env.LOG_MATOMO_SILENT == \"true\",\n hostname: process.env.LOG_MATOMO_HOSTNAME,\n port: process.env.LOG_MATOMO_PORT == undefined ? undefined : Number(process.env.LOG_MATOMO_PORT),\n minimumLevel: process.env.LOG_MATOMO_LEVEL as any,\n categoriesLevel: process.env.LOG_MATOMO_CATEGORIES == undefined ? undefined : process.env.LOG_MATOMO_CATEGORIES.split(\",\") as LogCategoriesType[],\n }\n const matomo: logInfo = mergeConfigs<logInfo>(matomoDefaults, matomoEnvs);\n\n\n const matomoSilentVars = [\n { key: \"LOG_MATOMO_SILENT\", value: process.env.LOG_MATOMO_SILENT },\n { key: \"LOG_MATOMO_HOSTNAME\", value: process.env.LOG_MATOMO_HOSTNAME },\n { key: \"LOG_MATOMO_PORT\", value: process.env.LOG_MATOMO_PORT }\n ]\n matomoSilentVars.forEach((variable) => {\n if (variable.value === undefined) {\n matomo.silent = true\n warnings.push(`Missing environment variable ${variable.key}, setting matomo logger to silent`)\n }\n })\n\n if (matomo.silent == false) {\n const matomoWarningVars = [\n { key: \"LOG_MATOMO_APP_NAME\", default: matomo.app },\n { key: \"LOG_MATOMO_LEVEL\", default: matomo.minimumLevel },\n { key: \"LOG_MATOMO_CATEGORIES\", default: matomo.categoriesLevel }\n ]\n const aux = generateWarnings(matomoWarningVars)\n warnings.push(...aux);\n }\n\n return {\n matomo,\n warnings\n }\n}\n\n","import { ConfigInterface, CookiesConfigs } from \"@c-rex/interfaces\";\nimport { createClientOIDCConfig, createConsoleLoggerConfig, createGraylogLoggerConfig, createMatomoLoggerConfig, createUserOIDCConfig } from \"./utils\";\n\nexport const createCustomerConfig = (CUSTOMER_CONFIG: any, shouldLog: boolean = false): { cookiesConfig: CookiesConfigs, config: ConfigInterface } => {\n\n const requiredEnvVars = [\"CREX_API_URL\", \"NEXT_PUBLIC_API_URL\"]\n\n const errors = requiredEnvVars.map(key => {\n const value = process.env[key];\n if (value === undefined) {\n return `Missing required environment variable: ${key}`;\n }\n\n return \"\"\n }).filter(item => item.length > 0)\n\n const { user, warnings: userWarnings } = createUserOIDCConfig()\n const { client, warnings: clientWarnings } = createClientOIDCConfig()\n const { matomo, warnings: matomoWarnings } = createMatomoLoggerConfig()\n const { graylog, warnings: graylogWarnings } = createGraylogLoggerConfig()\n const { consoleLogger, warnings: consoleWarnings } = createConsoleLoggerConfig()\n\n const warnings = [\n ...clientWarnings,\n ...consoleWarnings,\n ...userWarnings,\n ...graylogWarnings,\n ...matomoWarnings\n ]\n\n if (shouldLog) {\n if (errors.length > 0) throw new Error(errors.join('\\n'));\n if (warnings.length > 0) console.warn(warnings.join('\\n'));\n }\n\n const cookiesConfig: CookiesConfigs = {\n publicNextApiUrl: process.env.NEXT_PUBLIC_API_URL!,\n ...CUSTOMER_CONFIG,\n OIDC: {\n clientEnabled: client.enabled,\n userEnabled: user.enabled,\n },\n }\n\n let baseUrl = process.env.CREX_API_URL!\n const lastChar = baseUrl.charAt(baseUrl.length - 1)\n if (lastChar !== \"/\") {\n baseUrl += \"/\"\n }\n baseUrl += \"iirds/v1/\"\n\n const config: ConfigInterface = {\n baseUrl,\n OIDC: { client, user },\n logs: { console: consoleLogger, graylog, matomo, },\n ...CUSTOMER_CONFIG,\n }\n\n return { cookiesConfig, config };\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -145,7 +145,14 @@ var DE = {
|
|
|
145
145
|
};
|
|
146
146
|
|
|
147
147
|
// src/tailwind.ts
|
|
148
|
+
import { MARKER_COLORS } from "@c-rex/constants";
|
|
149
|
+
var colorClasses = MARKER_COLORS.flatMap((color) => [
|
|
150
|
+
`bg-${color}`,
|
|
151
|
+
`text-${color}`,
|
|
152
|
+
`border-r-${color}`
|
|
153
|
+
]);
|
|
148
154
|
var tailwindPreset = {
|
|
155
|
+
safelist: colorClasses,
|
|
149
156
|
theme: {
|
|
150
157
|
extend: {
|
|
151
158
|
borderRadius: {
|
|
@@ -209,6 +216,265 @@ var tailwindPreset = {
|
|
|
209
216
|
}
|
|
210
217
|
};
|
|
211
218
|
|
|
219
|
+
// src/utils.ts
|
|
220
|
+
var formatIssuer = (issuer) => {
|
|
221
|
+
let newIssuer = issuer;
|
|
222
|
+
const lastChar = newIssuer.charAt(newIssuer.length - 1);
|
|
223
|
+
if (lastChar !== "/") {
|
|
224
|
+
newIssuer += "/";
|
|
225
|
+
}
|
|
226
|
+
newIssuer += ".well-known/openid-configuration";
|
|
227
|
+
return newIssuer;
|
|
228
|
+
};
|
|
229
|
+
var mergeConfigs = (defaultConfig, envVars) => {
|
|
230
|
+
const definedEnvVars = {};
|
|
231
|
+
for (const key in envVars) {
|
|
232
|
+
if (envVars[key] !== void 0) {
|
|
233
|
+
definedEnvVars[key] = envVars[key];
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return {
|
|
237
|
+
...defaultConfig,
|
|
238
|
+
...definedEnvVars
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
var generateWarnings = (vars) => {
|
|
242
|
+
const warnings = [];
|
|
243
|
+
vars.forEach((variable) => {
|
|
244
|
+
const value = process.env[variable.key];
|
|
245
|
+
if (value === void 0) {
|
|
246
|
+
warnings.push(`Missing environment variable ${variable.key}, using default value: ${variable.default}`);
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
return warnings;
|
|
250
|
+
};
|
|
251
|
+
var createUserOIDCConfig = () => {
|
|
252
|
+
const warnings = [];
|
|
253
|
+
const userDefaults = {
|
|
254
|
+
secret: "dummy",
|
|
255
|
+
scope: "openid profile crex.ids.api crex.ids.api.public",
|
|
256
|
+
enabled: true
|
|
257
|
+
};
|
|
258
|
+
const userEnvs = {
|
|
259
|
+
id: process.env.CREX_IDS_ID,
|
|
260
|
+
secret: process.env.CREX_IDS_SECRET,
|
|
261
|
+
scope: process.env.CREX_IDS_USER_SCOPES,
|
|
262
|
+
issuer: process.env.CREX_IDS_ISSUER == void 0 ? void 0 : formatIssuer(process.env.CREX_IDS_ISSUER),
|
|
263
|
+
enabled: process.env.CREX_IDS_USER_LOGIN_ENABLE == void 0 ? void 0 : process.env.CREX_IDS_USER_LOGIN_ENABLE == "true"
|
|
264
|
+
};
|
|
265
|
+
const user = mergeConfigs(userDefaults, userEnvs);
|
|
266
|
+
if (user.enabled) {
|
|
267
|
+
const disableOIDCVars = [
|
|
268
|
+
{ key: "CREX_IDS_ID", value: process.env.CREX_IDS_ID },
|
|
269
|
+
{ key: "CREX_IDS_ISSUER", value: process.env.CREX_IDS_ISSUER }
|
|
270
|
+
];
|
|
271
|
+
disableOIDCVars.forEach((variable) => {
|
|
272
|
+
if (variable.value === void 0) {
|
|
273
|
+
user.enabled = false;
|
|
274
|
+
warnings.push(`Missing environment variable ${variable.key}, disabling client and login`);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
if (user.enabled) {
|
|
279
|
+
const userWarningVars = [
|
|
280
|
+
{ key: "CREX_IDS_USER_SCOPES", default: user.scope },
|
|
281
|
+
{ key: "CREX_IDS_SECRET", default: user.secret },
|
|
282
|
+
{ key: "CREX_IDS_USER_LOGIN_ENABLE", default: user.enabled }
|
|
283
|
+
];
|
|
284
|
+
const aux = generateWarnings(userWarningVars);
|
|
285
|
+
warnings.push(...aux);
|
|
286
|
+
}
|
|
287
|
+
return { user, warnings };
|
|
288
|
+
};
|
|
289
|
+
var createClientOIDCConfig = () => {
|
|
290
|
+
const warnings = [];
|
|
291
|
+
const clientDefault = {
|
|
292
|
+
secret: "dummy",
|
|
293
|
+
enabled: true
|
|
294
|
+
};
|
|
295
|
+
const clientEnvs = {
|
|
296
|
+
id: process.env.CREX_IDS_ID,
|
|
297
|
+
issuer: process.env.CREX_IDS_ISSUER == void 0 ? void 0 : formatIssuer(process.env.CREX_IDS_ISSUER),
|
|
298
|
+
secret: process.env.CREX_IDS_SECRET,
|
|
299
|
+
enabled: process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == void 0 ? void 0 : process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == "true"
|
|
300
|
+
};
|
|
301
|
+
const client = mergeConfigs(clientDefault, clientEnvs);
|
|
302
|
+
if (client.enabled) {
|
|
303
|
+
const disableOIDCVars = [
|
|
304
|
+
{ key: "CREX_IDS_ID", value: process.env.CREX_IDS_ID },
|
|
305
|
+
{ key: "CREX_IDS_ISSUER", value: process.env.CREX_IDS_ISSUER }
|
|
306
|
+
];
|
|
307
|
+
disableOIDCVars.forEach((variable) => {
|
|
308
|
+
if (variable.value === void 0) {
|
|
309
|
+
client.enabled = false;
|
|
310
|
+
warnings.push(`Missing environment variable ${variable.key}, disabling client and login`);
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
if (client.enabled) {
|
|
315
|
+
const clientWarningVars = [
|
|
316
|
+
{ key: "CREX_IDS_SECRET", default: client.secret },
|
|
317
|
+
{ key: "CREX_IDS_CLIENT_LOGIN_ENABLE", default: client.enabled }
|
|
318
|
+
];
|
|
319
|
+
const aux = generateWarnings(clientWarningVars);
|
|
320
|
+
warnings.push(...aux);
|
|
321
|
+
}
|
|
322
|
+
return { client, warnings };
|
|
323
|
+
};
|
|
324
|
+
var createConsoleLoggerConfig = () => {
|
|
325
|
+
const warnings = [];
|
|
326
|
+
const consoleLoggerDefaults = {
|
|
327
|
+
minimumLevel: "info",
|
|
328
|
+
silent: false
|
|
329
|
+
};
|
|
330
|
+
const consoleLoggerEnvs = {
|
|
331
|
+
minimumLevel: process.env.LOG_CONSOLE_LEVEL,
|
|
332
|
+
silent: process.env.LOG_CONSOLE_SILENT == void 0 ? void 0 : process.env.LOG_CONSOLE_SILENT == "true"
|
|
333
|
+
};
|
|
334
|
+
const consoleLogger = mergeConfigs(consoleLoggerDefaults, consoleLoggerEnvs);
|
|
335
|
+
if (consoleLogger.silent == false) {
|
|
336
|
+
const consoleWarningsVars = [
|
|
337
|
+
{ key: "LOG_CONSOLE_SILENT", default: consoleLogger.silent },
|
|
338
|
+
{ key: "LOG_CONSOLE_LEVEL", default: consoleLogger.minimumLevel }
|
|
339
|
+
];
|
|
340
|
+
const aux = generateWarnings(consoleWarningsVars);
|
|
341
|
+
warnings.push(...aux);
|
|
342
|
+
}
|
|
343
|
+
return {
|
|
344
|
+
consoleLogger,
|
|
345
|
+
warnings
|
|
346
|
+
};
|
|
347
|
+
};
|
|
348
|
+
var createGraylogLoggerConfig = () => {
|
|
349
|
+
const warnings = [];
|
|
350
|
+
const graylogDefaults = {
|
|
351
|
+
app: "app name not set",
|
|
352
|
+
minimumLevel: "info",
|
|
353
|
+
silent: false,
|
|
354
|
+
hostname: "https://log.c-rex.net",
|
|
355
|
+
port: 12202,
|
|
356
|
+
categoriesLevel: ["NoLicense", "Scenario", "Document", "Search", "Notification", "History", "UserProfile"]
|
|
357
|
+
};
|
|
358
|
+
const graylogEnvs = {
|
|
359
|
+
app: process.env.LOG_GRAYLOG_APP_NAME,
|
|
360
|
+
silent: process.env.LOG_GRAYLOG_SILENT == void 0 ? void 0 : process.env.LOG_GRAYLOG_SILENT == "true",
|
|
361
|
+
hostname: process.env.LOG_GRAYLOG_HOSTNAME,
|
|
362
|
+
port: process.env.LOG_GRAYLOG_PORT == void 0 ? void 0 : Number(process.env.LOG_GRAYLOG_PORT),
|
|
363
|
+
minimumLevel: process.env.LOG_GRAYLOG_LEVEL,
|
|
364
|
+
categoriesLevel: process.env.LOG_GRAYLOG_CATEGORIES == void 0 ? void 0 : process.env.LOG_GRAYLOG_CATEGORIES.split(",")
|
|
365
|
+
};
|
|
366
|
+
const graylog = mergeConfigs(graylogDefaults, graylogEnvs);
|
|
367
|
+
if (graylog.silent == false) {
|
|
368
|
+
const graylogWarningVars = [
|
|
369
|
+
{ key: "LOG_GRAYLOG_APP_NAME", default: graylog.app },
|
|
370
|
+
{ key: "LOG_GRAYLOG_HOSTNAME", default: graylog.hostname },
|
|
371
|
+
{ key: "LOG_GRAYLOG_LEVEL", default: graylog.minimumLevel },
|
|
372
|
+
{ key: "LOG_GRAYLOG_SILENT", default: graylog.silent },
|
|
373
|
+
{ key: "LOG_GRAYLOG_CATEGORIES", default: graylog.categoriesLevel },
|
|
374
|
+
{ key: "LOG_GRAYLOG_PORT", default: graylog.port }
|
|
375
|
+
];
|
|
376
|
+
const aux = generateWarnings(graylogWarningVars);
|
|
377
|
+
warnings.push(...aux);
|
|
378
|
+
}
|
|
379
|
+
return {
|
|
380
|
+
graylog,
|
|
381
|
+
warnings
|
|
382
|
+
};
|
|
383
|
+
};
|
|
384
|
+
var createMatomoLoggerConfig = () => {
|
|
385
|
+
const warnings = [];
|
|
386
|
+
const matomoDefaults = {
|
|
387
|
+
app: "NextJsProjectName",
|
|
388
|
+
minimumLevel: "info",
|
|
389
|
+
silent: true,
|
|
390
|
+
hostname: "",
|
|
391
|
+
port: 0,
|
|
392
|
+
categoriesLevel: ["NoLicense", "Scenario", "Document", "Search", "Notification", "History", "UserProfile"]
|
|
393
|
+
};
|
|
394
|
+
const matomoEnvs = {
|
|
395
|
+
app: process.env.LOG_MATOMO_APP_NAME,
|
|
396
|
+
silent: process.env.LOG_MATOMO_SILENT == void 0 ? void 0 : process.env.LOG_MATOMO_SILENT == "true",
|
|
397
|
+
hostname: process.env.LOG_MATOMO_HOSTNAME,
|
|
398
|
+
port: process.env.LOG_MATOMO_PORT == void 0 ? void 0 : Number(process.env.LOG_MATOMO_PORT),
|
|
399
|
+
minimumLevel: process.env.LOG_MATOMO_LEVEL,
|
|
400
|
+
categoriesLevel: process.env.LOG_MATOMO_CATEGORIES == void 0 ? void 0 : process.env.LOG_MATOMO_CATEGORIES.split(",")
|
|
401
|
+
};
|
|
402
|
+
const matomo = mergeConfigs(matomoDefaults, matomoEnvs);
|
|
403
|
+
const matomoSilentVars = [
|
|
404
|
+
{ key: "LOG_MATOMO_SILENT", value: process.env.LOG_MATOMO_SILENT },
|
|
405
|
+
{ key: "LOG_MATOMO_HOSTNAME", value: process.env.LOG_MATOMO_HOSTNAME },
|
|
406
|
+
{ key: "LOG_MATOMO_PORT", value: process.env.LOG_MATOMO_PORT }
|
|
407
|
+
];
|
|
408
|
+
matomoSilentVars.forEach((variable) => {
|
|
409
|
+
if (variable.value === void 0) {
|
|
410
|
+
matomo.silent = true;
|
|
411
|
+
warnings.push(`Missing environment variable ${variable.key}, setting matomo logger to silent`);
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
if (matomo.silent == false) {
|
|
415
|
+
const matomoWarningVars = [
|
|
416
|
+
{ key: "LOG_MATOMO_APP_NAME", default: matomo.app },
|
|
417
|
+
{ key: "LOG_MATOMO_LEVEL", default: matomo.minimumLevel },
|
|
418
|
+
{ key: "LOG_MATOMO_CATEGORIES", default: matomo.categoriesLevel }
|
|
419
|
+
];
|
|
420
|
+
const aux = generateWarnings(matomoWarningVars);
|
|
421
|
+
warnings.push(...aux);
|
|
422
|
+
}
|
|
423
|
+
return {
|
|
424
|
+
matomo,
|
|
425
|
+
warnings
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
|
|
429
|
+
// src/create.ts
|
|
430
|
+
var createCustomerConfig = (CUSTOMER_CONFIG, shouldLog = false) => {
|
|
431
|
+
const requiredEnvVars = ["CREX_API_URL", "NEXT_PUBLIC_API_URL"];
|
|
432
|
+
const errors = requiredEnvVars.map((key) => {
|
|
433
|
+
const value = process.env[key];
|
|
434
|
+
if (value === void 0) {
|
|
435
|
+
return `Missing required environment variable: ${key}`;
|
|
436
|
+
}
|
|
437
|
+
return "";
|
|
438
|
+
}).filter((item) => item.length > 0);
|
|
439
|
+
const { user, warnings: userWarnings } = createUserOIDCConfig();
|
|
440
|
+
const { client, warnings: clientWarnings } = createClientOIDCConfig();
|
|
441
|
+
const { matomo, warnings: matomoWarnings } = createMatomoLoggerConfig();
|
|
442
|
+
const { graylog, warnings: graylogWarnings } = createGraylogLoggerConfig();
|
|
443
|
+
const { consoleLogger, warnings: consoleWarnings } = createConsoleLoggerConfig();
|
|
444
|
+
const warnings = [
|
|
445
|
+
...clientWarnings,
|
|
446
|
+
...consoleWarnings,
|
|
447
|
+
...userWarnings,
|
|
448
|
+
...graylogWarnings,
|
|
449
|
+
...matomoWarnings
|
|
450
|
+
];
|
|
451
|
+
if (shouldLog) {
|
|
452
|
+
if (errors.length > 0) throw new Error(errors.join("\n"));
|
|
453
|
+
if (warnings.length > 0) console.warn(warnings.join("\n"));
|
|
454
|
+
}
|
|
455
|
+
const cookiesConfig = {
|
|
456
|
+
publicNextApiUrl: process.env.NEXT_PUBLIC_API_URL,
|
|
457
|
+
...CUSTOMER_CONFIG,
|
|
458
|
+
OIDC: {
|
|
459
|
+
clientEnabled: client.enabled,
|
|
460
|
+
userEnabled: user.enabled
|
|
461
|
+
}
|
|
462
|
+
};
|
|
463
|
+
let baseUrl = process.env.CREX_API_URL;
|
|
464
|
+
const lastChar = baseUrl.charAt(baseUrl.length - 1);
|
|
465
|
+
if (lastChar !== "/") {
|
|
466
|
+
baseUrl += "/";
|
|
467
|
+
}
|
|
468
|
+
baseUrl += "iirds/v1/";
|
|
469
|
+
const config = {
|
|
470
|
+
baseUrl,
|
|
471
|
+
OIDC: { client, user },
|
|
472
|
+
logs: { console: consoleLogger, graylog, matomo },
|
|
473
|
+
...CUSTOMER_CONFIG
|
|
474
|
+
};
|
|
475
|
+
return { cookiesConfig, config };
|
|
476
|
+
};
|
|
477
|
+
|
|
212
478
|
// src/index.ts
|
|
213
479
|
var I18N = {
|
|
214
480
|
"en-us": EN,
|
|
@@ -216,6 +482,7 @@ var I18N = {
|
|
|
216
482
|
};
|
|
217
483
|
export {
|
|
218
484
|
I18N,
|
|
485
|
+
createCustomerConfig,
|
|
219
486
|
tailwindPreset
|
|
220
487
|
};
|
|
221
488
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/en-messages.ts","../src/de-messages.ts","../src/tailwind.ts","../src/index.ts"],"sourcesContent":["export const EN = {\n \"filter\": {\n \"filters\": \"Filters\",\n \"apply\": \"Apply\",\n \"applyAndSearch\": \"Apply and Search\",\n \"all\": \"All\",\n \"categories\": \"Categories\",\n \"wildcard\": \"Select wildcard\",\n \"operator\": \"Require all words\",\n \"languages\": \"Select languages\",\n \"like\": \"Find similar terms\",\n \"searchSettings\": \"Search settings\",\n \"clearFilters\": \"Clear Filters\",\n \"tags\": {\n \"parties\": \"Manufacturer\",\n \"components\": \"Product\",\n \"informationSubjects\": \"Subject\",\n \"topicTypes\": \"Functionality\",\n \"productFeatures\": \"Product Features\",\n \"packages\": \"Document\"\n }\n },\n \"tableOfContent\": \"Table of Content\",\n \"availableIn\": \"Available in\",\n \"recentPosts\": \"Recent Posts\",\n \"home\": \"Home\",\n \"searchSettings\": \"Search settings\",\n \"reset\": \"Reset\",\n \"search\": \"Search\",\n \"about\": \"About\",\n \"createdAt\": \"Created at\",\n \"created\": \"Created at\",\n \"files\": \"Files\",\n \"aboutDocument\": \"About Document\",\n \"aboutArticle\": \"About Article\",\n\n\n \"revision\": \"Revision\",\n \"languages\": \"Language\",\n \"titles\": \"Titles\",\n\n \"sorry\": \"Sorry about that!\",\n \"language\": \"Language\",\n\n \"accountSettings\": {\n \"uiLanguage\": \"UI Language\",\n \"contentLanguage\": \"Content Language\",\n \"accountSettings\": \"Account Settings\"\n },\n \"user\": {\n \"userName\": \"User Name\",\n \"welcome\": \"Hey {userName}\",\n \"signIn\": \"Sign In\",\n \"signOut\": \"Sign Out\"\n },\n \"results\": {\n \"language\": \"Language\",\n \"viewArticle\": \"View Article\",\n \"title\": \"Title\",\n \"type\": \"Type\",\n \"country\": \"Country\",\n \"results\": \"Results\",\n \"files\": \"Files\",\n \"noResultsTitle\": \"No results\",\n \"noResultsDescription\": \"No data available. Please try adjusting your search or filter criteria.\"\n },\n \"toast\": {\n \"articleAvailable\": \"Article available\",\n \"read\": \"Read {lang} version\",\n \"description\": \"This article is also available in {lang}\",\n \"label\": \"Open {lang} version\",\n \"articleNotAvailable\": \"Article not available in this language\"\n },\n \"breadcrumbs\": {\n \"home\": \"Home\"\n }\n}\n","export const DE = {\n \"filter\": {\n \"filters\": \"Filter\",\n \"apply\": \"Anwenden\",\n \"all\": \"Alle\",\n \"applyAndSearch\": \"Anwenden und Suchen\",\n \"categories\": \"Kategorien\",\n \"wildcard\": \"Wildcard auswählen\",\n \"operator\": \"Alle Wörter erforderlich\",\n \"languages\": \"Sprachen auswählen\",\n \"like\": \"Ähnliche Begriffe finden\",\n \"clearFilters\": \"Filter zurücksetzen\",\n \"tags\": {\n \"parties\": \"Hersteller\",\n \"components\": \"Produkt\",\n \"informationSubjects\": \"Thema\",\n \"topicTypes\": \"Funktionalität\",\n \"productFeatures\": \"Produktmerkmale\",\n \"packages\": \"Dokument\"\n }\n },\n \"applyFilters\": \"Filter anwenden\",\n \"tableOfContent\": \"Inhaltsverzeichnis\",\n \"availableIn\": \"Verfügbar in\",\n \"files\": \"Dateien\",\n \"recentPosts\": \"Neueste Beiträge\",\n \"createdAt\": \"Erstellt am\",\n \"created\": \"Erstellt am\",\n\n\n \"aboutDocument\": \"Über das Dokument\",\n \"aboutArticle\": \"Über den Artikel\",\n\n \"revision\": \"Revision\",\n \"about\": \"Über\",\n \"languages\": \"Sprache\",\n \"titles\": \"Titel\",\n\n \"search\": \"suchen\",\n \"sorry\": \"Entschuldigung!\",\n \"accountSettings\": {\n \"uiLanguage\": \"Benutzeroberflächen-Sprache\",\n \"contentLanguage\": \"Inhaltssprache\",\n \"accountSettings\": \"Kontoeinstellungen\"\n },\n \"user\": {\n \"userName\": \"Benutzername\",\n \"welcome\": \"Willkommen {userName}\",\n \"signIn\": \"Anmelden\",\n \"signOut\": \"Abmelden\"\n },\n \"results\": {\n \"language\": \"Sprache\",\n \"viewArticle\": \"Artikel ansehen\",\n \"title\": \"Title\",\n \"type\": \"Typ\",\n \"country\": \"Land\",\n \"files\": \"Dateien\",\n \"results\": \"Ergebnisse\",\n \"noResultsTitle\": \"Keine Ergebnisse\",\n \"noResultsDescription\": \"Keine Daten verfügbar. Bitte passen Sie Ihre Such- oder Filterkriterien an.\"\n },\n \"toast\": {\n \"articleAvailable\": \"Artikel verfügbar\",\n \"read\": \"Lesen Sie {lang} Version\",\n \"description\": \"Dieser Artikel ist auch in {lang} verfügbar\",\n \"label\": \"Öffnen Sie {lang} Version\",\n \"articleNotAvailable\": \"Artikel nicht in dieser Sprache verfügbar\"\n },\n \"breadcrumbs\": {\n \"home\": \"Startseite\"\n }\n}"," \nimport type { Config } from \"tailwindcss\";\n\nexport const tailwindPreset: Omit<Config, \"content\"> = {\n theme: {\n extend: {\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n colors: {\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n chart: {\n \"1\": \"hsl(var(--chart-1))\",\n \"2\": \"hsl(var(--chart-2))\",\n \"3\": \"hsl(var(--chart-3))\",\n \"4\": \"hsl(var(--chart-4))\",\n \"5\": \"hsl(var(--chart-5))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n },\n },\n};\n","import { EN } from './en-messages';\nimport { DE } from './de-messages';\n\nexport const I18N = {\n 'en-us': EN,\n 'de-de': DE,\n};\n\nexport * from \"./tailwind\""],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/en-messages.ts","../src/de-messages.ts","../src/tailwind.ts","../src/utils.ts","../src/create.ts","../src/index.ts"],"sourcesContent":["export const EN = {\n \"filter\": {\n \"filters\": \"Filters\",\n \"apply\": \"Apply\",\n \"applyAndSearch\": \"Apply and Search\",\n \"all\": \"All\",\n \"categories\": \"Categories\",\n \"wildcard\": \"Select wildcard\",\n \"operator\": \"Require all words\",\n \"languages\": \"Select languages\",\n \"like\": \"Find similar terms\",\n \"searchSettings\": \"Search settings\",\n \"clearFilters\": \"Clear Filters\",\n \"tags\": {\n \"parties\": \"Manufacturer\",\n \"components\": \"Product\",\n \"informationSubjects\": \"Subject\",\n \"topicTypes\": \"Functionality\",\n \"productFeatures\": \"Product Features\",\n \"packages\": \"Document\"\n }\n },\n \"tableOfContent\": \"Table of Content\",\n \"availableIn\": \"Available in\",\n \"recentPosts\": \"Recent Posts\",\n \"home\": \"Home\",\n \"searchSettings\": \"Search settings\",\n \"reset\": \"Reset\",\n \"search\": \"Search\",\n \"about\": \"About\",\n \"createdAt\": \"Created at\",\n \"created\": \"Created at\",\n \"files\": \"Files\",\n \"aboutDocument\": \"About Document\",\n \"aboutArticle\": \"About Article\",\n\n\n \"revision\": \"Revision\",\n \"languages\": \"Language\",\n \"titles\": \"Titles\",\n\n \"sorry\": \"Sorry about that!\",\n \"language\": \"Language\",\n\n \"accountSettings\": {\n \"uiLanguage\": \"UI Language\",\n \"contentLanguage\": \"Content Language\",\n \"accountSettings\": \"Account Settings\"\n },\n \"user\": {\n \"userName\": \"User Name\",\n \"welcome\": \"Hey {userName}\",\n \"signIn\": \"Sign In\",\n \"signOut\": \"Sign Out\"\n },\n \"results\": {\n \"language\": \"Language\",\n \"viewArticle\": \"View Article\",\n \"title\": \"Title\",\n \"type\": \"Type\",\n \"country\": \"Country\",\n \"results\": \"Results\",\n \"files\": \"Files\",\n \"noResultsTitle\": \"No results\",\n \"noResultsDescription\": \"No data available. Please try adjusting your search or filter criteria.\"\n },\n \"toast\": {\n \"articleAvailable\": \"Article available\",\n \"read\": \"Read {lang} version\",\n \"description\": \"This article is also available in {lang}\",\n \"label\": \"Open {lang} version\",\n \"articleNotAvailable\": \"Article not available in this language\"\n },\n \"breadcrumbs\": {\n \"home\": \"Home\"\n }\n}\n","export const DE = {\n \"filter\": {\n \"filters\": \"Filter\",\n \"apply\": \"Anwenden\",\n \"all\": \"Alle\",\n \"applyAndSearch\": \"Anwenden und Suchen\",\n \"categories\": \"Kategorien\",\n \"wildcard\": \"Wildcard auswählen\",\n \"operator\": \"Alle Wörter erforderlich\",\n \"languages\": \"Sprachen auswählen\",\n \"like\": \"Ähnliche Begriffe finden\",\n \"clearFilters\": \"Filter zurücksetzen\",\n \"tags\": {\n \"parties\": \"Hersteller\",\n \"components\": \"Produkt\",\n \"informationSubjects\": \"Thema\",\n \"topicTypes\": \"Funktionalität\",\n \"productFeatures\": \"Produktmerkmale\",\n \"packages\": \"Dokument\"\n }\n },\n \"applyFilters\": \"Filter anwenden\",\n \"tableOfContent\": \"Inhaltsverzeichnis\",\n \"availableIn\": \"Verfügbar in\",\n \"files\": \"Dateien\",\n \"recentPosts\": \"Neueste Beiträge\",\n \"createdAt\": \"Erstellt am\",\n \"created\": \"Erstellt am\",\n\n\n \"aboutDocument\": \"Über das Dokument\",\n \"aboutArticle\": \"Über den Artikel\",\n\n \"revision\": \"Revision\",\n \"about\": \"Über\",\n \"languages\": \"Sprache\",\n \"titles\": \"Titel\",\n\n \"search\": \"suchen\",\n \"sorry\": \"Entschuldigung!\",\n \"accountSettings\": {\n \"uiLanguage\": \"Benutzeroberflächen-Sprache\",\n \"contentLanguage\": \"Inhaltssprache\",\n \"accountSettings\": \"Kontoeinstellungen\"\n },\n \"user\": {\n \"userName\": \"Benutzername\",\n \"welcome\": \"Willkommen {userName}\",\n \"signIn\": \"Anmelden\",\n \"signOut\": \"Abmelden\"\n },\n \"results\": {\n \"language\": \"Sprache\",\n \"viewArticle\": \"Artikel ansehen\",\n \"title\": \"Title\",\n \"type\": \"Typ\",\n \"country\": \"Land\",\n \"files\": \"Dateien\",\n \"results\": \"Ergebnisse\",\n \"noResultsTitle\": \"Keine Ergebnisse\",\n \"noResultsDescription\": \"Keine Daten verfügbar. Bitte passen Sie Ihre Such- oder Filterkriterien an.\"\n },\n \"toast\": {\n \"articleAvailable\": \"Artikel verfügbar\",\n \"read\": \"Lesen Sie {lang} Version\",\n \"description\": \"Dieser Artikel ist auch in {lang} verfügbar\",\n \"label\": \"Öffnen Sie {lang} Version\",\n \"articleNotAvailable\": \"Artikel nicht in dieser Sprache verfügbar\"\n },\n \"breadcrumbs\": {\n \"home\": \"Startseite\"\n }\n}","\nimport { MARKER_COLORS } from \"@c-rex/constants\";\nimport type { Config } from \"tailwindcss\";\n\nconst colorClasses = MARKER_COLORS.flatMap((color) => [\n `bg-${color}`,\n `text-${color}`,\n `border-r-${color}`,\n]);\n\nexport const tailwindPreset: Omit<Config, \"content\"> = {\n safelist: colorClasses,\n theme: {\n extend: {\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n colors: {\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n chart: {\n \"1\": \"hsl(var(--chart-1))\",\n \"2\": \"hsl(var(--chart-2))\",\n \"3\": \"hsl(var(--chart-3))\",\n \"4\": \"hsl(var(--chart-4))\",\n \"5\": \"hsl(var(--chart-5))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n },\n },\n};\n","import { WarningVars } from \"@c-rex/types\";\nimport { logInfo, OIDCInterface } from \"@c-rex/interfaces\";\nimport { LogLevelType } from \"@c-rex/types\";\nimport { LogCategoriesType } from \"@c-rex/types\";\n\nconst formatIssuer = (issuer: string): string => {\n let newIssuer = issuer\n const lastChar = newIssuer.charAt(newIssuer.length - 1)\n if (lastChar !== \"/\") {\n newIssuer += \"/\"\n }\n newIssuer += \".well-known/openid-configuration\"\n\n return newIssuer;\n}\n\nexport const mergeConfigs = <T>(defaultConfig: Partial<T>, envVars: Partial<T>): T => {\n const definedEnvVars: T = {} as T;\n\n for (const key in envVars) {\n if (envVars[key] !== undefined) {\n definedEnvVars[key] = envVars[key];\n }\n }\n\n return {\n ...defaultConfig,\n ...definedEnvVars,\n };\n}\n\nexport const generateWarnings = (vars: WarningVars[]): string[] => {\n\n const warnings: string[] = []\n\n vars.forEach((variable) => {\n const value = process.env[variable.key];\n if (value === undefined) {\n warnings.push(`Missing environment variable ${variable.key}, using default value: ${variable.default}`)\n }\n })\n\n return warnings;\n}\n\nexport const createUserOIDCConfig = (): { user: OIDCInterface, warnings: string[] } => {\n const warnings: string[] = []\n const userDefaults: Partial<OIDCInterface> = {\n secret: \"dummy\",\n scope: \"openid profile crex.ids.api crex.ids.api.public\",\n enabled: true,\n }\n const userEnvs: Partial<OIDCInterface> = {\n id: process.env.CREX_IDS_ID,\n secret: process.env.CREX_IDS_SECRET,\n scope: process.env.CREX_IDS_USER_SCOPES,\n issuer: process.env.CREX_IDS_ISSUER == undefined ? undefined : formatIssuer(process.env.CREX_IDS_ISSUER),\n enabled: process.env.CREX_IDS_USER_LOGIN_ENABLE == undefined ? undefined : process.env.CREX_IDS_USER_LOGIN_ENABLE == \"true\",\n }\n const user: OIDCInterface = mergeConfigs<OIDCInterface>(userDefaults, userEnvs);\n\n if (user.enabled) {\n const disableOIDCVars = [\n { key: \"CREX_IDS_ID\", value: process.env.CREX_IDS_ID },\n { key: \"CREX_IDS_ISSUER\", value: process.env.CREX_IDS_ISSUER },\n ]\n disableOIDCVars.forEach((variable) => {\n if (variable.value === undefined) {\n user.enabled = false\n\n warnings.push(`Missing environment variable ${variable.key}, disabling client and login`)\n }\n })\n\n }\n\n if (user.enabled) {\n const userWarningVars = [\n { key: \"CREX_IDS_USER_SCOPES\", default: user.scope },\n { key: \"CREX_IDS_SECRET\", default: user.secret },\n { key: \"CREX_IDS_USER_LOGIN_ENABLE\", default: user.enabled }\n ]\n const aux = generateWarnings(userWarningVars)\n warnings.push(...aux);\n }\n\n return { user, warnings }\n}\n\nexport const createClientOIDCConfig = (): { client: OIDCInterface, warnings: string[] } => {\n const warnings: string[] = []\n const clientDefault: Partial<OIDCInterface> = {\n secret: \"dummy\",\n enabled: true,\n }\n const clientEnvs: Partial<OIDCInterface> = {\n id: process.env.CREX_IDS_ID,\n issuer: process.env.CREX_IDS_ISSUER == undefined ? undefined : formatIssuer(process.env.CREX_IDS_ISSUER),\n secret: process.env.CREX_IDS_SECRET,\n enabled: process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == undefined ? undefined : process.env.CREX_IDS_CLIENT_LOGIN_ENABLE == \"true\",\n }\n const client: OIDCInterface = mergeConfigs<OIDCInterface>(clientDefault, clientEnvs);\n\n if (client.enabled) {\n const disableOIDCVars = [\n { key: \"CREX_IDS_ID\", value: process.env.CREX_IDS_ID },\n { key: \"CREX_IDS_ISSUER\", value: process.env.CREX_IDS_ISSUER },\n ]\n disableOIDCVars.forEach((variable) => {\n if (variable.value === undefined) {\n client.enabled = false\n warnings.push(`Missing environment variable ${variable.key}, disabling client and login`)\n }\n })\n }\n\n if (client.enabled) {\n const clientWarningVars = [\n { key: \"CREX_IDS_SECRET\", default: client.secret },\n { key: \"CREX_IDS_CLIENT_LOGIN_ENABLE\", default: client.enabled }\n ]\n\n const aux = generateWarnings(clientWarningVars)\n warnings.push(...aux);\n }\n\n return { client, warnings }\n}\n\nexport const createConsoleLoggerConfig = (): { consoleLogger: Omit<logInfo, \"hostname\" | \"app\" | \"categoriesLevel\">, warnings: string[]; } => {\n const warnings: string[] = []\n\n const consoleLoggerDefaults: Partial<logInfo> = {\n minimumLevel: \"info\" as LogLevelType,\n silent: false,\n }\n const consoleLoggerEnvs: Partial<logInfo> = {\n minimumLevel: process.env.LOG_CONSOLE_LEVEL as LogLevelType,\n silent: process.env.LOG_CONSOLE_SILENT == undefined ? undefined : process.env.LOG_CONSOLE_SILENT == \"true\",\n }\n const consoleLogger: logInfo = mergeConfigs<logInfo>(consoleLoggerDefaults, consoleLoggerEnvs);\n\n if (consoleLogger.silent == false) {\n const consoleWarningsVars = [\n { key: \"LOG_CONSOLE_SILENT\", default: consoleLogger.silent },\n { key: \"LOG_CONSOLE_LEVEL\", default: consoleLogger.minimumLevel }\n ]\n const aux = generateWarnings(consoleWarningsVars)\n warnings.push(...aux);\n }\n\n return {\n consoleLogger,\n warnings\n }\n}\n\nexport const createGraylogLoggerConfig = (): { graylog: logInfo, warnings: string[] } => {\n const warnings: string[] = []\n\n const graylogDefaults: Partial<logInfo> = {\n app: \"app name not set\",\n minimumLevel: \"info\" as LogLevelType,\n silent: false,\n hostname: \"https://log.c-rex.net\",\n port: 12202,\n categoriesLevel: [\"NoLicense\", \"Scenario\", \"Document\", \"Search\", \"Notification\", \"History\", \"UserProfile\"],\n }\n const graylogEnvs: Partial<logInfo> = {\n app: process.env.LOG_GRAYLOG_APP_NAME,\n silent: process.env.LOG_GRAYLOG_SILENT == undefined ? undefined : process.env.LOG_GRAYLOG_SILENT == \"true\",\n hostname: process.env.LOG_GRAYLOG_HOSTNAME,\n port: process.env.LOG_GRAYLOG_PORT == undefined ? undefined : Number(process.env.LOG_GRAYLOG_PORT),\n minimumLevel: process.env.LOG_GRAYLOG_LEVEL as any,\n categoriesLevel: process.env.LOG_GRAYLOG_CATEGORIES == undefined ? undefined : process.env.LOG_GRAYLOG_CATEGORIES.split(\",\") as LogCategoriesType[],\n }\n const graylog: logInfo = mergeConfigs<logInfo>(graylogDefaults, graylogEnvs);\n\n if (graylog.silent == false) {\n const graylogWarningVars = [\n { key: \"LOG_GRAYLOG_APP_NAME\", default: graylog.app },\n { key: \"LOG_GRAYLOG_HOSTNAME\", default: graylog.hostname },\n { key: \"LOG_GRAYLOG_LEVEL\", default: graylog.minimumLevel },\n { key: \"LOG_GRAYLOG_SILENT\", default: graylog.silent },\n { key: \"LOG_GRAYLOG_CATEGORIES\", default: graylog.categoriesLevel },\n { key: \"LOG_GRAYLOG_PORT\", default: graylog.port }\n ]\n const aux = generateWarnings(graylogWarningVars)\n warnings.push(...aux);\n }\n\n return {\n graylog,\n warnings\n }\n}\n\nexport const createMatomoLoggerConfig = (): { matomo: logInfo, warnings: string[] } => {\n const warnings: string[] = []\n\n const matomoDefaults: Partial<logInfo> = {\n app: \"NextJsProjectName\",\n minimumLevel: \"info\" as LogLevelType,\n silent: true,\n hostname: \"\",\n port: 0,\n categoriesLevel: [\"NoLicense\", \"Scenario\", \"Document\", \"Search\", \"Notification\", \"History\", \"UserProfile\"],\n }\n const matomoEnvs: Partial<logInfo> = {\n app: process.env.LOG_MATOMO_APP_NAME,\n silent: process.env.LOG_MATOMO_SILENT == undefined ? undefined : process.env.LOG_MATOMO_SILENT == \"true\",\n hostname: process.env.LOG_MATOMO_HOSTNAME,\n port: process.env.LOG_MATOMO_PORT == undefined ? undefined : Number(process.env.LOG_MATOMO_PORT),\n minimumLevel: process.env.LOG_MATOMO_LEVEL as any,\n categoriesLevel: process.env.LOG_MATOMO_CATEGORIES == undefined ? undefined : process.env.LOG_MATOMO_CATEGORIES.split(\",\") as LogCategoriesType[],\n }\n const matomo: logInfo = mergeConfigs<logInfo>(matomoDefaults, matomoEnvs);\n\n\n const matomoSilentVars = [\n { key: \"LOG_MATOMO_SILENT\", value: process.env.LOG_MATOMO_SILENT },\n { key: \"LOG_MATOMO_HOSTNAME\", value: process.env.LOG_MATOMO_HOSTNAME },\n { key: \"LOG_MATOMO_PORT\", value: process.env.LOG_MATOMO_PORT }\n ]\n matomoSilentVars.forEach((variable) => {\n if (variable.value === undefined) {\n matomo.silent = true\n warnings.push(`Missing environment variable ${variable.key}, setting matomo logger to silent`)\n }\n })\n\n if (matomo.silent == false) {\n const matomoWarningVars = [\n { key: \"LOG_MATOMO_APP_NAME\", default: matomo.app },\n { key: \"LOG_MATOMO_LEVEL\", default: matomo.minimumLevel },\n { key: \"LOG_MATOMO_CATEGORIES\", default: matomo.categoriesLevel }\n ]\n const aux = generateWarnings(matomoWarningVars)\n warnings.push(...aux);\n }\n\n return {\n matomo,\n warnings\n }\n}\n\n","import { ConfigInterface, CookiesConfigs } from \"@c-rex/interfaces\";\nimport { createClientOIDCConfig, createConsoleLoggerConfig, createGraylogLoggerConfig, createMatomoLoggerConfig, createUserOIDCConfig } from \"./utils\";\n\nexport const createCustomerConfig = (CUSTOMER_CONFIG: any, shouldLog: boolean = false): { cookiesConfig: CookiesConfigs, config: ConfigInterface } => {\n\n const requiredEnvVars = [\"CREX_API_URL\", \"NEXT_PUBLIC_API_URL\"]\n\n const errors = requiredEnvVars.map(key => {\n const value = process.env[key];\n if (value === undefined) {\n return `Missing required environment variable: ${key}`;\n }\n\n return \"\"\n }).filter(item => item.length > 0)\n\n const { user, warnings: userWarnings } = createUserOIDCConfig()\n const { client, warnings: clientWarnings } = createClientOIDCConfig()\n const { matomo, warnings: matomoWarnings } = createMatomoLoggerConfig()\n const { graylog, warnings: graylogWarnings } = createGraylogLoggerConfig()\n const { consoleLogger, warnings: consoleWarnings } = createConsoleLoggerConfig()\n\n const warnings = [\n ...clientWarnings,\n ...consoleWarnings,\n ...userWarnings,\n ...graylogWarnings,\n ...matomoWarnings\n ]\n\n if (shouldLog) {\n if (errors.length > 0) throw new Error(errors.join('\\n'));\n if (warnings.length > 0) console.warn(warnings.join('\\n'));\n }\n\n const cookiesConfig: CookiesConfigs = {\n publicNextApiUrl: process.env.NEXT_PUBLIC_API_URL!,\n ...CUSTOMER_CONFIG,\n OIDC: {\n clientEnabled: client.enabled,\n userEnabled: user.enabled,\n },\n }\n\n let baseUrl = process.env.CREX_API_URL!\n const lastChar = baseUrl.charAt(baseUrl.length - 1)\n if (lastChar !== \"/\") {\n baseUrl += \"/\"\n }\n baseUrl += \"iirds/v1/\"\n\n const config: ConfigInterface = {\n baseUrl,\n OIDC: { client, user },\n logs: { console: consoleLogger, graylog, matomo, },\n ...CUSTOMER_CONFIG,\n }\n\n return { cookiesConfig, config };\n}\n","import { EN } from './en-messages';\nimport { DE } from './de-messages';\n\nexport const I18N = {\n 'en-us': EN,\n 'de-de': DE,\n};\n\nexport * from \"./tailwind\"\nexport * from \"./create\""],"mappings":"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","names":[]}
|