@oroinc/oro-webpack-config-builder 6.1.0-lts04 → 6.1.0-lts05

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.
@@ -9,8 +9,6 @@ const EntryPointFileWriter = require('./writer/scss-entry-point-file-writer');
9
9
  const LayoutModulesConfigLoader = require('./modules-config/layout-modules-config-loader');
10
10
  const LayoutStyleLoader = require('./style/layout-style-loader');
11
11
  const MapModulesPlugin = require('./plugin/map/map-modules-plugin');
12
- const IntegrityFilePlugin = require('./plugin/integrity/integrity-file-plugin');
13
- const {SubresourceIntegrityPlugin} = require('webpack-subresource-integrity');
14
12
  const MiniCssExtractPlugin = require('mini-css-extract-plugin');
15
13
  const ModulesConfigLoader = require('./modules-config/modules-config-loader');
16
14
  const DynamicImportsFileWriter = require('./writer/dynamic-imports-file-writer');
@@ -283,8 +281,7 @@ class ConfigBuilder {
283
281
  output: {
284
282
  filename: '[name].js',
285
283
  // Because we use third party libraries 'chunkFilename' should include only [name]
286
- chunkFilename: this._getVersionedPath('chunk/[name].js', this.assetVersion),
287
- crossOriginLoading: "anonymous"
284
+ chunkFilename: this._getVersionedPath('chunk/[name].js', this.assetVersion)
288
285
  },
289
286
  devtool: !env.skipSourcemap && 'inline-cheap-module-source-map',
290
287
  mode: 'development',
@@ -391,10 +388,6 @@ class ConfigBuilder {
391
388
  new webpack.optimize.MinChunkSizePlugin({
392
389
  minChunkSize: 30000 // Minimum number of characters
393
390
  }),
394
- new SubresourceIntegrityPlugin(),
395
- new IntegrityFilePlugin({
396
- publicPath: this.resolvedPublicPath
397
- }),
398
391
  new AfterWebpackLogsPlugin(
399
392
  stats => this.emitter.emit('build:complete', stats)
400
393
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oroinc/oro-webpack-config-builder",
3
- "version": "6.1.0-lts04",
3
+ "version": "6.1.0-lts05",
4
4
  "author": "Oro, Inc. (https://oroinc.com)",
5
5
  "license": "MIT",
6
6
  "description": "An integration of OroPlatform based applications with the Webpack.",
@@ -16,9 +16,10 @@
16
16
  "css-loader": "^6.8.1",
17
17
  "css-minimizer-webpack-plugin": "~5.0.0",
18
18
  "deepmerge": "~4.3.1",
19
+ "esbuild": "^0.25.2",
20
+ "esbuild-loader": "^4.3.0",
19
21
  "exports-loader": "~4.0.0",
20
22
  "expose-loader": "~4.1.0",
21
- "esbuild-loader": "^4.3.0",
22
23
  "file-loader": "~6.2.0",
23
24
  "html-webpack-plugin": "~5.5.0",
24
25
  "imports-loader": "~4.0.1",
@@ -49,7 +50,6 @@
49
50
  "webpack-cli": "~6.0.0",
50
51
  "webpack-dev-server": "^5.2.0",
51
52
  "webpack-merge": "~5.8.0",
52
- "webpack-subresource-integrity": "^5.2.0-rc.1",
53
53
  "wildcard": "~2.0.0"
54
54
  }
55
55
  }
@@ -1,42 +0,0 @@
1
- const { createHash } = require('crypto');
2
- const { Compilation, sources } = require('webpack');
3
- const fs = require('fs').promises;
4
- const path = require('path');
5
-
6
- class IntegrityFilePlugin {
7
- constructor({fileName = 'integrity.json', publicPath = '', algorithm = 'sha384'} = {}) {
8
- this.fileName = fileName;
9
- this.publicPath = publicPath;
10
- this.algorithm = algorithm;
11
- }
12
-
13
- apply(compiler) {
14
- compiler.hooks.thisCompilation.tap('IntegrityFilePlugin', (compilation) => {
15
- compilation.hooks.processAssets.tapPromise(
16
- { name: 'SubresourceIntegrityPlugin', stage: Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER },
17
- async () => {
18
- const integrityData = Object.fromEntries(
19
- Object.entries(compilation.assets)
20
- .filter(([assetName]) => assetName.endsWith('.css') || assetName.endsWith('.js'))
21
- .map(([assetName, asset]) => {
22
- const hash = createHash(this.algorithm).update(asset.source()).digest('base64');
23
- const assetNormalized = assetName.split('?')[0];
24
-
25
- return [
26
- path.join(compiler.options.output.publicPath || '', assetNormalized),
27
- `${this.algorithm}-${hash}`
28
- ];
29
- })
30
- );
31
- const jsonData = JSON.stringify(integrityData, null, 2);
32
- const outputPath = path.join(this.publicPath, compiler.options.output.publicPath, this.fileName);
33
-
34
- await fs.writeFile(outputPath, jsonData, 'utf8');
35
- compilation.emitAsset(outputPath, new sources.RawSource(jsonData));
36
- }
37
- );
38
- });
39
- }
40
- }
41
-
42
- module.exports = IntegrityFilePlugin;