about summary refs log tree commit diff
path: root/config/webpack
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2020-09-01 00:26:10 +0200
committerGitHub <noreply@github.com>2020-09-01 00:26:10 +0200
commit5fc5a9f9f18872cb0f1b54359338b2e189dd2bb1 (patch)
tree7f54bc1d068b69b30ad4016fea64b1307664babc /config/webpack
parentf0b6ddd97948d9c443cd155cb8ccc497e0608117 (diff)
Update Tesseract.js (#14708)
* [WiP] Update Tesseract.js

- Update Tesseract.js to 2.2.1
- Use versioned file names
- differentiate two progression states: preparing OCR and detecting picture

* Get rid of copy-webpack-plugin
Diffstat (limited to 'config/webpack')
-rw-r--r--config/webpack/rules/index.js2
-rw-r--r--config/webpack/rules/node_modules.js5
-rw-r--r--config/webpack/rules/tesseract.js14
-rw-r--r--config/webpack/shared.js7
4 files changed, 20 insertions, 8 deletions
diff --git a/config/webpack/rules/index.js b/config/webpack/rules/index.js
index bbf6b0187..92a384e6d 100644
--- a/config/webpack/rules/index.js
+++ b/config/webpack/rules/index.js
@@ -1,6 +1,7 @@
 const babel = require('./babel');
 const css = require('./css');
 const file = require('./file');
+const tesseract = require('./tesseract');
 const nodeModules = require('./node_modules');
 
 // Webpack loaders are processed in reverse order
@@ -8,6 +9,7 @@ const nodeModules = require('./node_modules');
 // Lastly, process static files using file loader
 module.exports = {
   file,
+  tesseract,
   css,
   nodeModules,
   babel,
diff --git a/config/webpack/rules/node_modules.js b/config/webpack/rules/node_modules.js
index 7ed05504b..c084d3a57 100644
--- a/config/webpack/rules/node_modules.js
+++ b/config/webpack/rules/node_modules.js
@@ -4,7 +4,10 @@ const { settings, env } = require('../configuration');
 module.exports = {
   test: /\.(js|mjs)$/,
   include: /node_modules/,
-  exclude: /@babel(?:\/|\\{1,2})runtime/,
+  exclude: [
+    /@babel(?:\/|\\{1,2})runtime/,
+    /tesseract.js/,
+  ],
   use: [
     {
       loader: 'babel-loader',
diff --git a/config/webpack/rules/tesseract.js b/config/webpack/rules/tesseract.js
new file mode 100644
index 000000000..de647c8d1
--- /dev/null
+++ b/config/webpack/rules/tesseract.js
@@ -0,0 +1,14 @@
+module.exports = {
+  test: [
+    /tesseract\.js\/dist\/worker\.min\.js$/,
+    /tesseract\.js\/dist\/worker\.min\.js.map$/,
+    /tesseract\.js-core\/tesseract-core\.wasm$/,
+    /tesseract\.js-core\/tesseract-core\.wasm.js$/,
+  ],
+  use: {
+    loader: 'file-loader',
+    options: {
+      name: 'ocr/[name]-[hash].[ext]',
+    },
+  },
+};
diff --git a/config/webpack/shared.js b/config/webpack/shared.js
index 15a209253..667652809 100644
--- a/config/webpack/shared.js
+++ b/config/webpack/shared.js
@@ -5,7 +5,6 @@ const { basename, dirname, join, relative, resolve } = require('path');
 const { sync } = require('glob');
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 const AssetsManifestPlugin = require('webpack-assets-manifest');
-const CopyPlugin = require('copy-webpack-plugin');
 const extname = require('path-complete-extname');
 const { env, settings, themes, output } = require('./configuration');
 const rules = require('./rules');
@@ -85,12 +84,6 @@ module.exports = {
       writeToDisk: true,
       publicPath: true,
     }),
-    new CopyPlugin({
-      patterns: [
-        { from: 'node_modules/tesseract.js/dist/worker.min.js', to: 'ocr' },
-        { from: 'node_modules/tesseract.js-core/tesseract-core.wasm.js', to: 'ocr' },
-      ],
-    }),
   ],
 
   resolve: {