@uptime.app/contracts 1.0.21-rc.0 → 1.0.21
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/package.json +2 -2
- package/src/access-control/collection-access-control.ts +28 -28
- package/src/access-control/hack-access-control.ts +29 -29
- package/src/app-hack/app-full-hack.ts +9 -9
- package/src/app-hack/app-hack-metadata.ts +56 -56
- package/src/app-hack/app-restricted-hack.ts +22 -22
- package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
- package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
- package/src/b2b-organisation/b2b-organisation-member.ts +8 -8
- package/src/b2b-organisation/b2b-organisation.ts +14 -14
- package/src/brand/brand-events.ts +21 -21
- package/src/brand/brand.ts +8 -8
- package/src/collection/collection-events.ts +21 -21
- package/src/collection/collection.ts +58 -58
- package/src/collection/enriched-collection-events.ts +18 -18
- package/src/collection/enriched-collection.ts +64 -64
- package/src/distribution/collection-distribution.ts +17 -17
- package/src/distribution/distribution-events.ts +61 -61
- package/src/distribution/hack-distribution.ts +18 -18
- package/src/draft-hack/draft-hack-events.ts +21 -21
- package/src/draft-hack/draft-hack.ts +184 -184
- package/src/draft-hack-generation/draft-hack-generation-events.ts +42 -42
- package/src/draft-hack-generation/draft-hack-generation.ts +38 -38
- package/src/enriched-hack/enriched-hack-events.ts +21 -21
- package/src/enriched-hack/enriched-hack.ts +101 -101
- package/src/entitlement/user-entitlements-events.ts +20 -20
- package/src/entitlement/user-entitlements.ts +17 -17
- package/src/hack/extracted-subject.ts +31 -31
- package/src/hack/hack-events.ts +21 -21
- package/src/hack/hack-with-voice-events.ts +20 -20
- package/src/hack/hack-with-voice.ts +33 -33
- package/src/hack/hack.ts +114 -114
- package/src/hack-metadata/hack-metadata-events.ts +21 -21
- package/src/hack-metadata/hack-metadata.ts +17 -17
- package/src/index.ts +84 -84
- package/src/knowledge-source/knowledge-source-events.ts +21 -21
- package/src/knowledge-source/knowledge-source.ts +43 -43
- package/src/localisation/live-locales.ts +32 -32
- package/src/localisation/locale-language.ts +4 -4
- package/src/localisation/supported-languages.ts +11 -11
- package/src/localisation/supported-locales.ts +43 -43
- package/src/pending-hack/pending-hack-events.ts +20 -20
- package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
- package/src/pending-hack/pending-hack-with-voice.ts +25 -25
- package/src/pending-hack/pending-hack.ts +75 -75
- package/src/profile/profile-events.ts +41 -41
- package/src/profile/profile.ts +27 -27
- package/src/profile/translated-profile.ts +13 -13
- package/src/segment/segment-commands.ts +70 -70
- package/src/segment/segment-events.ts +42 -42
- package/src/segment/segment-with-voice.ts +8 -8
- package/src/segment/segment.ts +82 -82
- package/src/skin/skin-events.ts +21 -21
- package/src/skin/skin.ts +6 -6
- package/src/text-to-speech/create-speech-commands.ts +20 -20
- package/src/text-to-speech/speech-created-events.ts +10 -10
- package/src/text-to-speech/supported-voices.ts +101 -101
- package/src/text-to-speech/text-segment.ts +29 -29
- package/src/theme/theme-events.ts +21 -21
- package/src/theme/theme.ts +68 -68
- package/src/trending/trending-events.ts +21 -21
- package/src/trending/trending-hacks.ts +8 -8
- package/src/user-context/user-context-events.ts +21 -21
- package/src/user-context/user-context.ts +16 -16
- package/tsconfig.cjs.json +7 -7
- package/tsconfig.npm.json +21 -21
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
import { SupportedLocale } from '../localisation/supported-locales';
|
|
2
|
-
import { SupportedSpeechProvider, Voice } from './text-segment';
|
|
3
|
-
|
|
4
|
-
const britishSonia: Voice = { id: 'en-GB-SoniaNeural', name: 'Sonia', countryCode: 'GB', language: 'en-GB', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
5
|
-
const britishRyan: Voice = { id: 'en-GB-RyanNeural', name: 'Ryan', countryCode: 'GB', language: 'en-GB', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
6
|
-
|
|
7
|
-
const americanNancy: Voice = { id: 'en-US-NancyNeural', name: 'Nancy', countryCode: 'US', language: 'en-US', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
8
|
-
const americanSara: Voice = { id: 'en-US-SaraNeural', name: 'Sara', countryCode: 'US', language: 'en-US', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
9
|
-
const americanChristopher: Voice = { id: 'en-US-ChristopherNeural', name: 'Christopher', countryCode: 'US', language: 'en-US', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
10
|
-
const americanTony: Voice = { id: 'en-US-TonyNeural', name: 'Tony', countryCode: 'US', language: 'en-US', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
11
|
-
|
|
12
|
-
const brazilianBrenda: Voice = { id: 'pt-BR-BrendaNeural', name: 'Brenda', countryCode: 'BR', language: 'pt-BR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
13
|
-
const brazilianGiovanna: Voice = { id: 'pt-BR-GiovannaNeural', name: 'Giovanna', countryCode: 'BR', language: 'pt-BR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
14
|
-
const brazilianAntonio: Voice = { id: 'pt-BR-AntonioNeural', name: 'Antonio', countryCode: 'BR', language: 'pt-BR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
15
|
-
const brazilianHumberto: Voice = { id: 'pt-BR-HumbertoNeural', name: 'Humberto', countryCode: 'BR', language: 'pt-BR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
16
|
-
|
|
17
|
-
const mexicanBeatriz: Voice = { id: 'es-MX-BeatrizNeural', name: 'Beatriz', countryCode: 'MX', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
18
|
-
const mexicanCecilio: Voice = { id: 'es-MX-CecilioNeural', name: 'Cecilio', countryCode: 'MX', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
19
|
-
const spanishAbril: Voice = { id: 'es-ES-AbrilNeural', name: 'Abril', countryCode: 'ES', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
20
|
-
const spanishAlvaro: Voice = { id: 'es-ES-AlvaroNeural', name: 'Alvaro', countryCode: 'ES', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
21
|
-
const latamPaloma: Voice = { id: 'es-US-PalomaNeural', name: 'Paloma', countryCode: 'LATAM', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
22
|
-
const latamAlonso: Voice = { id: 'es-US-AlonsoNeural', name: 'Alonso', countryCode: 'LATAM', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
23
|
-
|
|
24
|
-
const frenchHenri: Voice = { id: 'fr-FR-HenriNeural', name: 'Henri', countryCode: 'FR', language: 'fr-FR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
25
|
-
const frenchJerome: Voice = { id: 'fr-FR-JeromeNeural', name: 'Jerome', countryCode: 'FR', language: 'fr-FR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
26
|
-
const frenchJacqueline: Voice = { id: 'fr-FR-JacquelineNeural', name: 'Jacqueline', countryCode: 'FR', language: 'fr-FR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
27
|
-
const belgianCharline: Voice = { id: 'fr-BE-CharlineNeural', name: 'Charline', countryCode: 'BE', language: 'fr-FR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
28
|
-
|
|
29
|
-
const italianElsa: Voice = { id: 'it-IT-ElsaNeural', name: 'Elsa', countryCode: 'IT', language: 'it-IT', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
30
|
-
const italianFabiola: Voice = { id: 'it-IT-FabiolaNeural', name: 'Fabiola', countryCode: 'IT', language: 'it-IT', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
31
|
-
const italianCalimero: Voice = { id: 'it-IT-CalimeroNeural', name: 'Calimero', countryCode: 'IT', language: 'it-IT', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
32
|
-
const italianCataldo: Voice = { id: 'it-IT-CataldoNeural', name: 'Cataldo', countryCode: 'IT', language: 'it-IT', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
33
|
-
|
|
34
|
-
const dutchColette: Voice = { id: 'nl-NL-ColetteNeural', name: 'Colette', countryCode: 'NL', language: 'nl-NL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
35
|
-
const dutchMaarten: Voice = { id: 'nl-NL-MaartenNeural', name: 'Maarten', countryCode: 'NL', language: 'nl-NL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
36
|
-
const dutchFenna: Voice = { id: 'nl-NL-FennaNeural', name: 'Fenna', countryCode: 'NL', language: 'nl-NL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
37
|
-
|
|
38
|
-
const germanKatja: Voice = { id: 'de-DE-KatjaNeural', name: 'Katja', countryCode: 'DE', language: 'de-DE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
39
|
-
const germanConrad: Voice = { id: 'de-DE-ConradNeural', name: 'Conrad', countryCode: 'DE', language: 'de-DE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
40
|
-
const germanChristoph: Voice = { id: 'de-DE-ChristophNeural', name: 'Christoph', countryCode: 'DE', language: 'de-DE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
41
|
-
const germanElke: Voice = { id: 'de-DE-ElkeNeural', name: 'Elke', countryCode: 'DE', language: 'de-DE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
42
|
-
|
|
43
|
-
const polishZofia: Voice = { id: 'pl-PL-ZofiaNeural', name: 'Zofia', countryCode: 'PL', language: 'pl-PL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
44
|
-
const polishMarek: Voice = { id: 'pl-PL-MarekNeural', name: 'Marek', countryCode: 'PL', language: 'pl-PL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
45
|
-
|
|
46
|
-
const swedishSofie: Voice = { id: 'sv-SE-SofieNeural', name: 'Sofie', countryCode: 'SV', language: 'sv-SE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
47
|
-
const swedishMattias: Voice = { id: 'sv-SE-MattiasNeural', name: 'Mattias', countryCode: 'SV', language: 'sv-SE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
48
|
-
|
|
49
|
-
const turkishAhmet: Voice = { id: 'tr-TR-AhmetNeural', name: 'Ahmet', countryCode: 'TR', language: 'tr-TR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
50
|
-
const turkishEmel: Voice = { id: 'tr-TR-EmelNeural', name: 'Emel', countryCode: 'TR', language: 'tr-TR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
51
|
-
|
|
52
|
-
const canadianFrenchSylvie: Voice = { id: 'fr-CA-SylvieNeural', name: 'Sylvie', countryCode: 'CA', language: 'fr-CA', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
53
|
-
const canadianFrenchThierry: Voice = { id: 'fr-CA-ThierryNeural', name: 'Thierry', countryCode: 'CA', language: 'fr-CA', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
54
|
-
const canadianFrenchAntoine: Voice = { id: 'fr-CA-AntoineNeural', name: 'Antoine', countryCode: 'CA', language: 'fr-CA', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
55
|
-
const canadianFrenchJean: Voice = { id: 'fr-CA-JeanNeural', name: 'Jean', countryCode: 'CA', language: 'fr-CA', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
56
|
-
|
|
57
|
-
const voicesForLocales = new Map<string, Voice[]>([
|
|
58
|
-
[SupportedLocale.enGB, [britishSonia, britishRyan, americanNancy, americanSara, americanChristopher, americanTony]],
|
|
59
|
-
[SupportedLocale.enUS, [britishSonia, britishRyan, americanNancy, americanSara, americanChristopher, americanTony]],
|
|
60
|
-
[SupportedLocale.ptBR, [brazilianBrenda, brazilianGiovanna, brazilianAntonio, brazilianHumberto]],
|
|
61
|
-
[SupportedLocale.es, [mexicanBeatriz, mexicanCecilio, spanishAbril, spanishAlvaro, latamPaloma, latamAlonso]],
|
|
62
|
-
[SupportedLocale.frFR, [frenchHenri, frenchJerome, frenchJacqueline, belgianCharline]],
|
|
63
|
-
[SupportedLocale.itIT, [italianElsa, italianFabiola, italianCalimero, italianCataldo]],
|
|
64
|
-
[SupportedLocale.nlNL, [dutchColette, dutchMaarten, dutchFenna]],
|
|
65
|
-
[SupportedLocale.deDE, [germanKatja, germanConrad, germanChristoph, germanElke]],
|
|
66
|
-
[SupportedLocale.plPL, [polishZofia, polishMarek]],
|
|
67
|
-
[SupportedLocale.svSE, [swedishSofie, swedishMattias]],
|
|
68
|
-
[SupportedLocale.trTR, [turkishAhmet, turkishEmel]],
|
|
69
|
-
[SupportedLocale.frCA, [canadianFrenchSylvie, canadianFrenchThierry, canadianFrenchAntoine, canadianFrenchJean]]
|
|
70
|
-
]);
|
|
71
|
-
|
|
72
|
-
const defaultVoiceForLocales = new Map<string, Voice>([
|
|
73
|
-
[SupportedLocale.enGB, americanSara],
|
|
74
|
-
[SupportedLocale.enUS, americanSara],
|
|
75
|
-
[SupportedLocale.ptBR, brazilianHumberto],
|
|
76
|
-
[SupportedLocale.es, latamPaloma],
|
|
77
|
-
[SupportedLocale.frFR, frenchJacqueline],
|
|
78
|
-
[SupportedLocale.itIT, italianElsa],
|
|
79
|
-
[SupportedLocale.nlNL, dutchColette],
|
|
80
|
-
[SupportedLocale.deDE, germanKatja],
|
|
81
|
-
[SupportedLocale.plPL, polishZofia],
|
|
82
|
-
[SupportedLocale.svSE, swedishSofie],
|
|
83
|
-
[SupportedLocale.trTR, turkishAhmet],
|
|
84
|
-
[SupportedLocale.frCA, canadianFrenchSylvie]
|
|
85
|
-
]);
|
|
86
|
-
|
|
87
|
-
export function getSupportedVoices(locale: string): Voice[] {
|
|
88
|
-
const voices = voicesForLocales.get(locale);
|
|
89
|
-
if (!voices) {
|
|
90
|
-
throw new Error(`Cannot list supported voices. Unsupported locale: ${JSON.stringify(locale)}`);
|
|
91
|
-
}
|
|
92
|
-
return voices;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export function getDefaultVoice(locale: string): Voice {
|
|
96
|
-
const voice = defaultVoiceForLocales.get(locale);
|
|
97
|
-
if (!voice) {
|
|
98
|
-
throw new Error(`Cannot find default voice. Unsupported locale: ${JSON.stringify(locale)}`);
|
|
99
|
-
}
|
|
100
|
-
return voice;
|
|
101
|
-
}
|
|
1
|
+
import { SupportedLocale } from '../localisation/supported-locales';
|
|
2
|
+
import { SupportedSpeechProvider, Voice } from './text-segment';
|
|
3
|
+
|
|
4
|
+
const britishSonia: Voice = { id: 'en-GB-SoniaNeural', name: 'Sonia', countryCode: 'GB', language: 'en-GB', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
5
|
+
const britishRyan: Voice = { id: 'en-GB-RyanNeural', name: 'Ryan', countryCode: 'GB', language: 'en-GB', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
6
|
+
|
|
7
|
+
const americanNancy: Voice = { id: 'en-US-NancyNeural', name: 'Nancy', countryCode: 'US', language: 'en-US', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
8
|
+
const americanSara: Voice = { id: 'en-US-SaraNeural', name: 'Sara', countryCode: 'US', language: 'en-US', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
9
|
+
const americanChristopher: Voice = { id: 'en-US-ChristopherNeural', name: 'Christopher', countryCode: 'US', language: 'en-US', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
10
|
+
const americanTony: Voice = { id: 'en-US-TonyNeural', name: 'Tony', countryCode: 'US', language: 'en-US', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
11
|
+
|
|
12
|
+
const brazilianBrenda: Voice = { id: 'pt-BR-BrendaNeural', name: 'Brenda', countryCode: 'BR', language: 'pt-BR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
13
|
+
const brazilianGiovanna: Voice = { id: 'pt-BR-GiovannaNeural', name: 'Giovanna', countryCode: 'BR', language: 'pt-BR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
14
|
+
const brazilianAntonio: Voice = { id: 'pt-BR-AntonioNeural', name: 'Antonio', countryCode: 'BR', language: 'pt-BR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
15
|
+
const brazilianHumberto: Voice = { id: 'pt-BR-HumbertoNeural', name: 'Humberto', countryCode: 'BR', language: 'pt-BR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
16
|
+
|
|
17
|
+
const mexicanBeatriz: Voice = { id: 'es-MX-BeatrizNeural', name: 'Beatriz', countryCode: 'MX', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
18
|
+
const mexicanCecilio: Voice = { id: 'es-MX-CecilioNeural', name: 'Cecilio', countryCode: 'MX', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
19
|
+
const spanishAbril: Voice = { id: 'es-ES-AbrilNeural', name: 'Abril', countryCode: 'ES', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
20
|
+
const spanishAlvaro: Voice = { id: 'es-ES-AlvaroNeural', name: 'Alvaro', countryCode: 'ES', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
21
|
+
const latamPaloma: Voice = { id: 'es-US-PalomaNeural', name: 'Paloma', countryCode: 'LATAM', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
22
|
+
const latamAlonso: Voice = { id: 'es-US-AlonsoNeural', name: 'Alonso', countryCode: 'LATAM', language: 'es', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
23
|
+
|
|
24
|
+
const frenchHenri: Voice = { id: 'fr-FR-HenriNeural', name: 'Henri', countryCode: 'FR', language: 'fr-FR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
25
|
+
const frenchJerome: Voice = { id: 'fr-FR-JeromeNeural', name: 'Jerome', countryCode: 'FR', language: 'fr-FR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
26
|
+
const frenchJacqueline: Voice = { id: 'fr-FR-JacquelineNeural', name: 'Jacqueline', countryCode: 'FR', language: 'fr-FR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
27
|
+
const belgianCharline: Voice = { id: 'fr-BE-CharlineNeural', name: 'Charline', countryCode: 'BE', language: 'fr-FR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
28
|
+
|
|
29
|
+
const italianElsa: Voice = { id: 'it-IT-ElsaNeural', name: 'Elsa', countryCode: 'IT', language: 'it-IT', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
30
|
+
const italianFabiola: Voice = { id: 'it-IT-FabiolaNeural', name: 'Fabiola', countryCode: 'IT', language: 'it-IT', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
31
|
+
const italianCalimero: Voice = { id: 'it-IT-CalimeroNeural', name: 'Calimero', countryCode: 'IT', language: 'it-IT', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
32
|
+
const italianCataldo: Voice = { id: 'it-IT-CataldoNeural', name: 'Cataldo', countryCode: 'IT', language: 'it-IT', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
33
|
+
|
|
34
|
+
const dutchColette: Voice = { id: 'nl-NL-ColetteNeural', name: 'Colette', countryCode: 'NL', language: 'nl-NL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
35
|
+
const dutchMaarten: Voice = { id: 'nl-NL-MaartenNeural', name: 'Maarten', countryCode: 'NL', language: 'nl-NL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
36
|
+
const dutchFenna: Voice = { id: 'nl-NL-FennaNeural', name: 'Fenna', countryCode: 'NL', language: 'nl-NL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
37
|
+
|
|
38
|
+
const germanKatja: Voice = { id: 'de-DE-KatjaNeural', name: 'Katja', countryCode: 'DE', language: 'de-DE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
39
|
+
const germanConrad: Voice = { id: 'de-DE-ConradNeural', name: 'Conrad', countryCode: 'DE', language: 'de-DE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
40
|
+
const germanChristoph: Voice = { id: 'de-DE-ChristophNeural', name: 'Christoph', countryCode: 'DE', language: 'de-DE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
41
|
+
const germanElke: Voice = { id: 'de-DE-ElkeNeural', name: 'Elke', countryCode: 'DE', language: 'de-DE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
42
|
+
|
|
43
|
+
const polishZofia: Voice = { id: 'pl-PL-ZofiaNeural', name: 'Zofia', countryCode: 'PL', language: 'pl-PL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
44
|
+
const polishMarek: Voice = { id: 'pl-PL-MarekNeural', name: 'Marek', countryCode: 'PL', language: 'pl-PL', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
45
|
+
|
|
46
|
+
const swedishSofie: Voice = { id: 'sv-SE-SofieNeural', name: 'Sofie', countryCode: 'SV', language: 'sv-SE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
47
|
+
const swedishMattias: Voice = { id: 'sv-SE-MattiasNeural', name: 'Mattias', countryCode: 'SV', language: 'sv-SE', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
48
|
+
|
|
49
|
+
const turkishAhmet: Voice = { id: 'tr-TR-AhmetNeural', name: 'Ahmet', countryCode: 'TR', language: 'tr-TR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
50
|
+
const turkishEmel: Voice = { id: 'tr-TR-EmelNeural', name: 'Emel', countryCode: 'TR', language: 'tr-TR', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
51
|
+
|
|
52
|
+
const canadianFrenchSylvie: Voice = { id: 'fr-CA-SylvieNeural', name: 'Sylvie', countryCode: 'CA', language: 'fr-CA', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
53
|
+
const canadianFrenchThierry: Voice = { id: 'fr-CA-ThierryNeural', name: 'Thierry', countryCode: 'CA', language: 'fr-CA', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
54
|
+
const canadianFrenchAntoine: Voice = { id: 'fr-CA-AntoineNeural', name: 'Antoine', countryCode: 'CA', language: 'fr-CA', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
55
|
+
const canadianFrenchJean: Voice = { id: 'fr-CA-JeanNeural', name: 'Jean', countryCode: 'CA', language: 'fr-CA', speechProvider: SupportedSpeechProvider.MicrosoftAzure };
|
|
56
|
+
|
|
57
|
+
const voicesForLocales = new Map<string, Voice[]>([
|
|
58
|
+
[SupportedLocale.enGB, [britishSonia, britishRyan, americanNancy, americanSara, americanChristopher, americanTony]],
|
|
59
|
+
[SupportedLocale.enUS, [britishSonia, britishRyan, americanNancy, americanSara, americanChristopher, americanTony]],
|
|
60
|
+
[SupportedLocale.ptBR, [brazilianBrenda, brazilianGiovanna, brazilianAntonio, brazilianHumberto]],
|
|
61
|
+
[SupportedLocale.es, [mexicanBeatriz, mexicanCecilio, spanishAbril, spanishAlvaro, latamPaloma, latamAlonso]],
|
|
62
|
+
[SupportedLocale.frFR, [frenchHenri, frenchJerome, frenchJacqueline, belgianCharline]],
|
|
63
|
+
[SupportedLocale.itIT, [italianElsa, italianFabiola, italianCalimero, italianCataldo]],
|
|
64
|
+
[SupportedLocale.nlNL, [dutchColette, dutchMaarten, dutchFenna]],
|
|
65
|
+
[SupportedLocale.deDE, [germanKatja, germanConrad, germanChristoph, germanElke]],
|
|
66
|
+
[SupportedLocale.plPL, [polishZofia, polishMarek]],
|
|
67
|
+
[SupportedLocale.svSE, [swedishSofie, swedishMattias]],
|
|
68
|
+
[SupportedLocale.trTR, [turkishAhmet, turkishEmel]],
|
|
69
|
+
[SupportedLocale.frCA, [canadianFrenchSylvie, canadianFrenchThierry, canadianFrenchAntoine, canadianFrenchJean]]
|
|
70
|
+
]);
|
|
71
|
+
|
|
72
|
+
const defaultVoiceForLocales = new Map<string, Voice>([
|
|
73
|
+
[SupportedLocale.enGB, americanSara],
|
|
74
|
+
[SupportedLocale.enUS, americanSara],
|
|
75
|
+
[SupportedLocale.ptBR, brazilianHumberto],
|
|
76
|
+
[SupportedLocale.es, latamPaloma],
|
|
77
|
+
[SupportedLocale.frFR, frenchJacqueline],
|
|
78
|
+
[SupportedLocale.itIT, italianElsa],
|
|
79
|
+
[SupportedLocale.nlNL, dutchColette],
|
|
80
|
+
[SupportedLocale.deDE, germanKatja],
|
|
81
|
+
[SupportedLocale.plPL, polishZofia],
|
|
82
|
+
[SupportedLocale.svSE, swedishSofie],
|
|
83
|
+
[SupportedLocale.trTR, turkishAhmet],
|
|
84
|
+
[SupportedLocale.frCA, canadianFrenchSylvie]
|
|
85
|
+
]);
|
|
86
|
+
|
|
87
|
+
export function getSupportedVoices(locale: string): Voice[] {
|
|
88
|
+
const voices = voicesForLocales.get(locale);
|
|
89
|
+
if (!voices) {
|
|
90
|
+
throw new Error(`Cannot list supported voices. Unsupported locale: ${JSON.stringify(locale)}`);
|
|
91
|
+
}
|
|
92
|
+
return voices;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function getDefaultVoice(locale: string): Voice {
|
|
96
|
+
const voice = defaultVoiceForLocales.get(locale);
|
|
97
|
+
if (!voice) {
|
|
98
|
+
throw new Error(`Cannot find default voice. Unsupported locale: ${JSON.stringify(locale)}`);
|
|
99
|
+
}
|
|
100
|
+
return voice;
|
|
101
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
export interface TextSegment {
|
|
2
|
-
parentId: string;
|
|
3
|
-
textSegmentId: string;
|
|
4
|
-
content: string;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export interface TextSegmentWithSpeech extends TextSegment {
|
|
8
|
-
speech: Speech[];
|
|
9
|
-
/* The speech-friendly version of the "content" field. Trimmed, enrichment links removed, words replaced based on custom dictionary, etc. */
|
|
10
|
-
spokenContent: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface Speech {
|
|
14
|
-
voice: Voice;
|
|
15
|
-
url: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface Voice {
|
|
19
|
-
id: string;
|
|
20
|
-
language: string;
|
|
21
|
-
name: string;
|
|
22
|
-
countryCode: string;
|
|
23
|
-
/** use SupportedSpeechProvider */
|
|
24
|
-
speechProvider: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export enum SupportedSpeechProvider {
|
|
28
|
-
MicrosoftAzure = 'microsoft-azure'
|
|
29
|
-
}
|
|
1
|
+
export interface TextSegment {
|
|
2
|
+
parentId: string;
|
|
3
|
+
textSegmentId: string;
|
|
4
|
+
content: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface TextSegmentWithSpeech extends TextSegment {
|
|
8
|
+
speech: Speech[];
|
|
9
|
+
/* The speech-friendly version of the "content" field. Trimmed, enrichment links removed, words replaced based on custom dictionary, etc. */
|
|
10
|
+
spokenContent: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface Speech {
|
|
14
|
+
voice: Voice;
|
|
15
|
+
url: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface Voice {
|
|
19
|
+
id: string;
|
|
20
|
+
language: string;
|
|
21
|
+
name: string;
|
|
22
|
+
countryCode: string;
|
|
23
|
+
/** use SupportedSpeechProvider */
|
|
24
|
+
speechProvider: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export enum SupportedSpeechProvider {
|
|
28
|
+
MicrosoftAzure = 'microsoft-azure'
|
|
29
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Theme } from './theme';
|
|
2
|
-
|
|
3
|
-
export interface ThemeCreatedEvent {
|
|
4
|
-
id: string;
|
|
5
|
-
type: 'ThemeCreated';
|
|
6
|
-
payload: Theme;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface ThemeUpdatedEvent {
|
|
10
|
-
id: string;
|
|
11
|
-
type: 'ThemeUpdated';
|
|
12
|
-
payload: Theme;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface ThemeDeletedEvent {
|
|
16
|
-
id: string;
|
|
17
|
-
type: 'ThemeDeleted';
|
|
18
|
-
payload: Theme;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type ThemeChangedEvent = ThemeCreatedEvent | ThemeUpdatedEvent | ThemeDeletedEvent;
|
|
1
|
+
import { Theme } from './theme';
|
|
2
|
+
|
|
3
|
+
export interface ThemeCreatedEvent {
|
|
4
|
+
id: string;
|
|
5
|
+
type: 'ThemeCreated';
|
|
6
|
+
payload: Theme;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface ThemeUpdatedEvent {
|
|
10
|
+
id: string;
|
|
11
|
+
type: 'ThemeUpdated';
|
|
12
|
+
payload: Theme;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ThemeDeletedEvent {
|
|
16
|
+
id: string;
|
|
17
|
+
type: 'ThemeDeleted';
|
|
18
|
+
payload: Theme;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type ThemeChangedEvent = ThemeCreatedEvent | ThemeUpdatedEvent | ThemeDeletedEvent;
|
package/src/theme/theme.ts
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
export interface ThemeTemplate {
|
|
2
|
-
/** the url of the background video */
|
|
3
|
-
backgroundVideoUrl?: string;
|
|
4
|
-
/** the url of the background image */
|
|
5
|
-
backgroundImageUrl?: string;
|
|
6
|
-
/** the font color that will be used when rendering text in the foreground */
|
|
7
|
-
fontColor: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface SegmentThemeTemplates {
|
|
11
|
-
overview: {
|
|
12
|
-
a: ThemeTemplate;
|
|
13
|
-
b: ThemeTemplate;
|
|
14
|
-
},
|
|
15
|
-
insightOne: {
|
|
16
|
-
// one template is for the title card
|
|
17
|
-
// the other one for insight content
|
|
18
|
-
a: ThemeTemplate;
|
|
19
|
-
b: ThemeTemplate;
|
|
20
|
-
},
|
|
21
|
-
insightTwo: {
|
|
22
|
-
a: ThemeTemplate;
|
|
23
|
-
b: ThemeTemplate;
|
|
24
|
-
},
|
|
25
|
-
insightThree: {
|
|
26
|
-
a: ThemeTemplate;
|
|
27
|
-
b: ThemeTemplate;
|
|
28
|
-
},
|
|
29
|
-
dark: {
|
|
30
|
-
overview: {
|
|
31
|
-
a: ThemeTemplate;
|
|
32
|
-
b: ThemeTemplate;
|
|
33
|
-
},
|
|
34
|
-
insightOne: {
|
|
35
|
-
a: ThemeTemplate;
|
|
36
|
-
b: ThemeTemplate;
|
|
37
|
-
},
|
|
38
|
-
insightTwo: {
|
|
39
|
-
a: ThemeTemplate;
|
|
40
|
-
b: ThemeTemplate;
|
|
41
|
-
},
|
|
42
|
-
insightThree: {
|
|
43
|
-
a: ThemeTemplate;
|
|
44
|
-
b: ThemeTemplate;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface Theme {
|
|
50
|
-
id: string;
|
|
51
|
-
name: string;
|
|
52
|
-
fontFamily: string;
|
|
53
|
-
templates: SegmentThemeTemplates;
|
|
54
|
-
mood: 'neutral' | 'sombre' | 'vibrant';
|
|
55
|
-
isCustom: boolean;
|
|
56
|
-
/* properties of the story and audio player */
|
|
57
|
-
player?: {
|
|
58
|
-
light: {
|
|
59
|
-
backgroundColor: string;
|
|
60
|
-
},
|
|
61
|
-
dark: {
|
|
62
|
-
backgroundColor: string;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
updatedAt: string;
|
|
66
|
-
createdAt: string;
|
|
67
|
-
v: number;
|
|
68
|
-
}
|
|
1
|
+
export interface ThemeTemplate {
|
|
2
|
+
/** the url of the background video */
|
|
3
|
+
backgroundVideoUrl?: string;
|
|
4
|
+
/** the url of the background image */
|
|
5
|
+
backgroundImageUrl?: string;
|
|
6
|
+
/** the font color that will be used when rendering text in the foreground */
|
|
7
|
+
fontColor: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface SegmentThemeTemplates {
|
|
11
|
+
overview: {
|
|
12
|
+
a: ThemeTemplate;
|
|
13
|
+
b: ThemeTemplate;
|
|
14
|
+
},
|
|
15
|
+
insightOne: {
|
|
16
|
+
// one template is for the title card
|
|
17
|
+
// the other one for insight content
|
|
18
|
+
a: ThemeTemplate;
|
|
19
|
+
b: ThemeTemplate;
|
|
20
|
+
},
|
|
21
|
+
insightTwo: {
|
|
22
|
+
a: ThemeTemplate;
|
|
23
|
+
b: ThemeTemplate;
|
|
24
|
+
},
|
|
25
|
+
insightThree: {
|
|
26
|
+
a: ThemeTemplate;
|
|
27
|
+
b: ThemeTemplate;
|
|
28
|
+
},
|
|
29
|
+
dark: {
|
|
30
|
+
overview: {
|
|
31
|
+
a: ThemeTemplate;
|
|
32
|
+
b: ThemeTemplate;
|
|
33
|
+
},
|
|
34
|
+
insightOne: {
|
|
35
|
+
a: ThemeTemplate;
|
|
36
|
+
b: ThemeTemplate;
|
|
37
|
+
},
|
|
38
|
+
insightTwo: {
|
|
39
|
+
a: ThemeTemplate;
|
|
40
|
+
b: ThemeTemplate;
|
|
41
|
+
},
|
|
42
|
+
insightThree: {
|
|
43
|
+
a: ThemeTemplate;
|
|
44
|
+
b: ThemeTemplate;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface Theme {
|
|
50
|
+
id: string;
|
|
51
|
+
name: string;
|
|
52
|
+
fontFamily: string;
|
|
53
|
+
templates: SegmentThemeTemplates;
|
|
54
|
+
mood: 'neutral' | 'sombre' | 'vibrant';
|
|
55
|
+
isCustom: boolean;
|
|
56
|
+
/* properties of the story and audio player */
|
|
57
|
+
player?: {
|
|
58
|
+
light: {
|
|
59
|
+
backgroundColor: string;
|
|
60
|
+
},
|
|
61
|
+
dark: {
|
|
62
|
+
backgroundColor: string;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
updatedAt: string;
|
|
66
|
+
createdAt: string;
|
|
67
|
+
v: number;
|
|
68
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { TrendingHacks } from './trending-hacks';
|
|
2
|
-
|
|
3
|
-
export interface TrendingHacksCreatedEvent {
|
|
4
|
-
id: string;
|
|
5
|
-
type: 'TrendingHacksCreated';
|
|
6
|
-
payload: TrendingHacks;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface TrendingHacksUpdatedEvent {
|
|
10
|
-
id: string;
|
|
11
|
-
type: 'TrendingHacksUpdated';
|
|
12
|
-
payload: TrendingHacks;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface TrendingHacksDeletedEvent {
|
|
16
|
-
id: string;
|
|
17
|
-
type: 'TrendingHacksDeleted';
|
|
18
|
-
payload: TrendingHacks;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type TrendingHacksChangedEvent = TrendingHacksCreatedEvent | TrendingHacksUpdatedEvent | TrendingHacksDeletedEvent;
|
|
1
|
+
import { TrendingHacks } from './trending-hacks';
|
|
2
|
+
|
|
3
|
+
export interface TrendingHacksCreatedEvent {
|
|
4
|
+
id: string;
|
|
5
|
+
type: 'TrendingHacksCreated';
|
|
6
|
+
payload: TrendingHacks;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface TrendingHacksUpdatedEvent {
|
|
10
|
+
id: string;
|
|
11
|
+
type: 'TrendingHacksUpdated';
|
|
12
|
+
payload: TrendingHacks;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface TrendingHacksDeletedEvent {
|
|
16
|
+
id: string;
|
|
17
|
+
type: 'TrendingHacksDeleted';
|
|
18
|
+
payload: TrendingHacks;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type TrendingHacksChangedEvent = TrendingHacksCreatedEvent | TrendingHacksUpdatedEvent | TrendingHacksDeletedEvent;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export interface TrendingHacks {
|
|
2
|
-
id: string;
|
|
3
|
-
v: number;
|
|
4
|
-
createdAt: string;
|
|
5
|
-
updatedAt: string;
|
|
6
|
-
date: string;
|
|
7
|
-
hackIds: string[];
|
|
8
|
-
}
|
|
1
|
+
export interface TrendingHacks {
|
|
2
|
+
id: string;
|
|
3
|
+
v: number;
|
|
4
|
+
createdAt: string;
|
|
5
|
+
updatedAt: string;
|
|
6
|
+
date: string;
|
|
7
|
+
hackIds: string[];
|
|
8
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { UserContext } from './user-context';
|
|
2
|
-
|
|
3
|
-
export interface UserContextCreatedEvent {
|
|
4
|
-
id: string;
|
|
5
|
-
type: 'UserContextCreated';
|
|
6
|
-
payload: UserContext;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface UserContextUpdatedEvent {
|
|
10
|
-
id: string;
|
|
11
|
-
type: 'UserContextUpdated';
|
|
12
|
-
payload: UserContext;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface UserContextDeletedEvent {
|
|
16
|
-
id: string;
|
|
17
|
-
type: 'UserContextDeleted';
|
|
18
|
-
payload: UserContext;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type UserContextChangedEvent = UserContextCreatedEvent | UserContextUpdatedEvent | UserContextDeletedEvent;
|
|
1
|
+
import { UserContext } from './user-context';
|
|
2
|
+
|
|
3
|
+
export interface UserContextCreatedEvent {
|
|
4
|
+
id: string;
|
|
5
|
+
type: 'UserContextCreated';
|
|
6
|
+
payload: UserContext;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface UserContextUpdatedEvent {
|
|
10
|
+
id: string;
|
|
11
|
+
type: 'UserContextUpdated';
|
|
12
|
+
payload: UserContext;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface UserContextDeletedEvent {
|
|
16
|
+
id: string;
|
|
17
|
+
type: 'UserContextDeleted';
|
|
18
|
+
payload: UserContext;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type UserContextChangedEvent = UserContextCreatedEvent | UserContextUpdatedEvent | UserContextDeletedEvent;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Entitlement } from '../entitlement/user-entitlements';
|
|
2
|
-
|
|
3
|
-
export interface UserContext {
|
|
4
|
-
id: string;
|
|
5
|
-
v: number;
|
|
6
|
-
createdAt: string;
|
|
7
|
-
updatedAt: string;
|
|
8
|
-
userId: string;
|
|
9
|
-
entitlements: Entitlement[];
|
|
10
|
-
organisationIds: string[];
|
|
11
|
-
roles: string[];
|
|
12
|
-
acl: string[];
|
|
13
|
-
permissions: string[];
|
|
14
|
-
partnerId?: string;
|
|
15
|
-
brandId?: string;
|
|
16
|
-
skinId?: string;
|
|
1
|
+
import { Entitlement } from '../entitlement/user-entitlements';
|
|
2
|
+
|
|
3
|
+
export interface UserContext {
|
|
4
|
+
id: string;
|
|
5
|
+
v: number;
|
|
6
|
+
createdAt: string;
|
|
7
|
+
updatedAt: string;
|
|
8
|
+
userId: string;
|
|
9
|
+
entitlements: Entitlement[];
|
|
10
|
+
organisationIds: string[];
|
|
11
|
+
roles: string[];
|
|
12
|
+
acl: string[];
|
|
13
|
+
permissions: string[];
|
|
14
|
+
partnerId?: string;
|
|
15
|
+
brandId?: string;
|
|
16
|
+
skinId?: string;
|
|
17
17
|
}
|
package/tsconfig.cjs.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "./tsconfig.npm.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"module": "CommonJS",
|
|
5
|
-
"outDir": "./dist/cjs"
|
|
6
|
-
},
|
|
7
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.npm.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"module": "CommonJS",
|
|
5
|
+
"outDir": "./dist/cjs"
|
|
6
|
+
},
|
|
7
|
+
}
|