@brightcove/components-embed-code-modal 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/__tests__/EmbedCode.test.d.ts +2 -0
  2. package/__tests__/EmbedCode.test.d.ts.map +1 -0
  3. package/__tests__/InteractivityProject.test.d.ts +2 -0
  4. package/__tests__/InteractivityProject.test.d.ts.map +1 -0
  5. package/__tests__/PlayerPreview.test.d.ts +2 -0
  6. package/__tests__/PlayerPreview.test.d.ts.map +1 -0
  7. package/__tests__/TabsHeader.test.d.ts +2 -0
  8. package/__tests__/TabsHeader.test.d.ts.map +1 -0
  9. package/__tests__/TabsSection.test.d.ts +2 -0
  10. package/__tests__/TabsSection.test.d.ts.map +1 -0
  11. package/__tests__/TitleWithTooltip.test.d.ts +2 -0
  12. package/__tests__/TitleWithTooltip.test.d.ts.map +1 -0
  13. package/__tests__/VideoPlayer.test.d.ts +2 -0
  14. package/__tests__/VideoPlayer.test.d.ts.map +1 -0
  15. package/__tests__/util.test.d.ts +2 -0
  16. package/__tests__/util.test.d.ts.map +1 -0
  17. package/index.js +56 -0
  18. package/index.js.map +1 -0
  19. package/package.json +5 -15
  20. package/src/index.d.ts +5 -0
  21. package/src/index.d.ts.map +1 -0
  22. package/src/js/EmbedCodeModal.d.ts +17 -0
  23. package/src/js/EmbedCodeModal.d.ts.map +1 -0
  24. package/src/js/components/CustomSettingsDropdown.d.ts +11 -0
  25. package/src/js/components/CustomSettingsDropdown.d.ts.map +1 -0
  26. package/src/js/components/EmbedCopySection.d.ts +4 -0
  27. package/src/js/components/EmbedCopySection.d.ts.map +1 -0
  28. package/src/js/components/ModalContainer.d.ts +17 -0
  29. package/src/js/components/ModalContainer.d.ts.map +1 -0
  30. package/src/js/components/NoPlayerModal.d.ts +8 -0
  31. package/src/js/components/NoPlayerModal.d.ts.map +1 -0
  32. package/src/js/components/PlayerPreview.d.ts +4 -0
  33. package/src/js/components/PlayerPreview.d.ts.map +1 -0
  34. package/src/js/components/TabsHeader.d.ts +11 -0
  35. package/src/js/components/TabsHeader.d.ts.map +1 -0
  36. package/src/js/components/TabsSection.d.ts +15 -0
  37. package/src/js/components/TabsSection.d.ts.map +1 -0
  38. package/src/js/components/TitleWithTooltip.d.ts +8 -0
  39. package/src/js/components/TitleWithTooltip.d.ts.map +1 -0
  40. package/src/js/components/VideoLinks.d.ts +9 -0
  41. package/src/js/components/VideoLinks.d.ts.map +1 -0
  42. package/src/js/components/VideoPlayer.d.ts +17 -0
  43. package/src/js/components/VideoPlayer.d.ts.map +1 -0
  44. package/src/js/components/{index.ts → index.d.ts} +1 -0
  45. package/src/js/components/index.d.ts.map +1 -0
  46. package/src/js/constants/baseUrls.d.ts +5 -0
  47. package/src/js/constants/baseUrls.d.ts.map +1 -0
  48. package/src/js/constants/embed.d.ts +9 -0
  49. package/src/js/constants/embed.d.ts.map +1 -0
  50. package/src/js/constants/player.d.ts +27 -0
  51. package/src/js/constants/player.d.ts.map +1 -0
  52. package/src/js/constants/pluginsRegistry.d.ts +7 -0
  53. package/src/js/constants/pluginsRegistry.d.ts.map +1 -0
  54. package/src/js/hooks/useGetPlayers.d.ts +3 -0
  55. package/src/js/hooks/useGetPlayers.d.ts.map +1 -0
  56. package/src/js/i18n.d.ts +335 -0
  57. package/src/js/i18n.d.ts.map +1 -0
  58. package/src/js/services/players-api.d.ts +5 -0
  59. package/src/js/services/players-api.d.ts.map +1 -0
  60. package/src/js/services/url-shortener.d.ts +4 -0
  61. package/src/js/services/url-shortener.d.ts.map +1 -0
  62. package/src/js/types/EmbedCodeModalProps.d.ts +59 -0
  63. package/src/js/types/EmbedCodeModalProps.d.ts.map +1 -0
  64. package/src/js/types/EmbedCodeProps.d.ts +13 -0
  65. package/src/js/types/EmbedCodeProps.d.ts.map +1 -0
  66. package/src/js/types/players.d.ts +58 -0
  67. package/src/js/types/players.d.ts.map +1 -0
  68. package/src/js/types/studioModule.d.ts +8 -0
  69. package/src/js/types/studioModule.d.ts.map +1 -0
  70. package/src/js/utils/addPluginsDataToPlayers.d.ts +6 -0
  71. package/src/js/utils/addPluginsDataToPlayers.d.ts.map +1 -0
  72. package/src/js/utils/call.d.ts +14 -0
  73. package/src/js/utils/call.d.ts.map +1 -0
  74. package/src/js/utils/dimensions.d.ts +9 -0
  75. package/src/js/utils/dimensions.d.ts.map +1 -0
  76. package/src/js/utils/featureSwitches.d.ts +2 -0
  77. package/src/js/utils/featureSwitches.d.ts.map +1 -0
  78. package/src/js/utils/util.d.ts +67 -0
  79. package/src/js/utils/util.d.ts.map +1 -0
  80. package/src/module.d.ts +2 -0
  81. package/src/module.d.ts.map +1 -0
  82. package/src/styles/typings.td.d.ts +13 -0
  83. package/src/styles/typings.td.d.ts.map +1 -0
  84. package/src/types/studio.d.ts +202 -0
  85. package/src/types/studio.d.ts.map +1 -0
  86. package/.eslintignore +0 -7
  87. package/.eslintrc +0 -23
  88. package/.husky/pre-commit +0 -4
  89. package/.nvmrc +0 -1
  90. package/.prettierignore +0 -7
  91. package/.prettierrc +0 -5
  92. package/.release-it.json +0 -40
  93. package/.whitesource +0 -3
  94. package/CHANGELOG.md +0 -342
  95. package/CODEOWNERS +0 -37
  96. package/PULL_REQUEST_TEMPLATE.md +0 -17
  97. package/__tests__/EmbedCode.test.tsx +0 -51
  98. package/__tests__/InteractivityProject.test.tsx +0 -50
  99. package/__tests__/PlayerPreview.test.tsx +0 -23
  100. package/__tests__/TabsHeader.test.tsx +0 -19
  101. package/__tests__/TabsSection.test.tsx +0 -46
  102. package/__tests__/TitleWithTooltip.test.tsx +0 -45
  103. package/__tests__/VideoPlayer.test.tsx +0 -38
  104. package/__tests__/util.test.ts +0 -89
  105. package/babel.config.json +0 -17
  106. package/etc/wildcard.brightcove.com.key +0 -27
  107. package/etc/wildcard.brightcove.com.pem +0 -96
  108. package/jest/jest.setup.js +0 -62
  109. package/jest/jest.stub.js +0 -4
  110. package/jest.config.js +0 -24
  111. package/scripts/create-dist-pkg-prod.js +0 -18
  112. package/src/index.ts +0 -16
  113. package/src/js/EmbedCodeModal.tsx +0 -88
  114. package/src/js/components/CustomSettingsDropdown.tsx +0 -184
  115. package/src/js/components/EmbedCopySection.tsx +0 -130
  116. package/src/js/components/ModalContainer.tsx +0 -274
  117. package/src/js/components/NoPlayerModal.tsx +0 -42
  118. package/src/js/components/PlayerPreview.tsx +0 -116
  119. package/src/js/components/TabsHeader.tsx +0 -31
  120. package/src/js/components/TabsSection.tsx +0 -74
  121. package/src/js/components/TitleWithTooltip.tsx +0 -39
  122. package/src/js/components/VideoLinks.tsx +0 -83
  123. package/src/js/components/VideoPlayer.tsx +0 -303
  124. package/src/js/constants/baseUrls.ts +0 -4
  125. package/src/js/constants/embed.ts +0 -12
  126. package/src/js/constants/player.ts +0 -32
  127. package/src/js/constants/pluginsRegistry.ts +0 -30
  128. package/src/js/hooks/useGetPlayers.ts +0 -12
  129. package/src/js/i18n.ts +0 -43
  130. package/src/js/services/players-api.ts +0 -26
  131. package/src/js/services/url-shortener.ts +0 -10
  132. package/src/js/types/EmbedCodeModalProps.ts +0 -72
  133. package/src/js/types/EmbedCodeProps.ts +0 -13
  134. package/src/js/types/brightcoveEmbedCode.d.ts +0 -18
  135. package/src/js/types/players.ts +0 -64
  136. package/src/js/types/react-i18next.d.ts +0 -8
  137. package/src/js/types/studioModule.ts +0 -7
  138. package/src/js/utils/addPluginsDataToPlayers.ts +0 -59
  139. package/src/js/utils/call.ts +0 -31
  140. package/src/js/utils/dimensions.ts +0 -53
  141. package/src/js/utils/featureSwitches.ts +0 -16
  142. package/src/js/utils/util.ts +0 -153
  143. package/src/module.tsx +0 -246
  144. package/src/styles/CustomSettingsDropdown.sass +0 -42
  145. package/src/styles/EmbedCode.sass +0 -30
  146. package/src/styles/EmbedCodeModal.sass +0 -76
  147. package/src/styles/base.sass +0 -1
  148. package/src/styles/theme.sass +0 -11
  149. package/src/styles/typings.td.ts +0 -9
  150. package/src/translations/en.json +0 -53
  151. package/src/translations/es.json +0 -53
  152. package/src/translations/fr.json +0 -53
  153. package/src/translations/ja.json +0 -53
  154. package/src/translations/ko.json +0 -53
  155. package/src/translations/zh.json +0 -53
  156. package/src/types/studio.ts +0 -197
  157. package/tsconfig.json +0 -34
  158. package/webpack.config.js +0 -97
