@centreon/js-config 23.10.64 → 23.10.66

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,48 @@ 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',
79
37
  singleton: true
80
38
  }
81
39
  },
82
40
  {
83
41
  jotai: {
84
- requiredVersion: '1.x',
42
+ requiredVersion: '2.x',
85
43
  singleton: true
86
44
  }
87
45
  },
88
46
  {
89
47
  'jotai-suspense': {
90
- requiredVersion: '0.1.x',
91
48
  singleton: true
92
49
  }
93
50
  },
@@ -121,6 +78,9 @@ const getBaseConfiguration = ({
121
78
  ].filter(Boolean),
122
79
  resolve: {
123
80
  alias: {
81
+ '@centreon/ui/fonts': path.resolve(
82
+ './node_modules/@centreon/ui/public/fonts'
83
+ ),
124
84
  react: path.resolve('./node_modules/react')
125
85
  },
126
86
  extensions: ['.js', '.jsx', '.ts', '.tsx']