@c8y/devkit 1019.0.3

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 (196) hide show
  1. package/README.md +13 -0
  2. package/dist/builders.json +29 -0
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.js +11 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/options.d.ts +2 -0
  7. package/dist/options.js +6 -0
  8. package/dist/options.js.map +1 -0
  9. package/dist/src/builders/BuilderOptions.d.ts +90 -0
  10. package/dist/src/builders/BuilderOptions.js +3 -0
  11. package/dist/src/builders/BuilderOptions.js.map +1 -0
  12. package/dist/src/builders/browser/index.d.ts +2 -0
  13. package/dist/src/builders/browser/index.js +17 -0
  14. package/dist/src/builders/browser/index.js.map +1 -0
  15. package/dist/src/builders/browser/schema.json +606 -0
  16. package/dist/src/builders/compile-i18n/compile-i18n-builder.d.ts +5 -0
  17. package/dist/src/builders/compile-i18n/compile-i18n-builder.js +88 -0
  18. package/dist/src/builders/compile-i18n/compile-i18n-builder.js.map +1 -0
  19. package/dist/src/builders/compile-i18n/schema.json +24 -0
  20. package/dist/src/builders/create-schema.d.ts +1 -0
  21. package/dist/src/builders/create-schema.js +32 -0
  22. package/dist/src/builders/create-schema.js.map +1 -0
  23. package/dist/src/builders/deploy/Deploy.model.d.ts +30 -0
  24. package/dist/src/builders/deploy/Deploy.model.js +8 -0
  25. package/dist/src/builders/deploy/Deploy.model.js.map +1 -0
  26. package/dist/src/builders/deploy/app-as-zip-file.d.ts +8 -0
  27. package/dist/src/builders/deploy/app-as-zip-file.js +74 -0
  28. package/dist/src/builders/deploy/app-as-zip-file.js.map +1 -0
  29. package/dist/src/builders/deploy/build-and-zip-app.d.ts +10 -0
  30. package/dist/src/builders/deploy/build-and-zip-app.js +105 -0
  31. package/dist/src/builders/deploy/build-and-zip-app.js.map +1 -0
  32. package/dist/src/builders/deploy/deploy-builder.d.ts +5 -0
  33. package/dist/src/builders/deploy/deploy-builder.js +268 -0
  34. package/dist/src/builders/deploy/deploy-builder.js.map +1 -0
  35. package/dist/src/builders/deploy/helpers.d.ts +25 -0
  36. package/dist/src/builders/deploy/helpers.js +45 -0
  37. package/dist/src/builders/deploy/helpers.js.map +1 -0
  38. package/dist/src/builders/deploy/schema.json +42 -0
  39. package/dist/src/builders/dev-server/index.d.ts +2 -0
  40. package/dist/src/builders/dev-server/index.js +67 -0
  41. package/dist/src/builders/dev-server/index.js.map +1 -0
  42. package/dist/src/builders/dev-server/schema.json +120 -0
  43. package/dist/src/builders/extract-i18n/extract-i18n-builder.d.ts +5 -0
  44. package/dist/src/builders/extract-i18n/extract-i18n-builder.js +126 -0
  45. package/dist/src/builders/extract-i18n/extract-i18n-builder.js.map +1 -0
  46. package/dist/src/builders/extract-i18n/schema.json +30 -0
  47. package/dist/src/options.d.ts +82 -0
  48. package/dist/src/options.js +98 -0
  49. package/dist/src/options.js.map +1 -0
  50. package/dist/src/schematics/collection.json +9 -0
  51. package/dist/src/schematics/ng-add/configs/angular-json.d.ts +28 -0
  52. package/dist/src/schematics/ng-add/configs/angular-json.js +93 -0
  53. package/dist/src/schematics/ng-add/configs/angular-json.js.map +1 -0
  54. package/dist/src/schematics/ng-add/configs/app-module.d.ts +3 -0
  55. package/dist/src/schematics/ng-add/configs/app-module.js +13 -0
  56. package/dist/src/schematics/ng-add/configs/app-module.js.map +1 -0
  57. package/dist/src/schematics/ng-add/configs/app-routing.d.ts +2 -0
  58. package/dist/src/schematics/ng-add/configs/app-routing.js +16 -0
  59. package/dist/src/schematics/ng-add/configs/app-routing.js.map +1 -0
  60. package/dist/src/schematics/ng-add/configs/index-html.d.ts +2 -0
  61. package/dist/src/schematics/ng-add/configs/index-html.js +15 -0
  62. package/dist/src/schematics/ng-add/configs/index-html.js.map +1 -0
  63. package/dist/src/schematics/ng-add/configs/index.d.ts +2 -0
  64. package/dist/src/schematics/ng-add/configs/index.js +37 -0
  65. package/dist/src/schematics/ng-add/configs/index.js.map +1 -0
  66. package/dist/src/schematics/ng-add/configs/main.d.ts +2 -0
  67. package/dist/src/schematics/ng-add/configs/main.js +30 -0
  68. package/dist/src/schematics/ng-add/configs/main.js.map +1 -0
  69. package/dist/src/schematics/ng-add/configs/ng1.d.ts +3 -0
  70. package/dist/src/schematics/ng-add/configs/ng1.js +13 -0
  71. package/dist/src/schematics/ng-add/configs/ng1.js.map +1 -0
  72. package/dist/src/schematics/ng-add/configs/package-json.d.ts +17 -0
  73. package/dist/src/schematics/ng-add/configs/package-json.js +67 -0
  74. package/dist/src/schematics/ng-add/configs/package-json.js.map +1 -0
  75. package/dist/src/schematics/ng-add/configs/translation.d.ts +2 -0
  76. package/dist/src/schematics/ng-add/configs/translation.js +36 -0
  77. package/dist/src/schematics/ng-add/configs/translation.js.map +1 -0
  78. package/dist/src/schematics/ng-add/configs/tsconfig-app-json.d.ts +2 -0
  79. package/dist/src/schematics/ng-add/configs/tsconfig-app-json.js +21 -0
  80. package/dist/src/schematics/ng-add/configs/tsconfig-app-json.js.map +1 -0
  81. package/dist/src/schematics/ng-add/configs/tsconfig-json.d.ts +2 -0
  82. package/dist/src/schematics/ng-add/configs/tsconfig-json.js +19 -0
  83. package/dist/src/schematics/ng-add/configs/tsconfig-json.js.map +1 -0
  84. package/dist/src/schematics/ng-add/index.d.ts +4 -0
  85. package/dist/src/schematics/ng-add/index.js +93 -0
  86. package/dist/src/schematics/ng-add/index.js.map +1 -0
  87. package/dist/src/schematics/ng-add/model.d.ts +19 -0
  88. package/dist/src/schematics/ng-add/model.js +3 -0
  89. package/dist/src/schematics/ng-add/model.js.map +1 -0
  90. package/dist/src/schematics/ng-add/ng-add.json +18 -0
  91. package/dist/src/schematics/ng-add/utils.d.ts +13 -0
  92. package/dist/src/schematics/ng-add/utils.js +32 -0
  93. package/dist/src/schematics/ng-add/utils.js.map +1 -0
  94. package/dist/src/utils/locale-compiler.d.ts +48 -0
  95. package/dist/src/utils/locale-compiler.js +83 -0
  96. package/dist/src/utils/locale-compiler.js.map +1 -0
  97. package/dist/src/utils/locale-json-paths.d.ts +19 -0
  98. package/dist/src/utils/locale-json-paths.js +63 -0
  99. package/dist/src/utils/locale-json-paths.js.map +1 -0
  100. package/dist/src/utils/locale-utils.d.ts +24 -0
  101. package/dist/src/utils/locale-utils.js +104 -0
  102. package/dist/src/utils/locale-utils.js.map +1 -0
  103. package/dist/src/utils/package-config.d.ts +1 -0
  104. package/dist/src/utils/package-config.js +13 -0
  105. package/dist/src/utils/package-config.js.map +1 -0
  106. package/dist/src/webpack/ApplicationOptions.d.ts +344 -0
  107. package/dist/src/webpack/ApplicationOptions.js +3 -0
  108. package/dist/src/webpack/ApplicationOptions.js.map +1 -0
  109. package/dist/src/webpack/BuildDefaults.d.ts +10 -0
  110. package/dist/src/webpack/BuildDefaults.js +15 -0
  111. package/dist/src/webpack/BuildDefaults.js.map +1 -0
  112. package/dist/src/webpack/EnvironmentOptions.d.ts +132 -0
  113. package/dist/src/webpack/EnvironmentOptions.js +15 -0
  114. package/dist/src/webpack/EnvironmentOptions.js.map +1 -0
  115. package/dist/src/webpack/config/babel.d.ts +2 -0
  116. package/dist/src/webpack/config/babel.js +65 -0
  117. package/dist/src/webpack/config/babel.js.map +1 -0
  118. package/dist/src/webpack/config/base.d.ts +27 -0
  119. package/dist/src/webpack/config/base.js +125 -0
  120. package/dist/src/webpack/config/base.js.map +1 -0
  121. package/dist/src/webpack/config/development.d.ts +4 -0
  122. package/dist/src/webpack/config/development.js +37 -0
  123. package/dist/src/webpack/config/development.js.map +1 -0
  124. package/dist/src/webpack/config/extra.d.ts +3 -0
  125. package/dist/src/webpack/config/extra.js +24 -0
  126. package/dist/src/webpack/config/extra.js.map +1 -0
  127. package/dist/src/webpack/config/favicon.d.ts +2 -0
  128. package/dist/src/webpack/config/favicon.js +20 -0
  129. package/dist/src/webpack/config/favicon.js.map +1 -0
  130. package/dist/src/webpack/config/federation.d.ts +3 -0
  131. package/dist/src/webpack/config/federation.js +66 -0
  132. package/dist/src/webpack/config/federation.js.map +1 -0
  133. package/dist/src/webpack/config/legacy.d.ts +2 -0
  134. package/dist/src/webpack/config/legacy.js +72 -0
  135. package/dist/src/webpack/config/legacy.js.map +1 -0
  136. package/dist/src/webpack/config/plugin.d.ts +5 -0
  137. package/dist/src/webpack/config/plugin.js +89 -0
  138. package/dist/src/webpack/config/plugin.js.map +1 -0
  139. package/dist/src/webpack/config/production.d.ts +3 -0
  140. package/dist/src/webpack/config/production.js +30 -0
  141. package/dist/src/webpack/config/production.js.map +1 -0
  142. package/dist/src/webpack/config/styles.d.ts +3 -0
  143. package/dist/src/webpack/config/styles.js +54 -0
  144. package/dist/src/webpack/config/styles.js.map +1 -0
  145. package/dist/src/webpack/config/translation.d.ts +2 -0
  146. package/dist/src/webpack/config/translation.js +23 -0
  147. package/dist/src/webpack/config/translation.js.map +1 -0
  148. package/dist/src/webpack/loaders/loader-data.d.ts +1 -0
  149. package/dist/src/webpack/loaders/loader-data.js +53 -0
  150. package/dist/src/webpack/loaders/loader-data.js.map +1 -0
  151. package/dist/src/webpack/loaders/loader-less.d.ts +1 -0
  152. package/dist/src/webpack/loaders/loader-less.js +23 -0
  153. package/dist/src/webpack/loaders/loader-less.js.map +1 -0
  154. package/dist/src/webpack/loaders/loader-manifest.d.ts +1 -0
  155. package/dist/src/webpack/loaders/loader-manifest.js +88 -0
  156. package/dist/src/webpack/loaders/loader-manifest.js.map +1 -0
  157. package/dist/src/webpack/loaders/loader-ngtemplate.d.ts +1 -0
  158. package/dist/src/webpack/loaders/loader-ngtemplate.js +16 -0
  159. package/dist/src/webpack/loaders/loader-ngtemplate.js.map +1 -0
  160. package/dist/src/webpack/loaders/loader-pluginpath.d.ts +1 -0
  161. package/dist/src/webpack/loaders/loader-pluginpath.js +10 -0
  162. package/dist/src/webpack/loaders/loader-pluginpath.js.map +1 -0
  163. package/dist/src/webpack/loaders/loader-po.d.ts +3 -0
  164. package/dist/src/webpack/loaders/loader-po.js +9 -0
  165. package/dist/src/webpack/loaders/loader-po.js.map +1 -0
  166. package/dist/src/webpack/plugin/index-content.d.ts +2 -0
  167. package/dist/src/webpack/plugin/index-content.js +113 -0
  168. package/dist/src/webpack/plugin/index-content.js.map +1 -0
  169. package/dist/src/webpack/plugin/locales.d.ts +6 -0
  170. package/dist/src/webpack/plugin/locales.js +746 -0
  171. package/dist/src/webpack/plugin/locales.js.map +1 -0
  172. package/dist/src/webpack/plugin/plugin.d.ts +259 -0
  173. package/dist/src/webpack/plugin/plugin.js +286 -0
  174. package/dist/src/webpack/plugin/plugin.js.map +1 -0
  175. package/dist/src/webpack/plugin/translation-aggregation-plugin.d.ts +80 -0
  176. package/dist/src/webpack/plugin/translation-aggregation-plugin.js +152 -0
  177. package/dist/src/webpack/plugin/translation-aggregation-plugin.js.map +1 -0
  178. package/dist/src/webpack/plugin/translation-data-store.d.ts +27 -0
  179. package/dist/src/webpack/plugin/translation-data-store.js +37 -0
  180. package/dist/src/webpack/plugin/translation-data-store.js.map +1 -0
  181. package/dist/src/webpack/utils/federationUtils.d.ts +26 -0
  182. package/dist/src/webpack/utils/federationUtils.js +234 -0
  183. package/dist/src/webpack/utils/federationUtils.js.map +1 -0
  184. package/dist/src/webpack/utils/helpers.d.ts +45 -0
  185. package/dist/src/webpack/utils/helpers.js +137 -0
  186. package/dist/src/webpack/utils/helpers.js.map +1 -0
  187. package/dist/src/webpack/utils/index.d.ts +1 -0
  188. package/dist/src/webpack/utils/index.js +5 -0
  189. package/dist/src/webpack/utils/index.js.map +1 -0
  190. package/dist/src/webpack/utils/legacy-manifest-resolver.d.ts +4 -0
  191. package/dist/src/webpack/utils/legacy-manifest-resolver.js +27 -0
  192. package/dist/src/webpack/utils/legacy-manifest-resolver.js.map +1 -0
  193. package/dist/src/webpack/utils/proxy.d.ts +2 -0
  194. package/dist/src/webpack/utils/proxy.js +39 -0
  195. package/dist/src/webpack/utils/proxy.js.map +1 -0
  196. package/package.json +99 -0
