@centreon/js-config 24.4.14 → 24.4.16

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.
@@ -3,91 +3,49 @@ const path = require('path');
3
3
  const { CleanWebpackPlugin } = require('clean-webpack-plugin');
4
4
  const { ModuleFederationPlugin } = require('webpack').container;
5
5
 
6
- const excludeNodeModulesExceptCentreonUi =
7
- /node_modules(\\|\/)\.pnpm(\\|\/)(?!(@centreon))/;
6
+ const {
7
+ getModuleConfiguration,
8
+ optimization,
9
+ output,
10
+ cache
11
+ } = require('./globalConfig');
8
12
 
9
13
  const getBaseConfiguration = ({
10
14
  moduleName,
11
15
  moduleFederationConfig,
12
- jscTransformConfiguration
16
+ jscTransformConfiguration,
17
+ enableCoverage
13
18
  }) => ({
14
- cache: false,
15
- module: {
16
- rules: [
17
- {
18
- parser: { system: false },
19
- test: /\.[cm]?(j|t)sx?$/
20
- },
21
- {
22
- exclude: excludeNodeModulesExceptCentreonUi,
23
- test: /\.[jt]sx?$/,
24
- use: {
25
- loader: 'swc-loader',
26
- options: {
27
- jsc: {
28
- parser: {
29
- syntax: 'typescript',
30
- tsx: true
31
- },
32
- transform: jscTransformConfiguration
33
- }
34
- }
35
- }
36
- },
37
- {
38
- test: /\.icon.svg$/,
39
- use: ['@svgr/webpack']
40
- },
41
- {
42
- exclude: excludeNodeModulesExceptCentreonUi,
43
- test: /\.(bmp|png|jpg|jpeg|gif|svg)$/,
44
- use: [
45
- {
46
- loader: 'url-loader',
47
- options: {
48
- limit: 10000,
49
- name: '[name].[hash:8].[ext]'
50
- }
51
- }
52
- ]
53
- }
54
- ]
55
- },
56
- optimization: {
57
- splitChunks: {
58
- chunks: 'all',
59
- maxSize: 400 * 1024
60
- }
61
- },
19
+ cache,
20
+ module: getModuleConfiguration(jscTransformConfiguration, enableCoverage),
21
+ optimization,
62
22
  output: {
63
- chunkFilename: '[name].[chunkhash:8].chunk.js',
64
- filename: '[name].[chunkhash:8].js',
65
- libraryTarget: 'umd',
66
- umdNamedDefine: true
23
+ ...output,
24
+ library: moduleName,
25
+ uniqueName: moduleName
67
26
  },
68
27
  plugins: [
69
28
  new CleanWebpackPlugin(),
70
29
  moduleName &&
71
30
  new ModuleFederationPlugin({
72
31
  filename: 'remoteEntry.[chunkhash:8].js',
73
- library: { name: moduleName, type: 'var' },
32
+ library: { name: moduleName, type: 'umd' },
74
33
  name: moduleName,
75
34
  shared: [
76
35
  {
77
36
  '@centreon/ui-context': {
78
- requiredVersion: '22.10.0',
37
+ requiredVersion: '24.x',
79
38
  singleton: true
80
39
  }
81
40
  },
82
41
  {
83
42
  jotai: {
84
- requiredVersion: '1.x',
43
+ requiredVersion: '2.x',
85
44
  singleton: true
86
45
  }
87
46
  },
88
47
  {
89
48
  'jotai-suspense': {
90
- requiredVersion: '0.1.x',
91
49
  singleton: true
92
50
  }
93
51
  },
@@ -121,6 +79,9 @@ const getBaseConfiguration = ({
121
79
  ].filter(Boolean),
122
80
  resolve: {
123
81
  alias: {
82
+ '@centreon/ui/fonts': path.resolve(
83
+ './node_modules/@centreon/ui/public/fonts'
84
+ ),
124
85
  react: path.resolve('./node_modules/react')
125
86
  },
126
87
  extensions: ['.js', '.jsx', '.ts', '.tsx']