Added scanning barcodes with a camera

This commit is contained in:
2026-03-08 16:59:33 +00:00
parent b4f8489834
commit 5a37e5dd5f
404 changed files with 224181 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
module.exports = {
production: false,
development: true,
node: false,
};

View File

@@ -0,0 +1,5 @@
module.exports = {
production: true,
development: false,
node: true,
};

View File

@@ -0,0 +1,5 @@
module.exports = {
production: true,
development: false,
node: false,
};

View File

@@ -0,0 +1,78 @@
var webpack = require('webpack'),
path = require('path');
module.exports = {
entry: [
'./src/quagga.js',
],
devtool: 'inline-source-map',
module: {
rules: [
{
test: /\.js$/,
include: [
path.resolve('./node_modules/sinon'),
path.resolve('./node_modules/@sinonjs')
],
loader: 'babel-loader',
options: {
presets: [
['@babel/preset-env', {
targets: { browsers: ['last 2 versions'] }
}]
],
plugins: [
'@babel/plugin-proposal-optional-chaining',
'@babel/plugin-proposal-nullish-coalescing-operator'
]
}
},
{
test: /\.(t|j)sx?$/,
exclude: /node_modules/,
use: { loader: 'babel-loader' },
},
{
enforce: 'pre',
test: /\.(t|j)sx?$/,
exclude: /node_modules/,
loader: 'source-map-loader',
},
],
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
modules: [
path.resolve('./src'),
'node_modules',
],
},
node: {
fs: 'empty',
},
output: {
path: __dirname + '/../dist',
publicPath: '/',
libraryTarget: 'umd',
libraryExport: 'default',
library: 'Quagga',
filename: 'quagga.js',
},
devServer: {
contentBase: './',
hot: true,
},
plugins: [
new webpack.DefinePlugin({
ENV: require(path.join(__dirname, './env/', process.env.BUILD_ENV)),
}),
new webpack.NormalModuleReplacementPlugin(/..\/input\/frame_grabber/, '../input/frame_grabber_browser.js'),
new webpack.NormalModuleReplacementPlugin(/input_stream[/\\]input_stream$/, (resource) => {
resource.request = resource.request.replace(/input_stream$/, 'input_stream_browser');
}),
],
optimization: {
minimize: false,
},
mode: 'production',
};

View File

@@ -0,0 +1,15 @@
var webpack = require('webpack');
module.exports = require('./webpack.config.js');
module.exports.plugins = module.exports.plugins.concat([
new webpack.LoaderOptionsPlugin({
minimize: true,
debug: false,
}),
]);
module.exports.optimization.minimize = true;
module.exports.output.filename = 'quagga.min.js';
module.exports.output.sourceMapFilename = '';
module.exports.devtool = false;

View File

@@ -0,0 +1,36 @@
var webpack = require('webpack'),
path = require('path');
const baseConfig = require('./webpack.config.js');
module.exports = {
...baseConfig,
externals: [
'fs',
'http',
'https',
'url',
'sharp',
'ndarray-pixels',
],
};
module.exports.target = 'node';
module.exports.resolve = {
...module.exports.resolve,
// Prefer Node builds of packages (e.g., ndarray-pixels) instead of browser entries
mainFields: ['main', 'module'],
alias: {
// Force ndarray-pixels to resolve to its Node build; webpack 4 lacks conditionNames support
'ndarray-pixels$': 'ndarray-pixels/dist/ndarray-pixels-node.cjs',
},
};
module.exports.output.libraryTarget = 'commonjs';
module.exports.output.library = undefined;
module.exports.plugins = [
new webpack.DefinePlugin({
ENV: require(path.join(__dirname, './env/', process.env.BUILD_ENV)),
}),
];
module.exports.devtool = undefined;
module.exports.output.path = __dirname + '/../lib';
module.exports.output.filename = 'quagga.js';