@@ -0,0 +1,344 @@
1
+ import { IApplication } from '@c8y/client';
2
+ import type { PluginsExports } from './EnvironmentOptions';
3
+ import type { Pattern } from 'copy-webpack-plugin';
4
+ export interface ApplicationOptions {
5
+ /** Application name (saved to the server). */
6
+ name: string;
7
+ /** Application context path (saved to the server). */
8
+ contextPath: string;
9
+ /** Application key (saved to the server). */
10
+ key: string;
11
+ /** The version of the application */
12
+ version: string;
13
+ /** The version of the used WebSDK version */
14
+ webSdkVersion?: string;
15
+ /** The description of the application */
16
+ description?: string;
17
+ /** The author of the application */
18
+ author?: string;
19
+ /** The license of the application */
20
+ license?: string;
21
+ /**
22
+ * Set to `true` if the application is hybrid and uses Angular and AngularJS simultaneously.
23
+ */
24
+ upgrade?: boolean;
25
+ /**
26
+ * Path to the branding entry file. (Set it to false to disable any styling. You can handle the styling then on your own e.g. in an angular.json file using ng-cli)
27
+ */
28
+ brandingEntry?: string | boolean;
29
+ /**
30
+ * Path to tsconfig.json file if TypeScript is used (default: ./tsconfig.json).
31
+ * @deprecated: Configure this in the build options of the angular.json
32
+ */
33
+ tsConfigPath?: string;
34
+ /**
35
+ * Entry module for Angular compiler (only used with lazy loaded routes), e.g. `'app.module.ts#AppModule'`.
36
+ * @deprecated: Configure this in the build options of the angular.json
37
+ */
38
+ entryModule?: string;
39
+ /**
40
+ * Path to custom index.html (otherwise default one will be used).
41
+ * @deprecated: Configure this in the build options of the angular.json
42
+ */
43
+ indexTemplate?: string;
44
+ /** URL to dynamically fetched options. */
45
+ dynamicOptionsUrl?: string;
46
+ /** URL to favicon. */
47
+ faviconUrl?: string;
48
+ /** URL to *.css file which will replace default branding. */
49
+ brandingUrl?: string;
50
+ /** Object with properties that will be converted to CSS custom variables. */
51
+ brandingCssVars?: BrandingCssVars;
52
+ /**
53
+ * Allows for adding or overriding languages available in the application.
54
+ *
55
+ * Its keys are language codes and its values are objects with the following properties:
56
+ *
57
+ * - `name`: English name of the language,
58
+ * - `nativeName`: native name of the language,
59
+ * - `url`: full URL to JSON file with compiled translations;
60
+ * if not defined, translations will be loaded from `${localePath}/${langCode}.json`.
61
+ *
62
+ * Example:
63
+ * ```json
64
+ * "languages": {
65
+ * "de": {
66
+ * "name": "German",
67
+ * "nativeName": "Deutsch",
68
+ * "url": "/apps/public/ui-assets/de.json"
69
+ * }
70
+ * }
71
+ * ```
72
+ */
73
+ languages?: Languages;
74
+ /**
75
+ * Allows for adding custom translations. It is an optional property.
76
+ *
77
+ * Its keys are language codes (https://cumulocity.com/docs/section/getting_started/#a-name-languages-a-available-languages)
78
+ * and its values are objects with key-value pairs, where the key is the original string in English and the value - its translation.
79
+ *
80
+ * - `Home`: "Startseite"
81
+ *
82
+ * For example, you can add the translation of your custom cookie banner configured in the branding settings:
83
+ * ```json
84
+ * "i18nExtra": {
85
+ * "de": {
86
+ * "About cookies on Cumulocity IoT": "Informationen zu Cookies in Cumulocity IoT",
87
+ * "Click Agree and Proceed to accept cookies and go directly to the platform or click on Privacy Policy to see detailed descriptions of the used cookies.": "Klicken Sie auf Zustimmen und fortfahren, um Cookies zu akzeptieren und direkt zur Plattform zu gelangen, oder klicken Sie auf Datenschutzrichtlinie, um detaillierte Beschreibungen der verwendeten Cookies anzuzeigen."
88
+ * }
89
+ * }
90
+ * ```
91
+ */
92
+ i18nExtra?: I18nExtra;
93
+ /**
94
+ * Path to the folder from which *.po files will be loaded.
95
+ * @deprecated: Configure this in the BuildTimeOptions.
96
+ */
97
+ localePath?: string;
98
+ /** Array of URLs to additional *.css files to be loaded at runtime. */
99
+ extraCssUrls?: string[];
100
+ /** Documentation links settings. */
101
+ docs?: Docs;
102
+ /** Application icon to be displayed in app switcher and header bar. */
103
+ icon?: Icon;
104
+ /** Hide application in app switcher (saved to the server). */
105
+ noAppSwitcher?: boolean;
106
+ /** HTML page title. */
107
+ globalTitle?: string;
108
+ /** Hide "powered by" and version info at the bottom of the navigator and in the right drawer. */
109
+ hidePowered?: boolean;
110
+ /** Hides the header bar */
111
+ hideHeader?: boolean;
112
+ /** Hides the "Platform information" in the right drawer, will overrule the "hidePowered" option */
113
+ hidePlatformInformation?: boolean;
114
+ /** Shows the link to support page. Accepts values:
115
+ * false, hide the link
116
+ * string, value of url to be shown
117
+ */
118
+ supportUrl?: boolean | string;
119
+ /**
120
+ * Replacement string for `user` field in audit logs for actions performed by a support user
121
+ * (available placeholders: `{{support_user}}`, `{{supported_user}}`).
122
+ */
123
+ supportUserString?: string;
124
+ /**
125
+ * Disables realtime updates on the map widget and maps in general.
126
+ */
127
+ mapWidgetRealtimeDisabled?: boolean;
128
+ /**
129
+ * Allows to adjust the default pagesize of 100 items of the map widget and maps in general.
130
+ */
131
+ mapWidgetPageSize?: number;
132
+ /**
133
+ * Allows to hide the hint that there are more devices with geo coordinates then displayed on the map widget and maps in general.
134
+ */
135
+ mapWidgetHideMaxDeviceOnMapHint?: boolean;
136
+ /** Enable or disable the right drawer. */
137
+ rightDrawer?: boolean;
138
+ /** Enable or disable breadcrumbs in the header for groups and devices (default: false). */
139
+ breadcrumbs?: boolean;
140
+ /** Collapse navigator on initial load. */
141
+ hideNavigator?: boolean;
142
+ /** Show tabs horizontally or vertically. */
143
+ tabsHorizontal?: boolean;
144
+ /** Additional link to display on login screen. */
145
+ loginExtraLink?: LoginExtraLink;
146
+ /** Enable or disable storage limitation feature. */
147
+ storageLimitationFeatureEnabled?: boolean;
148
+ /** Name of company handling support requests from app users (displayed in notification message). */
149
+ companyName?: string;
150
+ /** URL template for documentation links (default: `'${docsBaseUrl}${partialUrl}'`). */
151
+ guideHrefTemplate?: string;
152
+ /** Base URL for documentation links (include `{{ version }}` placeholder, if you want versioned links). */
153
+ docsBaseUrl?: string;
154
+ /** CSP string to be applied to `index.html` by replacing default values. */
155
+ contentSecurityPolicy?: string;
156
+ /** Enables cloud sensor wizard */
157
+ sensorPhone?: boolean;
158
+ /** Show or hide a newsletter subscription checkbox in edit user modal. */
159
+ newsletter?: boolean;
160
+ /** Cookie Banner configuration */
161
+ cookieBanner?: CookieBannerConfiguration;
162
+ /** Cookie preferences configuration. Here you can enable or disable cookie categories */
163
+ cookiePreferences?: CookiePreferencesConfiguration;
164
+ /** A key for the product experience software Gainsight. */
165
+ gainsightKey?: string;
166
+ /** Disable user tracking */
167
+ disableTracking?: boolean;
168
+ /** NgModule export for plugins. */
169
+ exports?: PluginsExports[];
170
+ /** List of imported remote plugins. */
171
+ remotes?: RemotePlugins;
172
+ /**
173
+ * Defines if the application is a package. Packages can be distributed as blueprint or allow plugins.
174
+ */
175
+ isPackage?: boolean;
176
+ /**
177
+ * Defines what is contained in the package.
178
+ */
179
+ package?: 'plugin' | 'blueprint';
180
+ /** The package source a application origins from as IApplication or simply the id of the source */
181
+ source?: string | number | IApplication;
182
+ /**
183
+ * Additional assets to copy to the build output.
184
+ * See https://github.com/webpack-contrib/copy-webpack-plugin for more information
185
+ * about the patterns to add here.
186
+ * @deprecated: Configure this in the BuildTimeOptions.
187
+ */
188
+ copy?: Pattern[];
189
+ /**
190
+ * Allows to enable or disable context help, or to override the default base URL used to load its contents.
191
+ * By default, the context help uses the same base URL as defined in the `docsBaseUrl` option
192
+ * (if this option is undefined, then the following value will be used: `https://www.cumulocity.com`).
193
+ * Alternatively, if a string is provided here, it'll be used as the base URL
194
+ * and any `{{ version }}` placeholder will be replaced with the relevant docs version.
195
+ */
196
+ contextHelp?: boolean | string;
197
+ /**
198
+ * By default, cockpit and devicemanagement use the onlyRoots query to resolve root nodes. This
199
+ * could lead to performance issues, if a customer has a lot of root nodes. Therefore you can disable
200
+ * the use of this query with this flag.
201
+ */
202
+ disableOnlyRootsQuery?: boolean;
203
+ /**
204
+ * Allows to force showing the setup wizard.
205
+ */
206
+ forceSetup?: boolean;
207
+ /**
208
+ * Indicates if the application needs to show the setup wizard.
209
+ */
210
+ isSetup?: boolean;
211
+ /**
212
+ * By default a WebSDK app requires the user to be logged in.
213
+ * In case you would like to develop just a static application, that does not require any kind of access to the backend,
214
+ * you can use this flag to disable the login screen.
215
+ * NOTE: not all WebSDK components support this, some might require the user to be logged in and won't work.
216
+ */
217
+ noLogin?: boolean;
218
+ /**
219
+ * Allows to opt out of supporting/loading plugins for this application.
220
+ */
221
+ noPlugins?: boolean;
222
+ /**
223
+ * Allows to opt out of the version warning which is shown in the dev tools.
224
+ */
225
+ noVersionWarning?: boolean;
226
+ /**
227
+ * Link to the sensor app.
228
+ */
229
+ sensorAppOneLink?: string;
230
+ /**
231
+ * Allows to set the map layers. If not set, defaults to open street map layer.
232
+ */
233
+ mapLayers?: MapTileLayer[];
234
+ /**
235
+ * Allows to set default configurations on the maps.
236
+ */
237
+ mapConfig?: MapDefaultConfig;
238
+ /**
239
+ * The URL used to find a address via mapquest. Can be set to empty to disable the find address feature on the location tab.
240
+ */
241
+ mapQuestUrl?: string;
242
+ /**
243
+ * The name of the root element. By default c8y-bootstrap.
244
+ */
245
+ rootTagName?: string;
246
+ }
247
+ export interface MapDefaultConfig {
248
+ /**
249
+ * The default zoom level to set on each new map.
250
+ */
251
+ zoomLevel?: number;
252
+ /**
253
+ * The default center position of each new map.
254
+ */
255
+ center?: [number, number];
256
+ }
257
+ export interface MapTileLayer {
258
+ /**
259
+ * The layer url in the specific leaflet format.
260
+ */
261
+ layerUrl: string;
262
+ /**
263
+ * Additional options. Note this options are not typed as leaflet should not be by default included. The type from leaflet is L.TileLayerOptions.
264
+ */
265
+ options: any;
266
+ /**
267
+ * A label to show to the end user.
268
+ */
269
+ label: string;
270
+ /**
271
+ * Define the order of the layers to be shown to the user. Highest priority first.
272
+ */
273
+ priority?: number;
274
+ }
275
+ export interface RemotePlugins {
276
+ /**
277
+ * A key value pair, while the value is an array of modules to load and the
278
+ * key is the context path.
279
+ * @example
280
+ * ```js
281
+ * {
282
+ * 'cockpit': ['HomeDashboardModule', 'DataExplorerDashboard'],
283
+ * 'widget-package@1.0.0': ['ExtendedMapWidget']
284
+ * }
285
+ * ``
286
+ */
287
+ [key: string]: string[];
288
+ }
289
+ export interface CookieBannerConfiguration {
290
+ /** Here you can set the title of Cookie Banner */
291
+ cookieBannerTitle?: string;
292
+ /** Here you can set the Text of Cookie Banner */
293
+ cookieBannerText?: string;
294
+ /** Here you can set the policyUrl of Cookie Banner */
295
+ policyUrl?: string;
296
+ }
297
+ export interface CookiePreferencesConfiguration {
298
+ /** This category includes e.g. cookies related to logging in */
299
+ required?: boolean | string;
300
+ /** This category includes e.g. tracking cookies */
301
+ functional?: boolean | string;
302
+ /** This category includes e.g. cookies related to advertising */
303
+ marketing?: boolean | string;
304
+ }
305
+ export interface LoginExtraLink {
306
+ url: string;
307
+ label: string;
308
+ }
309
+ export interface Icon {
310
+ class?: string;
311
+ url?: string;
312
+ }
313
+ export interface Docs {
314
+ /** Hide default links to documentation. */
315
+ noDefault?: boolean;
316
+ /** List of regex strings. Matching default docs URLs will be hidden. */
317
+ excludeDefault?: string[];
318
+ /** Additional links to be displayed. */
319
+ links?: Links[];
320
+ }
321
+ export interface Links {
322
+ /** Icon classes with `c8y-icon`, e.g. `c8y-icon c8y-icon-add-user` or `c8y-icon c8y-icon-device-connect`. */
323
+ icon: string;
324
+ label: string;
325
+ url: string;
326
+ type: 'doc' | 'quicklink';
327
+ }
328
+ export interface I18nExtra {
329
+ [langCode: string]: I18nExtraLangCode;
330
+ }
331
+ export interface I18nExtraLangCode {
332
+ [key: string]: string;
333
+ }
334
+ export interface Languages {
335
+ [langCode: string]: LanguagesLangCode;
336
+ }
337
+ export interface LanguagesLangCode {
338
+ name: string;
339
+ nativeName: string;
340
+ url?: string;
341
+ }
342
+ export interface BrandingCssVars {
343
+ [key: string]: string;
344
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ApplicationOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationOptions.js","sourceRoot":"","sources":["../../../src/webpack/ApplicationOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Constants that are used as defaults in the build process.
3
+ */
4
+ export declare const BUILD_DEFAULTS: {
5
+ DEFAULT_PROXY: string;
6
+ DEFAULT_BRANDING_PATH: string;
7
+ DEFAULT_PORT: number;
8
+ DEFAULT_PUBLIC_PATH: string;
9
+ DEFAULT_OUT: string;
10
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BUILD_DEFAULTS = void 0;
4
+ const options_1 = require("../options");
5
+ /**
6
+ * Constants that are used as defaults in the build process.
7
+ */
8
+ exports.BUILD_DEFAULTS = {
9
+ DEFAULT_PROXY: options_1.options.C8Y_BASE_URL_DEFAULT,
10
+ DEFAULT_BRANDING_PATH: options_1.options['BUILD.BRANDING_PATH'],
11
+ DEFAULT_PORT: options_1.options['BUILD.DEFAULT_PORT'],
12
+ DEFAULT_PUBLIC_PATH: options_1.options['BUILD.DEFAULT_PUBLIC_PATH'],
13
+ DEFAULT_OUT: options_1.options['BUILD.DEFAULT_OUT']
14
+ };
15
+ //# sourceMappingURL=BuildDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildDefaults.js","sourceRoot":"","sources":["../../../src/webpack/BuildDefaults.ts"],"names":[],"mappings":";;;AAAA,wCAAqC;AACrC;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,aAAa,EAAE,iBAAO,CAAC,oBAAoB;IAC3C,qBAAqB,EAAE,iBAAO,CAAC,qBAAqB,CAAC;IACrD,YAAY,EAAE,iBAAO,CAAC,oBAAoB,CAAC;IAC3C,mBAAmB,EAAE,iBAAO,CAAC,2BAA2B,CAAC;IACzD,WAAW,EAAE,iBAAO,CAAC,mBAAmB,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { ApplicationOptions } from './ApplicationOptions';
2
+ import type { WebpackConfiguration } from 'webpack-dev-server';
3
+ import type { Configuration } from 'webpack';
4
+ import type { Pattern } from 'copy-webpack-plugin';
5
+ export declare const notRunTimeOptions: ("brandingEntry" | "tsConfigPath" | "entryModule" | "indexTemplate" | "localePath" | "copy")[];
6
+ type toOmitRunTimeOptions = (typeof notRunTimeOptions)[number];
7
+ /**
8
+ * Options that define, how the application should act on runtime.
9
+ */
10
+ export type RunTimeOptions = Omit<ApplicationOptions, toOmitRunTimeOptions>;
11
+ /**
12
+ * Options that define, how the app should act on build time (while build with webpack).
13
+ */
14
+ export type BuildTimeOptions = Partial<WebpackOptions> & Pick<ApplicationOptions, toOmitRunTimeOptions>;
15
+ /**
16
+ * All runtime and build time options combined.
17
+ */
18
+ export type EnvironmentOptions = {
19
+ runTime: RunTimeOptions;
20
+ buildTime?: BuildTimeOptions;
21
+ };
22
+ export declare class WebpackOptions {
23
+ /**
24
+ * Chosen mode tells webpack to use its built-in optimizations accordingly.
25
+ * @deprecated: Configure this in the build options of the angular.json
26
+ */
27
+ mode?: 'none' | 'development' | 'production';
28
+ /**
29
+ * Enable hot module replacement.
30
+ * @deprecated: Configure this in the build options of the angular.json
31
+ */
32
+ hmr?: boolean;
33
+ /**
34
+ * The path to the folder where bundle will be available after build.
35
+ * @deprecated: Configure this in the build options of the angular.json
36
+ */
37
+ output?: string;
38
+ /**
39
+ * The entry point of webpack bundle.
40
+ * @deprecated: Configure this in the build options of the angular.json
41
+ */
42
+ entry?: string;
43
+ /**
44
+ * The path to file with TypeScript configuration.
45
+ * @deprecated: Configure this in the build options of the angular.json
46
+ */
47
+ tsConfigPath?: string;
48
+ /**
49
+ * Proxy port.
50
+ * @deprecated: Configure this in the dev server options of the angular.json
51
+ */
52
+ port?: number;
53
+ /**
54
+ * Proxy URL.
55
+ * @deprecated: Configure this in the dev server options of the angular.json
56
+ */
57
+ url?: string;
58
+ /** Path to the branding entry file. (Set it to false to disable any styling. You can handle the styling then on your own e.g. in an angular.json file using ng-cli) */
59
+ brandingEntry?: string | boolean;
60
+ /** Enable source maps. */
61
+ sourceMap?: string | boolean;
62
+ /** Enable source maps for Less. */
63
+ sourceMapLess?: string | boolean;
64
+ /** Extra webpack options
65
+ * Could be:
66
+ * - a string path to the file with additional webpack options (as function or as object)
67
+ * - a function which is called with the current config and options
68
+ * - direct webpack configurations
69
+ * Possible breaking: When using a function, the returned config does not to be merged anymore
70
+ * as they are by default merged with the currentConfig.
71
+ */
72
+ extraWebpackConfig?: string | ((currentConfig: WebpackConfiguration, envOptions: EnvironmentOptions) => WebpackConfiguration) | WebpackConfiguration;
73
+ /** runs in CI mode */
74
+ ci?: boolean;
75
+ /** The stats option lets you precisely control what bundle information gets displayed */
76
+ stats?: Configuration['stats'];
77
+ /**
78
+ * Path to the folder from which *.po files will be loaded.
79
+ */
80
+ localePath?: string;
81
+ /**
82
+ * Additional assets to copy to the build output.
83
+ * See https://github.com/webpack-contrib/copy-webpack-plugin for more information
84
+ * about the patterns to add here.
85
+ */
86
+ copy?: Pattern[];
87
+ /**
88
+ * Enables module federation.
89
+ * auto: Determines shared dependency automatically (default)
90
+ * strict: Like auto, but versioning is strict and module will fail if version miss match.
91
+ * none: disables module federation
92
+ * object: Configure your own shared dependencies.
93
+ * array: Configure your own shared dependencies.
94
+ */
95
+ federation?: 'auto' | 'strict' | 'none' | {
96
+ [key: string]: {
97
+ requiredVersion: string;
98
+ singleton: boolean;
99
+ strictVersion: boolean;
100
+ version: string;
101
+ };
102
+ } | {
103
+ [key: string]: string;
104
+ } | string[];
105
+ }
106
+ export interface PluginsExports {
107
+ /**
108
+ * The name of the plugin.
109
+ */
110
+ name: string;
111
+ /**
112
+ * The name of the Angular module class.
113
+ */
114
+ module: string;
115
+ /**
116
+ * The file path to the module typescript file.
117
+ */
118
+ path: string;
119
+ /**
120
+ * An short description about what the module does.
121
+ */
122
+ description?: string;
123
+ /**
124
+ * Allows to scope the plugin to certain applications. E.g. if you
125
+ * add here 'cockpit', the plugin can only be installed into an
126
+ * application on the contextPath `apps/cockpit`. You can use comma
127
+ * separated values, asterisk (default) to allow all applications or
128
+ * `self` to limit the plugin to the current solution.
129
+ */
130
+ scope?: '*' | 'self' | string;
131
+ }
132
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebpackOptions = exports.notRunTimeOptions = void 0;
4
+ exports.notRunTimeOptions = [
5
+ 'brandingEntry',
6
+ 'tsConfigPath',
7
+ 'entryModule',
8
+ 'indexTemplate',
9
+ 'localePath',
10
+ 'copy'
11
+ ];
12
+ class WebpackOptions {
13
+ }
14
+ exports.WebpackOptions = WebpackOptions;
15
+ //# sourceMappingURL=EnvironmentOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentOptions.js","sourceRoot":"","sources":["../../../src/webpack/EnvironmentOptions.ts"],"names":[],"mappings":";;;AAKa,QAAA,iBAAiB,GAAG;IAC/B,eAAe;IACf,cAAc;IACd,aAAa;IACb,eAAe;IACf,YAAY;IACZ,MAAM;CACmC,CAAC;AAmB5C,MAAa,cAAc;CAwG1B;AAxGD,wCAwGC"}
@@ -0,0 +1,2 @@
1
+ import * as webpack from 'webpack';
2
+ export declare function config(): webpack.Configuration;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ function config() {
5
+ const presets = ['@babel/preset-env'];
6
+ const jsRules = {
7
+ test: /\.js$/,
8
+ exclude: [
9
+ /dist/,
10
+ /node_modules/,
11
+ /packages.client/,
12
+ /app-bootstrap/,
13
+ /implementations\/three-d-rotation\/phone-model\/model\.js/
14
+ ],
15
+ resolve: {
16
+ fullySpecified: false
17
+ },
18
+ use: [
19
+ {
20
+ loader: 'babel-loader',
21
+ options: {
22
+ babelrc: false,
23
+ plugins: [['babel-plugin-angularjs-annotate']],
24
+ presets
25
+ }
26
+ }
27
+ ]
28
+ };
29
+ const tsRules = {
30
+ test: /\.ts$/,
31
+ exclude: [/dist.(?!@c8y.ngx-components)/, /node_modules.(?!@c8y.ngx-components)/],
32
+ use: [
33
+ {
34
+ loader: 'babel-loader',
35
+ options: {
36
+ plugins: [['babel-plugin-angularjs-annotate']],
37
+ babelrc: false
38
+ }
39
+ }
40
+ ]
41
+ };
42
+ const mjsRules = {
43
+ test: /\.mjs$/,
44
+ exclude: [/dist.(?!@c8y.ngx-components)/, /node_modules.(?!@c8y.ngx-components)/],
45
+ resolve: {
46
+ fullySpecified: false
47
+ },
48
+ use: [
49
+ {
50
+ loader: 'babel-loader',
51
+ options: {
52
+ plugins: [['babel-plugin-angularjs-annotate']],
53
+ babelrc: false
54
+ }
55
+ }
56
+ ]
57
+ };
58
+ return {
59
+ module: {
60
+ rules: [jsRules, tsRules, mjsRules]
61
+ }
62
+ };
63
+ }
64
+ exports.config = config;
65
+ //# sourceMappingURL=babel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel.js","sourceRoot":"","sources":["../../../../src/webpack/config/babel.ts"],"names":[],"mappings":";;;AAEA,SAAgB,MAAM;IACpB,MAAM,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAwB;QACnC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE;YACP,MAAM;YACN,cAAc;YACd,iBAAiB;YACjB,eAAe;YACf,2DAA2D;SAC5D;QACD,OAAO,EAAE;YACP,cAAc,EAAE,KAAK;SACtB;QACD,GAAG,EAAE;YACH;gBACE,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,iCAAiC,CAAC,CAAC;oBAC9C,OAAO;iBACR;aACF;SACF;KACF,CAAC;IAEF,MAAM,OAAO,GAAwB;QACnC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,8BAA8B,EAAE,sCAAsC,CAAC;QACjF,GAAG,EAAE;YACH;gBACE,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE;oBACP,OAAO,EAAE,CAAC,CAAC,iCAAiC,CAAC,CAAC;oBAC9C,OAAO,EAAE,KAAK;iBACf;aACF;SACF;KACF,CAAC;IAEF,MAAM,QAAQ,GAAwB;QACpC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,8BAA8B,EAAE,sCAAsC,CAAC;QACjF,OAAO,EAAE;YACP,cAAc,EAAE,KAAK;SACtB;QACD,GAAG,EAAE;YACH;gBACE,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE;oBACP,OAAO,EAAE,CAAC,CAAC,iCAAiC,CAAC,CAAC;oBAC9C,OAAO,EAAE,KAAK;iBACf;aACF;SACF;KACF,CAAC;IAEF,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;SACpC;KACF,CAAC;AACJ,CAAC;AA/DD,wBA+DC"}
@@ -0,0 +1,27 @@
1
+ import { BuilderContext } from '@angular-devkit/architect';
2
+ import { Configuration as WebpackConfiguration } from 'webpack';
3
+ import { C8yBrowserBuilderOptions, C8yDevServerBuilderOptions } from '../../builders/BuilderOptions';
4
+ /**
5
+ * This file contains functions and configurations used to customize and transform the webpack configuration.
6
+ * used by an Angular project. It includes customizations such as:
7
+ * - Using custom Babel, Favicon, Images, Legacy, Styles, and Plugin configurations.
8
+ * - Configuring the JavaScriptOptimizerPlugin and TerserPlugin for code optimization.
9
+ * - Adjusting the devServer configuration.
10
+ * - And other Cumulocity options and branding related changes.
11
+ */
12
+ /**
13
+ * Function that returns the transformed webpack configuration with given options and context.
14
+ *
15
+ * @param options Custom webpack options (for example: -u flag passed as url).
16
+ * @param context BuilderContext containing metadata about the build/serve process (project settings from the angular.json).
17
+ * @returns ExecutionTransformer<Configuration> A function that transforms a webpack configuration.
18
+ */
19
+ export declare function webpackConfigurationTransformerWithContext(options: C8yBrowserBuilderOptions, context: BuilderContext): (baseWebpackConfig: WebpackConfiguration) => Promise<WebpackConfiguration>;
20
+ /**
21
+ * Function that returns the transformed webpack configuration with given options and context.
22
+ *
23
+ * @param options Custom webpack options (for example: -u flag passed as url).
24
+ * @param context BuilderContext containing metadata about the build/serve process (project settings from the angular.json).
25
+ * @returns ExecutionTransformer<Configuration> A function that transforms a webpack configuration.
26
+ */
27
+ export declare function webpackConfigurationTransformerWithContextForDevServer(options: C8yDevServerBuilderOptions, context: BuilderContext): (baseWebpackConfig: WebpackConfiguration) => Promise<WebpackConfiguration>;