@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,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webpackConfigurationTransformerWithContextForDevServer = exports.webpackConfigurationTransformerWithContext = void 0;
4
+ const architect_1 = require("@angular-devkit/architect");
5
+ const webpack_merge_1 = require("webpack-merge");
6
+ const federationUtils_1 = require("../utils/federationUtils");
7
+ const helpers_1 = require("../utils/helpers");
8
+ const babel_1 = require("./babel");
9
+ const development_1 = require("./development");
10
+ const legacy_1 = require("./legacy");
11
+ const plugin_1 = require("./plugin");
12
+ const production_1 = require("./production");
13
+ const styles_1 = require("./styles");
14
+ const translation_1 = require("./translation");
15
+ const lodash_1 = require("lodash");
16
+ const extra_1 = require("./extra");
17
+ /**
18
+ * This file contains functions and configurations used to customize and transform the webpack configuration.
19
+ * used by an Angular project. It includes customizations such as:
20
+ * - Using custom Babel, Favicon, Images, Legacy, Styles, and Plugin configurations.
21
+ * - Configuring the JavaScriptOptimizerPlugin and TerserPlugin for code optimization.
22
+ * - Adjusting the devServer configuration.
23
+ * - And other Cumulocity options and branding related changes.
24
+ */
25
+ /**
26
+ * Function that returns the transformed webpack configuration with given options and context.
27
+ *
28
+ * @param options Custom webpack options (for example: -u flag passed as url).
29
+ * @param context BuilderContext containing metadata about the build/serve process (project settings from the angular.json).
30
+ * @returns ExecutionTransformer<Configuration> A function that transforms a webpack configuration.
31
+ */
32
+ function webpackConfigurationTransformerWithContext(options, context) {
33
+ return (baseWebpackConfig) => webpackConfigurationTransformer(baseWebpackConfig, options, context);
34
+ }
35
+ exports.webpackConfigurationTransformerWithContext = webpackConfigurationTransformerWithContext;
36
+ /**
37
+ * Function that returns the transformed webpack configuration with given options and context.
38
+ *
39
+ * @param options Custom webpack options (for example: -u flag passed as url).
40
+ * @param context BuilderContext containing metadata about the build/serve process (project settings from the angular.json).
41
+ * @returns ExecutionTransformer<Configuration> A function that transforms a webpack configuration.
42
+ */
43
+ function webpackConfigurationTransformerWithContextForDevServer(options, context) {
44
+ return (baseWebpackConfig) => context
45
+ .getTargetOptions((0, architect_1.targetFromTargetString)(options.browserTarget))
46
+ .then(browserOptions => webpackConfigurationTransformer(baseWebpackConfig, browserOptions, context, options));
47
+ }
48
+ exports.webpackConfigurationTransformerWithContextForDevServer = webpackConfigurationTransformerWithContextForDevServer;
49
+ /**
50
+ * Async function to transform the base webpack configuration based on provided options and context.
51
+ * It adjusts several configurations and plugins according to the context and options. If devServer is available,
52
+ * it sets up the middleware and proxy configuration. It also replaces JavaScriptOptimizerPlugin instance with
53
+ * a new TerserPlugin instance in the optimization minimizer.
54
+ *
55
+ * @param baseWebpackConfig The initial webpack config.
56
+ * @param browserBuilderOptions Custom options like: port, url(-u flag), hrm, watch, open, ssl, host, headers and more.
57
+ * @param projectContext BuilderContext containing metadata about the build/serve process (project settings from the angular.json).
58
+ * @param isDevServer Set this to true, to use as dev server.
59
+ * @returns Promise<Configuration> Promise resolving to the final webpack configuration.
60
+ */
61
+ async function webpackConfigurationTransformer(baseWebpackConfig, browserBuilderOptions, projectContext, devServerBuilderOptions) {
62
+ const projectRootPath = await (0, helpers_1.getProjectRootPath)(projectContext);
63
+ const envOptions = await (0, helpers_1.getOptionsFromContext)(projectContext);
64
+ browserBuilderOptions = (0, helpers_1.migrateDeprecatedBrowserBuildOptions)(browserBuilderOptions, envOptions);
65
+ // Note: As mode and entry are deprecated buildTime options, this merge
66
+ // can be removed as soon as mode and entry is removed
67
+ const c8yWebpackConfig = (0, webpack_merge_1.merge)([
68
+ baseWebpackConfig,
69
+ (0, lodash_1.pick)(envOptions.buildTime, 'mode', 'entry')
70
+ ]);
71
+ const translationConfig = (0, translation_1.config)();
72
+ const imagesConfig = (0, helpers_1.buildImagesConfig)();
73
+ const babelConfig = (0, babel_1.config)();
74
+ const pluginConfig = (0, plugin_1.config)(browserBuilderOptions, c8yWebpackConfig, projectRootPath);
75
+ const legacyConfig = (0, legacy_1.config)();
76
+ const stylesConfig = (0, styles_1.config)(envOptions, c8yWebpackConfig);
77
+ const federationConfig = (0, federationUtils_1.buildConfigForFederation)(c8yWebpackConfig);
78
+ const ignoreWarnings = [
79
+ {
80
+ message: /.*? part of the TypeScript compilation but it's unused\./
81
+ }
82
+ ];
83
+ if (envOptions.runTime?.upgrade) {
84
+ ignoreWarnings.push({
85
+ message: /.*? CommonJS or AMD dependencies can cause optimization bailouts./
86
+ });
87
+ }
88
+ const mergedConfigWithoutExtra = (0, webpack_merge_1.merge)([
89
+ /** Order seems to be important */
90
+ babelConfig,
91
+ translationConfig,
92
+ c8yWebpackConfig,
93
+ imagesConfig,
94
+ pluginConfig,
95
+ legacyConfig,
96
+ stylesConfig,
97
+ federationConfig,
98
+ {
99
+ watchOptions: {
100
+ aggregateTimeout: 600,
101
+ ignored: ['**/node_modules', '**/.git', '**/$$_lazy_route_resource', '**/.angular']
102
+ },
103
+ ignoreWarnings,
104
+ stats: browserBuilderOptions.buildTime?.stats || {
105
+ chunks: false,
106
+ excludeModules: [/locales.angular/]
107
+ }
108
+ }
109
+ ]);
110
+ // Allow to add custom webpack configs
111
+ const extraWebPackConfig = (0, extra_1.buildExtraConfig)(envOptions, mergedConfigWithoutExtra);
112
+ const mergedConfig = (0, webpack_merge_1.merge)([
113
+ mergedConfigWithoutExtra,
114
+ extraWebPackConfig
115
+ ]);
116
+ let prodOrDevConfig = devServerBuilderOptions
117
+ ? (0, development_1.webpackDevelopmentConfig)(envOptions, mergedConfig, devServerBuilderOptions)
118
+ : mergedConfig;
119
+ // You could start a dev-server with production mode `-c=production`
120
+ if (mergedConfig.mode === 'production') {
121
+ prodOrDevConfig = (0, production_1.webpackProductionConfig)(envOptions, prodOrDevConfig);
122
+ }
123
+ return Promise.resolve(prodOrDevConfig);
124
+ }
125
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/webpack/config/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { EnvironmentOptions } from '../EnvironmentOptions';
2
+ import { C8yDevServerBuilderOptions } from '../../builders/BuilderOptions';
3
+ import { WebpackConfiguration } from 'webpack-dev-server';
4
+ export declare function webpackDevelopmentConfig(env: EnvironmentOptions, webpackConfiguration: WebpackConfiguration, builderOptions: C8yDevServerBuilderOptions): WebpackConfiguration;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webpackDevelopmentConfig = void 0;
4
+ const proxy_1 = require("../utils/proxy");
5
+ function webpackDevelopmentConfig(env, webpackConfiguration, builderOptions) {
6
+ if (webpackConfiguration.devServer) {
7
+ webpackConfiguration.devServer['setupMiddlewares'] = middlewares => addMiddlewareForRedirectToIndexHTML(env.runTime.contextPath, middlewares);
8
+ /**
9
+ * TODO: check if we can set publicPath in a other way
10
+ */
11
+ if (!!webpackConfiguration?.devServer?.devMiddleware?.publicPath) {
12
+ webpackConfiguration.devServer.devMiddleware.publicPath = `/apps/${env.runTime.contextPath}`;
13
+ }
14
+ if (!builderOptions.proxyConfig) {
15
+ webpackConfiguration.devServer.proxy = (0, proxy_1.getProxyConfig)(builderOptions.url);
16
+ }
17
+ }
18
+ return webpackConfiguration;
19
+ }
20
+ exports.webpackDevelopmentConfig = webpackDevelopmentConfig;
21
+ /**
22
+ * Redirect request -> from :9090/apps/contextPath (without slash!) -> to :9090/apps/contextPath/index.html
23
+ * @param contextPath The context path of the application.
24
+ * @param middlewares The middlewares of the dev server.
25
+ * @returns Updated middlewares.
26
+ */
27
+ function addMiddlewareForRedirectToIndexHTML(contextPath, middlewares) {
28
+ middlewares.unshift({
29
+ name: 'redirect-to-index-html',
30
+ path: `^/apps/${contextPath}$`,
31
+ middleware: (req, res) => {
32
+ res.redirect(301, `/apps/${contextPath}/index.html`);
33
+ }
34
+ });
35
+ return middlewares;
36
+ }
37
+ //# sourceMappingURL=development.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"development.js","sourceRoot":"","sources":["../../../../src/webpack/config/development.ts"],"names":[],"mappings":";;;AAAA,0CAAgD;AAMhD,SAAgB,wBAAwB,CACtC,GAAuB,EACvB,oBAA0C,EAC1C,cAA0C;IAE1C,IAAI,oBAAoB,CAAC,SAAS,EAAE;QAClC,oBAAoB,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC,EAAE,CACjE,mCAAmC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAE5E;;WAEG;QACH,IAAI,CAAC,CAAC,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE;YAChE,oBAAoB,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,SAAS,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;SAC9F;QAED,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;YAC/B,oBAAoB,CAAC,SAAS,CAAC,KAAK,GAAG,IAAA,sBAAc,EAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAC3E;KACF;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AArBD,4DAqBC;AAED;;;;;GAKG;AACH,SAAS,mCAAmC,CAAC,WAAmB,EAAE,WAAyB;IACzF,WAAW,CAAC,OAAO,CAAC;QAClB,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,UAAU,WAAW,GAAG;QAC9B,UAAU,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;YAC1C,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,WAAW,aAAa,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { EnvironmentOptions } from '../EnvironmentOptions';
2
+ import { WebpackConfiguration } from 'webpack-dev-server';
3
+ export declare function buildExtraConfig(env: EnvironmentOptions, currentConfig: WebpackConfiguration): string | import("webpack").Configuration;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildExtraConfig = void 0;
4
+ const path_1 = require("path");
5
+ function buildExtraConfig(env, currentConfig) {
6
+ try {
7
+ let extraWebPackConfig = env.buildTime?.extraWebpackConfig;
8
+ if (typeof extraWebPackConfig === 'string') {
9
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
10
+ extraWebPackConfig = require((0, path_1.resolve)(process.cwd(), extraWebPackConfig));
11
+ }
12
+ if (typeof extraWebPackConfig === 'function') {
13
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
14
+ extraWebPackConfig = extraWebPackConfig(currentConfig, env);
15
+ }
16
+ return extraWebPackConfig || {};
17
+ }
18
+ catch (ex) {
19
+ console.error('Error while resolving the extra webpack configuration:', ex);
20
+ return {};
21
+ }
22
+ }
23
+ exports.buildExtraConfig = buildExtraConfig;
24
+ //# sourceMappingURL=extra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extra.js","sourceRoot":"","sources":["../../../../src/webpack/config/extra.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAI/B,SAAgB,gBAAgB,CAAC,GAAuB,EAAE,aAAmC;IAC3F,IAAI;QACF,IAAI,kBAAkB,GAAG,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAC3D,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;YAC1C,8DAA8D;YAC9D,kBAAkB,GAAG,OAAO,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;SAC1E;QAED,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;YAC5C,8DAA8D;YAC9D,kBAAkB,GAAG,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;SAC7D;QACD,OAAO,kBAAkB,IAAI,EAAE,CAAC;KACjC;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAjBD,4CAiBC"}
@@ -0,0 +1,2 @@
1
+ import * as webpack from 'webpack';
2
+ export declare function config(): webpack.Configuration;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ function config() {
5
+ return {
6
+ module: {
7
+ rules: [
8
+ {
9
+ test: /(\/|\\)favicon\.(ico|png|svg)$/,
10
+ type: 'asset/resource',
11
+ generator: {
12
+ filename: 'favicon.ico'
13
+ }
14
+ }
15
+ ]
16
+ }
17
+ };
18
+ }
19
+ exports.config = config;
20
+ //# sourceMappingURL=favicon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"favicon.js","sourceRoot":"","sources":["../../../../src/webpack/config/favicon.ts"],"names":[],"mappings":";;;AAEA,SAAgB,MAAM;IACpB,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,gCAAgC;oBACtC,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE;wBACT,QAAQ,EAAE,aAAa;qBACxB;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAdD,wBAcC"}
@@ -0,0 +1,3 @@
1
+ import { Path } from '@angular-devkit/core';
2
+ import { C8yBrowserBuilderOptions } from '../../builders/BuilderOptions';
3
+ export declare function getModuleFederationExports(buildOptions: C8yBrowserBuilderOptions, projectRootPath: Path): any;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getModuleFederationExports = void 0;
4
+ const federationUtils_1 = require("../utils/federationUtils");
5
+ const core_1 = require("@angular-devkit/core");
6
+ const path = require("path");
7
+ const lodash_1 = require("lodash");
8
+ function getModuleFederationExports(buildOptions, projectRootPath) {
9
+ if (buildOptions.buildTime?.federation === 'none') {
10
+ return;
11
+ }
12
+ let mf;
13
+ try {
14
+ mf = require('webpack/lib/container/ModuleFederationPlugin');
15
+ }
16
+ catch (ex) {
17
+ console.warn('Could not load ModuleFederationPlugin', ex);
18
+ return;
19
+ }
20
+ let shared;
21
+ if (!buildOptions.buildTime?.federation ||
22
+ buildOptions.buildTime.federation === 'auto' ||
23
+ buildOptions.buildTime.federation === 'strict') {
24
+ shared = (0, federationUtils_1.getSharedDependencies)(buildOptions);
25
+ }
26
+ else if (Array.isArray(buildOptions.buildTime.federation)) {
27
+ shared = (0, federationUtils_1.getSharedDependenciesFromNames)(buildOptions.buildTime.federation);
28
+ }
29
+ else {
30
+ shared = buildOptions.buildTime.federation;
31
+ }
32
+ if (buildOptions.runTime?.exports) {
33
+ return new mf({
34
+ name: buildOptions.runTime.contextPath,
35
+ library: { type: 'var', name: (0, lodash_1.camelCase)(buildOptions.runTime.contextPath) },
36
+ filename: 'remoteEntry.js',
37
+ exposes: getExportedModules(buildOptions, projectRootPath),
38
+ shared
39
+ });
40
+ }
41
+ return new mf({
42
+ remoteType: 'var',
43
+ shared
44
+ });
45
+ }
46
+ exports.getModuleFederationExports = getModuleFederationExports;
47
+ function getExportedModules(buildOptions, projectRootPath) {
48
+ return buildOptions.runTime?.exports?.map(exp => mapExports(exp, projectRootPath));
49
+ }
50
+ function mapExports(exp, projectRootPath) {
51
+ const relativeEntryPath = path.resolve((0, core_1.getSystemPath)(projectRootPath));
52
+ let pathToExport = path.resolve(relativeEntryPath, exp.path);
53
+ try {
54
+ pathToExport = require.resolve(exp.path + '/index.ts');
55
+ }
56
+ catch (ex) {
57
+ try {
58
+ pathToExport = require.resolve(exp.path);
59
+ }
60
+ catch (ex) {
61
+ // intended empty
62
+ }
63
+ }
64
+ return { [exp.module || exp.name]: pathToExport };
65
+ }
66
+ //# sourceMappingURL=federation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../../../../src/webpack/config/federation.ts"],"names":[],"mappings":";;;AAAA,8DAAiG;AACjG,+CAA2D;AAC3D,6BAA6B;AAC7B,mCAAmC;AAInC,SAAgB,0BAA0B,CACxC,YAAsC,EACtC,eAAqB;IAErB,IAAI,YAAY,CAAC,SAAS,EAAE,UAAU,KAAK,MAAM,EAAE;QACjD,OAAO;KACR;IAED,IAAI,EAAE,CAAC;IACP,IAAI;QACF,EAAE,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;KAC9D;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO;KACR;IAED,IAAI,MAAM,CAAC;IACX,IACE,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU;QACnC,YAAY,CAAC,SAAS,CAAC,UAAU,KAAK,MAAM;QAC5C,YAAY,CAAC,SAAS,CAAC,UAAU,KAAK,QAAQ,EAC9C;QACA,MAAM,GAAG,IAAA,uCAAqB,EAAC,YAAY,CAAC,CAAC;KAC9C;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;QAC3D,MAAM,GAAG,IAAA,gDAA8B,EAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KAC5E;SAAM;QACL,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC;KAC5C;IAED,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE;QACjC,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW;YACtC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,kBAAS,EAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC3E,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC;YAC1D,MAAM;SACP,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,EAAE,CAAC;QACZ,UAAU,EAAE,KAAK;QACjB,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AA1CD,gEA0CC;AAED,SAAS,kBAAkB,CAAC,YAAsC,EAAE,eAAqB;IACvF,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,UAAU,CAAC,GAAmB,EAAE,eAAqB;IAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAA,oBAAa,EAAC,eAAe,CAAC,CAAC,CAAC;IAEvE,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI;QACF,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC;KACxD;IAAC,OAAO,EAAE,EAAE;QACX,IAAI;YACF,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC1C;QAAC,OAAO,EAAE,EAAE;YACX,iBAAiB;SAClB;KACF;IAED,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;AACpD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import * as webpack from 'webpack';
2
+ export declare function config(): webpack.Configuration;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const path = require("path");
5
+ const legacy_manifest_resolver_1 = require("../utils/legacy-manifest-resolver");
6
+ function config() {
7
+ const toDir = (...args) => path.resolve(__dirname, ...args);
8
+ const jsRules = [
9
+ {
10
+ test: /node_modules.?zip-js/,
11
+ use: ['imports-loader?this=>window']
12
+ },
13
+ {
14
+ test: /node_modules.?leaflet\.label.*\.js$/,
15
+ use: ['imports-loader?window=>{}']
16
+ },
17
+ {
18
+ test: /\.js$/,
19
+ /**
20
+ * We have to exluce these modules to prevents the duplicate modules that are loading in the core/index.js
21
+ * and in the cumulocity.json
22
+ */
23
+ exclude: /node_modules\/((?!@c8y)|@c8y.ng1-modules.node_modules)/,
24
+ issuer: /cumulocity\.json$/,
25
+ use: ['c8y-pluginpath']
26
+ }
27
+ ];
28
+ const htmlRules = {
29
+ test: /\.html$/,
30
+ oneOf: [
31
+ {
32
+ issuer: /cumulocity\.json$/,
33
+ type: 'javascript/auto',
34
+ use: ['c8y-ngtemplate', 'c8y-pluginpath']
35
+ }
36
+ ]
37
+ };
38
+ const jsonRules = [
39
+ {
40
+ test: /cumulocity(\.\w+)?.json$/,
41
+ type: 'javascript/auto',
42
+ use: ['c8y-manifest']
43
+ },
44
+ {
45
+ test: /(devicecommands|devicetypes|properties|trackers)(.+)\.json$/,
46
+ issuer: /cumulocity\.json$/,
47
+ use: ['c8y-data'],
48
+ type: 'javascript/auto'
49
+ }
50
+ ];
51
+ return {
52
+ module: {
53
+ rules: [...jsonRules, ...jsRules, htmlRules]
54
+ },
55
+ resolve: {
56
+ alias: {
57
+ 'jquery-ui': 'jquery-ui/ui',
58
+ schemaForm: 'angular-schema-form/dist/schema-form.js'
59
+ },
60
+ plugins: [new legacy_manifest_resolver_1.LegacyManifestResolver()]
61
+ },
62
+ resolveLoader: {
63
+ alias: ['less', 'manifest', 'ngtemplate', 'pluginpath', 'data'].reduce((obj, name) => ({
64
+ [`c8y-${name}`]: toDir('..', 'loaders', `loader-${name}`),
65
+ ...obj
66
+ }), {}),
67
+ modules: ['node_modules', toDir('..', '..', '..', 'node_modules')]
68
+ }
69
+ };
70
+ }
71
+ exports.config = config;
72
+ //# sourceMappingURL=legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../../src/webpack/config/legacy.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,gFAA2E;AAE3E,SAAgB,MAAM;IACpB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACnE,MAAM,OAAO,GAA0B;QACrC;YACE,IAAI,EAAE,sBAAsB;YAC5B,GAAG,EAAE,CAAC,6BAA6B,CAAC;SACrC;QACD;YACE,IAAI,EAAE,qCAAqC;YAC3C,GAAG,EAAE,CAAC,2BAA2B,CAAC;SACnC;QACD;YACE,IAAI,EAAE,OAAO;YACb;;;eAGG;YACH,OAAO,EAAE,wDAAwD;YACjE,MAAM,EAAE,mBAAmB;YAC3B,GAAG,EAAE,CAAC,gBAAgB,CAAC;SACxB;KACF,CAAC;IACF,MAAM,SAAS,GAAwB;QACrC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;aAC1C;SACF;KACF,CAAC;IACF,MAAM,SAAS,GAA0B;QACvC;YACE,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,iBAAiB;YACvB,GAAG,EAAE,CAAC,cAAc,CAAC;SACtB;QACD;YACE,IAAI,EAAE,6DAA6D;YACnE,MAAM,EAAE,mBAAmB;YAC3B,GAAG,EAAE,CAAC,UAAU,CAAC;YACjB,IAAI,EAAE,iBAAiB;SACxB;KACF,CAAC;IAEF,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,OAAO,EAAE,SAAS,CAAC;SAC7C;QACD,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,WAAW,EAAE,cAAc;gBAC3B,UAAU,EAAE,yCAAyC;aACtD;YACD,OAAO,EAAE,CAAC,IAAI,iDAAsB,EAAE,CAAC;SACxC;QACD,aAAa,EAAE;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CACpE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACd,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC;gBACzD,GAAG,GAAG;aACP,CAAC,EACF,EAAE,CACH;YACD,OAAO,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;SACnE;KACF,CAAC;AACJ,CAAC;AApED,wBAoEC"}
@@ -0,0 +1,5 @@
1
+ import { Configuration } from 'webpack';
2
+ import { Path } from '@angular-devkit/core';
3
+ import { WebpackConfiguration } from 'webpack-dev-server';
4
+ import { C8yBrowserBuilderOptions } from '../../builders/BuilderOptions';
5
+ export declare function config(options: C8yBrowserBuilderOptions, configuration: WebpackConfiguration, projectRootPath: Path): Configuration;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const CopyPlugin = require("copy-webpack-plugin");
5
+ const path_1 = require("path");
6
+ const webpack_1 = require("webpack");
7
+ const core_1 = require("@angular-devkit/core");
8
+ const plugin_1 = require("../plugin/plugin");
9
+ const translation_aggregation_plugin_1 = require("../plugin/translation-aggregation-plugin");
10
+ const federation_1 = require("./federation");
11
+ const BuildDefaults_1 = require("../BuildDefaults");
12
+ function config(options, configuration, projectRootPath) {
13
+ if (options.index && typeof options.index !== 'string') {
14
+ throw new Error('Only string path to HTML file is supported.');
15
+ }
16
+ const cumulocityPlugin = new plugin_1.CumulocityPlugin({
17
+ runTimeOptions: options.runTime,
18
+ buildTimeOptions: options.buildTime,
19
+ customIndexTemplateViaTarget: options.index
20
+ });
21
+ let fromPath = 'node_modules/@c8y/style/img';
22
+ try {
23
+ fromPath = (0, core_1.getSystemPath)((0, core_1.join)((0, core_1.normalize)((0, path_1.dirname)(require.resolve('@c8y/style'))), 'img'));
24
+ }
25
+ catch (ex) {
26
+ console.warn('@c8y/style not found, no preview images included', ex);
27
+ }
28
+ const fileCopy = {
29
+ patterns: [
30
+ ...(options.buildTime?.copy || []),
31
+ {
32
+ from: `${(0, core_1.getSystemPath)((0, core_1.join)(projectRootPath, 'readme')).replace(/\\/g, '/')}{.md,}`,
33
+ to: 'README.md',
34
+ globOptions: {
35
+ caseSensitiveMatch: false
36
+ },
37
+ noErrorOnMissing: true
38
+ },
39
+ {
40
+ from: `${(0, core_1.getSystemPath)((0, core_1.join)(projectRootPath, '{license,licence}')).replace(/\\/g, '/')}{.txt,.md,}`,
41
+ to: 'LICENSE.txt',
42
+ globOptions: {
43
+ caseSensitiveMatch: false
44
+ },
45
+ noErrorOnMissing: true
46
+ },
47
+ {
48
+ from: fromPath,
49
+ to: 'c8y-style-assets',
50
+ noErrorOnMissing: true
51
+ }
52
+ ]
53
+ };
54
+ return {
55
+ plugins: [
56
+ new translation_aggregation_plugin_1.TranslationAggregationPlugin(),
57
+ new webpack_1.DefinePlugin({
58
+ __WEBPACK__: true,
59
+ __MODE__: JSON.stringify(configuration.mode),
60
+ __ENTRY_APP__: JSON.stringify(configuration.entry),
61
+ __ENTRY_BRANDING__: JSON.stringify(getBrandingPath(projectRootPath, options.buildTime)),
62
+ __VERSION_NG1__: JSON.stringify(cumulocityPlugin.getVersion('@c8y/ng1-modules/package.json')),
63
+ __VERSION_NGX__: JSON.stringify(cumulocityPlugin.getVersion('@c8y/ngx-components/package.json')),
64
+ __VERSION_PACKAGE__: JSON.stringify(options.runTime.version)
65
+ }),
66
+ cumulocityPlugin,
67
+ (0, federation_1.getModuleFederationExports)(options, projectRootPath),
68
+ new CopyPlugin(fileCopy)
69
+ ].filter(Boolean)
70
+ };
71
+ }
72
+ exports.config = config;
73
+ /**
74
+ * Returns the branding path.
75
+ *
76
+ * @param application The current application options.
77
+ * @param projectRootPath The root path of the workspace.
78
+ * @returns string The branding path.
79
+ */
80
+ function getBrandingPath(projectRootPath, env) {
81
+ if (env?.brandingEntry === false) {
82
+ return;
83
+ }
84
+ if (env?.brandingEntry) {
85
+ return (0, core_1.getSystemPath)((0, core_1.join)(projectRootPath, env.brandingEntry));
86
+ }
87
+ return require.resolve(BuildDefaults_1.BUILD_DEFAULTS.DEFAULT_BRANDING_PATH);
88
+ }
89
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/webpack/config/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Configuration } from 'webpack';
2
+ import { EnvironmentOptions } from '../EnvironmentOptions';
3
+ export declare function webpackProductionConfig(env: EnvironmentOptions, webpackConfig: Configuration): Configuration;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webpackProductionConfig = void 0;
4
+ const TerserPlugin = require("terser-webpack-plugin");
5
+ const javascript_optimizer_plugin_1 = require("@angular-devkit/build-angular/src/tools/webpack/plugins/javascript-optimizer-plugin");
6
+ function webpackProductionConfig(env, webpackConfig) {
7
+ const updatedConfig = overrideDefaultAngularOptimizer(webpackConfig, env.buildTime?.ci);
8
+ return updatedConfig;
9
+ }
10
+ exports.webpackProductionConfig = webpackProductionConfig;
11
+ /**
12
+ * Override JavaScriptOptimizerPlugin as esbuild part breaks our build due to removing ngInject comments and
13
+ * minifing angularjs logic which should be not touched.
14
+ */
15
+ function overrideDefaultAngularOptimizer(webpackConfig, isCi = false) {
16
+ /**
17
+ * Override JavaScriptOptimizerPlugin as esbuild part breaks our build due to removing ngInject comments and
18
+ * minifing angularjs logic which should be not touched.
19
+ */
20
+ if (webpackConfig.optimization?.minimizer) {
21
+ const optimizerIndex = webpackConfig.optimization.minimizer.findIndex(minimizer => minimizer instanceof javascript_optimizer_plugin_1.JavaScriptOptimizerPlugin);
22
+ if (optimizerIndex !== -1) {
23
+ webpackConfig.optimization.minimizer[optimizerIndex] = new TerserPlugin({
24
+ parallel: !isCi
25
+ });
26
+ }
27
+ }
28
+ return webpackConfig;
29
+ }
30
+ //# sourceMappingURL=production.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production.js","sourceRoot":"","sources":["../../../../src/webpack/config/production.ts"],"names":[],"mappings":";;;AACA,sDAAsD;AACtD,qIAAgI;AAGhI,SAAgB,uBAAuB,CACrC,GAAuB,EACvB,aAA4B;IAE5B,MAAM,aAAa,GAAG,+BAA+B,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxF,OAAO,aAAa,CAAC;AACvB,CAAC;AAND,0DAMC;AAED;;;GAGG;AACH,SAAS,+BAA+B,CAAC,aAA4B,EAAE,IAAI,GAAG,KAAK;IACjF;;;OAGG;IACH,IAAI,aAAa,CAAC,YAAY,EAAE,SAAS,EAAE;QACzC,MAAM,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CACnE,SAAS,CAAC,EAAE,CAAC,SAAS,YAAY,uDAAyB,CAC5D,CAAC;QAEF,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;YACzB,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,YAAY,CAAC;gBACtE,QAAQ,EAAE,CAAC,IAAI;aAChB,CAAC,CAAC;SACJ;KACF;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Configuration } from 'webpack';
2
+ import { EnvironmentOptions } from '../EnvironmentOptions';
3
+ export declare function config(env: EnvironmentOptions, c8yWebpackConfig: Configuration): Configuration;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const autoprefixer = require("autoprefixer");
5
+ const mini_css_extract_plugin_1 = require("mini-css-extract-plugin");
6
+ const miniPlugin = require("mini-css-extract-plugin");
7
+ function config(env, c8yWebpackConfig) {
8
+ const devMode = c8yWebpackConfig.mode !== 'production';
9
+ const { sourceMapLess: sourceMap } = env.buildTime || {};
10
+ const cssLoader = (url, importLoaders) => ({
11
+ loader: 'css-loader',
12
+ options: {
13
+ importLoaders: importLoaders + (devMode ? 0 : 1),
14
+ sourceMap,
15
+ url
16
+ }
17
+ });
18
+ const postcssLoader = () => !devMode && {
19
+ loader: 'postcss-loader',
20
+ options: {
21
+ sourceMap,
22
+ postcssOptions: {
23
+ plugins: [autoprefixer()]
24
+ }
25
+ }
26
+ };
27
+ const styleLoader = () => (devMode ? 'style-loader' : mini_css_extract_plugin_1.loader);
28
+ const rules = [
29
+ {
30
+ test: /\.css$/,
31
+ oneOf: [
32
+ {
33
+ issuer: /cumulocity\.json/,
34
+ exclude: /node_modules/,
35
+ use: [styleLoader(), cssLoader(false, 0), postcssLoader()].filter(Boolean)
36
+ },
37
+ {
38
+ issuer: /\.ts$/,
39
+ use: postcssLoader() || [],
40
+ type: 'asset/source'
41
+ },
42
+ {
43
+ use: [styleLoader(), cssLoader(true, 0), postcssLoader()].filter(Boolean)
44
+ }
45
+ ]
46
+ }
47
+ ];
48
+ return {
49
+ plugins: [new miniPlugin()],
50
+ module: { rules }
51
+ };
52
+ }
53
+ exports.config = config;
54
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/webpack/config/styles.ts"],"names":[],"mappings":";;;AACA,6CAA6C;AAC7C,qEAAyE;AACzE,sDAAsD;AAGtD,SAAgB,MAAM,CAAC,GAAuB,EAAE,gBAA+B;IAC7E,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,KAAK,YAAY,CAAC;IACvD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAEzD,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,aAAqB,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE;YACP,aAAa,EAAE,aAAa,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,SAAS;YACT,GAAG;SACJ;KACF,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,GAAG,EAAE,CACzB,CAAC,OAAO,IAAI;QACV,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE;YACP,SAAS;YACT,cAAc,EAAE;gBACd,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;aAC1B;SACF;KACF,CAAC;IACJ,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gCAAoB,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAkB;QAC3B;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,kBAAkB;oBAC1B,OAAO,EAAE,cAAc;oBACvB,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa;iBACvF;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;oBAC1B,IAAI,EAAE,cAAc;iBACrB;gBACD;oBACE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa;iBACtF;aACF;SACF;KACF,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,EAAE,EAAE,KAAK,EAAE;KAClB,CAAC;AACJ,CAAC;AAhDD,wBAgDC"}
@@ -0,0 +1,2 @@
1
+ import * as webpack from 'webpack';
2
+ export declare function config(): webpack.Configuration;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const path_1 = require("path");
5
+ function config() {
6
+ return {
7
+ resolveLoader: {
8
+ alias: {
9
+ 'c8y-po': (0, path_1.resolve)(__dirname, '../loaders/loader-po')
10
+ }
11
+ },
12
+ module: {
13
+ rules: [
14
+ {
15
+ test: /\.po$/,
16
+ use: ['c8y-po']
17
+ }
18
+ ]
19
+ }
20
+ };
21
+ }
22
+ exports.config = config;
23
+ //# sourceMappingURL=translation.js.map