@@ -1,53 +0,0 @@
1
- {
2
- "modalHeader": "웹사이트에 임베드",
3
- "mediaNotice": "계정의 기본 플레이어를 사용합니다",
4
- "tooltipText": "현재 Brightcove 기본 플레이어 사용 중입니다. 플레이어 관리가 곧 출시됩니다.",
5
- "tooltipTextNew": "플레이어는 스타일 지정, 특수 구성 설정 등 비디오 재생 경험을 결정합니다.",
6
- "tooltipLink": "플레이어에 대해 자세히 알아보기",
7
- "learnmore": "https://ko.studio.support.brightcove.com/players/getting-started-players-module.html",
8
- "previewButton": "미리 보기",
9
- "player": "플레이어",
10
- "getURL": "URL 받기",
11
- "tabs": {
12
- "labels": {
13
- "iframe": "iframe",
14
- "javascript": "JavaScript"
15
- },
16
- "helperText": "HTML 코드를 복사하여 웹사이트에 붙여넣으십시오.",
17
- "helperTextWarning": "이 플레이어는 캠페인 플러그인과 함께 구성됩니다. 바르게 추적되게 하려면, JavaScript 내장 코드를 사용해야 합니다.",
18
- "viewerIdTextWarning": "이 플레이어는 시청자 ID 트래킹과 함께 구성됩니다. 바르게 추적되게 하려면, JavaScript 내장 코드를 사용해야 합니다.",
19
- "bcMapTrackingTextWarning": "This player is configured with MAPs Tracking. To ensure proper tracking, the JavaScript embed code should be used."
20
- },
21
- "toasterTitle": "성공.",
22
- "toasterMessage": "클립보드에 코드가 복사됨",
23
- "toasterGetURLSuccess": "URL이 클립보드에 복사됨",
24
- "toasterGetURLError": "URL 생성 불가",
25
- "toasterErrorMessage": "클립보드에 텍스트를 복사하는 중 오류 발생",
26
- "customPluginNotice": "사용자 정의 구성으로 인해 전체 미리 보기를 이용하지 못할 수도 있습니다.",
27
- "done": "완료",
28
- "close": "닫기",
29
- "noPlayerModalHeader": "상호작용성 플레이어 생성",
30
- "noPlayerModalContent1": "상호작용성 프로젝트를 임베딩하려면 상호작용성 기능을 활성화해야 합니다.",
31
- "noPlayerModalContent2": "기존 플레이어에서 이 기능을 활성화하거나 새 플레이어를 생성하십시오.",
32
- "toPlayersModuleLink": "플레이어 모듈로 이동",
33
- "cancel": "취소",
34
- "createPlayerNow": "지금 플레이어 생성",
35
- "createPlayerFailedTitle": "상호작용성 지원 플레이어를 생성하지 못했습니다.",
36
- "createPlayerFailedMessage": "다시 시도해 주십시오.",
37
- "activateModal": "상호작용성 지원 플레이어가 없음",
38
- "activateModalContent1": "프로젝트를 임베딩하려면 상호작용성 지원 플레이어가 필요합니다. 현재 이 계정에는 상호작용성 지원 플레이어가 없습니다. 다음을 사용해 새 플레이어 생성 ",
39
- "activateModalContent2": "플레이어 모듈",
40
- "customSettings": {
41
- "sizing": "크기 조정",
42
- "aspectRatio": "가로 세로 비율",
43
- "playerWidth": "플레이어 너비",
44
- "playerHeight": "플레이어 높이",
45
- "units": "단위"
46
- },
47
- "lowLatency": "저지연성",
48
- "dvr": {
49
- "allowDVR": "DVR 허용",
50
- "inputLabel": "Time",
51
- "inputDescription": "The time, in seconds, to keep in the live DVR manifest"
52
- }
53
- }
@@ -1,53 +0,0 @@
1
- {
2
- "modalHeader": "內嵌到網站",
3
- "mediaNotice": "會使用您帳戶的預設播放程式",
4
- "tooltipText": "目前使用 Brightcove 預設播放程式。播放程式管理功能即將推出。",
5
- "tooltipTextNew": "播放器決定視訊播放體驗,例如樣式風格、特別組態設定等。",
6
- "tooltipLink": "瞭解關於播放程式的更多資訊",
7
- "learnmore": "https://zh-tw.studio.support.brightcove.com/players/getting-started-players-module.html",
8
- "previewButton": "預覽",
9
- "player": "播放程式",
10
- "getURL": "取得 URL",
11
- "tabs": {
12
- "labels": {
13
- "iframe": "iframe",
14
- "javascript": "JavaScript"
15
- },
16
- "helperText": "複製 HTML 程式碼並貼到您的網站上。",
17
- "helperTextWarning": "此播放程式設定有活動外掛程式。為了確保正確追蹤,應使用 JavaScript 內嵌程式碼。",
18
- "viewerIdTextWarning": "此播放程式設定有觀眾 ID 追蹤。為了確保正確追蹤,應使用 JavaScript 內嵌程式碼。",
19
- "bcMapTrackingTextWarning": "This player is configured with MAPs Tracking. To ensure proper tracking, the JavaScript embed code should be used."
20
- },
21
- "toasterTitle": "成功.",
22
- "toasterMessage": "程式碼已複製到剪貼簿",
23
- "toasterGetURLSuccess": "URL 已複製到剪貼簿",
24
- "toasterGetURLError": "無法產生 URL",
25
- "toasterErrorMessage": "複製文字到剪貼簿時發生錯誤",
26
- "customPluginNotice": "由於自訂組態,您可能無法體驗完整預覽版。",
27
- "done": "完成",
28
- "close": "關閉",
29
- "noPlayerModalHeader": "建立互動播放程式",
30
- "noPlayerModalContent1": "若要嵌入互動專案,您必須啟用互動功能。",
31
- "noPlayerModalContent2": "在任何現有播放程式上啟動此功能或建立新項目。",
32
- "toPlayersModuleLink": "前往播放程式模組",
33
- "cancel": "取消",
34
- "createPlayerNow": "立即建立播放程式",
35
- "createPlayerFailedTitle": "無法建立已啟用互動功能的播放程式。",
36
- "createPlayerFailedMessage": "請再試一次。",
37
- "activateModal": "沒有已啟用互動功能的播放程式",
38
- "activateModalContent1": "需要有已啟用互動功能的播放程式才能嵌入專案。目前,此帳戶沒有已啟用互動功能的播放程式。若要建立一個,請使用 ",
39
- "activateModalContent2": "播放程式模組",
40
- "customSettings": {
41
- "sizing": "調整大小",
42
- "aspectRatio": "长宽比",
43
- "playerWidth": "播放程序宽度",
44
- "playerHeight": "播放程序高度",
45
- "units": "單位"
46
- },
47
- "lowLatency": "低延遲",
48
- "dvr": {
49
- "allowDVR": "允許 DVR",
50
- "inputLabel": "Time",
51
- "inputDescription": "The time, in seconds, to keep in the live DVR manifest"
52
- }
53
- }
@@ -1,197 +0,0 @@
1
- interface SetiSetting {
2
- creator: string;
3
- name: string;
4
- values: string | boolean;
5
- value_type: string;
6
- read_only: boolean;
7
- path: string;
8
- }
9
-
10
- interface Module {
11
- api: Record<string, { origin: string; proxyPath?: string; version: string }>;
12
- bcApiConfig: Record<string, string>;
13
- beta: boolean;
14
- icon: string;
15
- id: string;
16
- key: string;
17
- logoutURL: string;
18
- profileEditUrl: string;
19
- roleRequired: string;
20
- root: string;
21
- title: string;
22
- sdk_root: string;
23
- scope: string;
24
- }
25
-
26
- interface ProfileVisibility {
27
- [key: string]: 'show' | 'hide';
28
- }
29
-
30
- interface UserAccount {
31
- edition: string;
32
- id: string;
33
- is_admin: boolean;
34
- is_express: boolean;
35
- mediaSharingEnabled: boolean;
36
- name: string;
37
- primary_admin_id: string | number;
38
- restricted: boolean;
39
- roles: Array<string>;
40
- settings: {
41
- module_core_versions: { [key: string]: SetiSetting };
42
- module_versions: { [key: string]: SetiSetting };
43
- account: { [key: string]: SetiSetting };
44
- ingestion: {
45
- profile_visibility: {
46
- profile: {
47
- visibility: ProfileVisibility;
48
- };
49
- };
50
- };
51
- featureSwitches: { [key: string]: boolean };
52
- };
53
- status: string;
54
- trial_account: boolean;
55
- use_quova: boolean;
56
- }
57
-
58
- interface Product {
59
- color: string;
60
- defaultModule: string;
61
- env: string;
62
- features: Record<string, unknown>;
63
- key: string;
64
- layout: string;
65
- modules: Record<string, string | boolean>[];
66
- path: string;
67
- supportName: string;
68
- systemStatus: string;
69
- title: string;
70
- }
71
-
72
- interface User {
73
- accounts: Array<UserAccount>;
74
- currentAccount: UserAccount;
75
- email_address: string;
76
- featureSwitches: { [key: string]: boolean };
77
- feature_provisioning: { [key: string]: SetiSetting };
78
- first_name: string;
79
- id: string;
80
- last_name: string;
81
- locale: string;
82
- timezone: string;
83
- locked: boolean;
84
- lockedByAdmin: boolean;
85
- module_versions: { [key: string]: SetiSetting };
86
- module_core_versions: { [key: string]: SetiSetting };
87
- settings: { [key: string]: SetiSetting };
88
- map: { features: { [key: string]: SetiSetting }; status: SetiSetting };
89
- }
90
-
91
- interface ErrorResponder extends Error {
92
- responseCode: number;
93
- responseText: string;
94
- }
95
-
96
- interface BCApi {
97
- CORSSupport: boolean;
98
- PATH: { [key: string]: string };
99
- accessToken: Record<string, unknown>;
100
- accessTokenExpiry: never;
101
- accessTokenLastResponseTimestamp: never;
102
- accessTokenState: number;
103
- accessTokenStateFailureCount: number;
104
- accountId: string;
105
- call: <Type>(
106
- requestParams: Record<string, unknown>,
107
- responder: (response: Type) => void,
108
- errorResponder: (err: ErrorResponder) => void,
109
- ) => unknown;
110
- authenticate: (
111
- callback: (error: Record<string, unknown>, token: string) => void,
112
- ) => void;
113
- getToken: () => string;
114
- login: () => void;
115
- createRequest: (requestParams: {
116
- path: string;
117
- data: unknown;
118
- header: Record<string, unknown>;
119
- }) => XMLHttpRequest;
120
- }
121
-
122
- export interface StudioModule {
123
- bcApi: BCApi;
124
- config: {
125
- features: Record<string, unknown>;
126
- lang: string;
127
- messages: Record<string, string>;
128
- user: User;
129
- product: Product;
130
- module: Module;
131
- };
132
- api: () => BCApi;
133
- getAPIConfig: () => Record<string, Record<string, string>>;
134
- getCurrentUserAccount: () => UserAccount;
135
- getFeature: (id: string) => unknown;
136
- getLanguage: () => string;
137
- getModule: () => Module;
138
- getModuleRoot: () => string;
139
- getModuleUrl: () => string;
140
- getProduct: () => Product;
141
- getUser: () => User;
142
- handleAccountSwitch: (callback: () => void) => void;
143
- init: (config: unknown) => void;
144
- injectStyles: (styles: unknown) => void;
145
- parseMessages: (txt: string) => unknown;
146
- parseTemplates: (txt: string, delim: string) => unknown;
147
- setPageTitle: (title: string) => string;
148
- showAccessDenied: () => void;
149
- on: (
150
- event: string,
151
- callback: EventListener,
152
- context?: unknown,
153
- mode?: unknown,
154
- ) => void;
155
- once: (event: string, callback: EventListener, context?: unknown) => void;
156
- off: (event: string, callback: EventListener) => void;
157
- _initBCApi: (
158
- accountId: string,
159
- moduleId: string,
160
- scope: string,
161
- config: Record<string, unknown>,
162
- ) => unknown;
163
- }
164
-
165
- interface ToastArgs {
166
- details?: string | object;
167
- hideAfter?: number;
168
- title?: string;
169
- message: string | JSX.Element;
170
- }
171
-
172
- interface Toaster {
173
- alert: (args: ToastArgs) => number;
174
- error: (args: ToastArgs) => number;
175
- success: (args: ToastArgs) => number;
176
- warn: (args: ToastArgs) => number;
177
- notice: (args: ToastArgs) => number;
178
- info: (args: ToastArgs) => number;
179
- dismiss: (id: number) => void;
180
- mounted: boolean;
181
- }
182
-
183
- export interface StudioBrightcove {
184
- ConfirmationDialog: {
185
- open: (props: Record<string, unknown>) => void;
186
- };
187
- InContextHelp: {
188
- close: () => void;
189
- open: () => void;
190
- toggle: () => void;
191
- };
192
- StudioServer: {
193
- openProductPackagesModal: () => void;
194
- };
195
- Toaster: Toaster;
196
- studio: StudioModule;
197
- }
package/tsconfig.json DELETED
@@ -1,34 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": "./src",
4
- "target": "esnext",
5
- "module": "esnext",
6
- "lib": ["esnext", "dom"],
7
- "jsx": "react",
8
- "declaration": true,
9
- "declarationMap": true,
10
- "emitDeclarationOnly": true,
11
- "outDir": "./build",
12
- /* Strict Type-Checking Options */
13
- "strict": true,
14
- "noImplicitAny": false,
15
- "strictNullChecks": true,
16
- "noUnusedLocals": true,
17
- /* Module Resolution Options */
18
- "moduleResolution": "node",
19
- "allowSyntheticDefaultImports": true,
20
- "forceConsistentCasingInFileNames": true,
21
- "resolveJsonModule": true,
22
- "esModuleInterop": true,
23
- "skipLibCheck": true,
24
- "paths": {
25
- "js/*": ["./js/*"],
26
- "styles/*": ["./styles/*"],
27
- "translations/*": ["./translations/*"],
28
- "components/*": ["./js/components/*"]
29
- }
30
- },
31
- "include": ["./src/**/*", "./__tests__/**/*"],
32
- "exclude": ["node_modules"],
33
- "types": ["jest", "node"]
34
- }
package/webpack.config.js DELETED
@@ -1,97 +0,0 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const TerserPlugin = require('terser-webpack-plugin');
4
-
5
- module.exports = () => {
6
- const isDevelopment = (process.env.NODE_ENV === 'development');
7
- const isDemo = (process.env.DEMO === '1');
8
- const entryFile = isDevelopment ? './src/module.tsx' : './src/index.ts';
9
-
10
- const externalsObj = {
11
- 'react': 'react',
12
- 'react-dom': 'react-dom',
13
- 'react-dnd': 'react-dnd',
14
- 'react-dnd-html5-backend': 'react-dnd-html5-backend',
15
- };
16
-
17
- return {
18
- entry: {
19
- app: entryFile,
20
- },
21
- output: isDevelopment ? {
22
- path: path.resolve(__dirname, '..', 'build'),
23
- filename: 'js/[name].js',
24
- publicPath: 'https://localhost.brightcove.com:12345/',
25
- } : {
26
- path: path.resolve(__dirname, 'build'),
27
- filename: 'index.js',
28
- libraryTarget: 'umd'
29
- },
30
- mode: process.env.NODE_ENV,
31
- module: {
32
- rules: [
33
- {
34
- test: /\.(css|scss|sass)$/,
35
- use: ['style-loader',
36
- {
37
- loader: 'css-loader',
38
- options: {
39
- modules: {
40
- localIdentName: '[name]__[local]--[hash:base64:5]'
41
- },
42
- }
43
- },
44
- {
45
- loader: 'sass-loader',
46
- }],
47
- },
48
- {
49
- test: /\.(js|ts)x?$/,
50
- exclude: /node_modules/,
51
- use: {
52
- loader: 'babel-loader',
53
- },
54
- },
55
- ],
56
- },
57
- resolve: {
58
- extensions: ['.ts', '.tsx', '.js', '.jsx','.css', '.sass', 'scss'],
59
- alias: {
60
- js: path.resolve(path.resolve(__dirname), 'src/js'),
61
- styles: path.resolve(path.resolve(__dirname), 'src/styles'),
62
- translations: path.resolve(path.resolve(__dirname), 'src/translations'),
63
- }
64
- },
65
- externals: isDemo ? {} : externalsObj,
66
- devtool: isDevelopment ? 'eval-source-map' : 'hidden-source-map',
67
- devServer: {
68
- static: {
69
- directory: './dist',
70
- },
71
- client: {
72
- overlay: {
73
- errors: true,
74
- warnings: false,
75
- runtimeErrors: true,
76
- },
77
- },
78
- allowedHosts: 'all',
79
- hot: 'only',
80
- host: 'localhost.brightcove.com',
81
- https: {
82
- key: fs.readFileSync('./etc/wildcard.brightcove.com.key'),
83
- cert: fs.readFileSync('./etc/wildcard.brightcove.com.pem'),
84
- },
85
- headers: {
86
- 'Access-Control-Allow-Origin': '*',
87
- },
88
- port: 12345,
89
- historyApiFallback: true,
90
- },
91
- optimization: {
92
- minimizer: [new TerserPlugin({
93
- extractComments: false,
94
- })],
95
- },
96
- }
97
- }