Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/toolkit/components/ml/vendor/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 6 kB image not shown  

Quelle  gecko.patch   Sprache: unbekannt

 
 diff --git a/package.json b/package.json
index c7584c6..aca0441 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
   "scripts": {
     "format": "prettier --write .",
     "format:check": "prettier --check .",
-    "typegen": "tsc ./src/transformers.js --allowJs --declaration --emitDeclarationOnly --declarationMap --outDir types",
+    "typegen": "tsc",
     "dev": "webpack serve --no-client-overlay",
     "build": "webpack && npm run typegen",
     "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --verbose",
@@ -62,6 +62,7 @@
   "homepage": "https://github.com/huggingface/transformers.js#readme",
   "dependencies": {
     "@huggingface/jinja": "^0.3.2",
+    "@types/node": "^22.5.5",
     "onnxruntime-node": "1.20.1",
     "onnxruntime-web": "1.20.1",
     "sharp": "^0.33.5"
@@ -74,7 +75,7 @@
     "jest-environment-node": "^30.0.0-alpha.6",
     "jsdoc-to-markdown": "^8.0.1",
     "prettier": "3.3.3",
-    "typescript": "^5.2.2",
+    "typescript": "^5.6.2",
     "wavefile": "^11.0.0",
     "webpack": "^5.80.0",
     "webpack-cli": "^5.0.2",
diff --git a/src/backends/onnx.js b/src/backends/onnx.js
index 26d771b..7731bfd 100644
--- a/src/backends/onnx.js
+++ b/src/backends/onnx.js
@@ -18,15 +18,8 @@
 
 import { env, apis } from '../env.js';
 
-// NOTE: Import order matters here. We need to import `onnxruntime-node` before `onnxruntime-web`.
-// In either case, we select the default export if it exists, otherwise we use the named export.
-import * as ONNX_NODE from 'onnxruntime-node';
-
-// Use subpath-imports to ensure Node.js and browser interoperability.
-// See package.json and https://nodejs.org/api/packages.html#subpath-imports
-// for more information.
-// @ts-ignore
 import * as ONNX_WEB from '#onnxruntime-webgpu';
+const ONNX_NODE = null;
 
 export { Tensor } from 'onnxruntime-common';
 
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..8892b18
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,13 @@
+{
+  "files": [
+    "./src/transformers.js"
+  ],
+  "compilerOptions": {
+    "allowJs": true,
+    "declaration": true,
+    "emitDeclarationOnly": true,
+    "declarationMap": true,
+    "outDir": "types",
+    "types": [] // Or specify only the types you need
+  }
+}
diff --git a/webpack.config.js b/webpack.config.js
index 2182492..ef2540c 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -4,113 +4,106 @@ import path from "path";
 
 const __dirname = path.dirname(fileURLToPath(import.meta.url));
 
-/**
- * Helper function to create webpack configurations.
- * @param {Object} options Options for creating a webpack target.
- * @param {string} options.name Name of output file.
- * @param {string} options.suffix Suffix of output file.
- * @param {string} options.type Type of library.
- * @param {string} options.ignoreModules The list of modules to ignore.
- * @param {string} options.externalModules The list of modules to set as external.
- * @returns {import('webpack').Configuration} One webpack target.
- */
-function buildConfig({
-  name = "",
-  suffix = ".js",
-  type = "module", // 'module' | 'commonjs'
-  ignoreModules = [],
-  externalModules = [],
-} = {}) {
-  const outputModule = type === "module";
-
-  const alias = Object.fromEntries(
-    ignoreModules.map((module) => {
-      return [module, false];
-    }),
-  );
-
-  /** @type {import('webpack').Configuration} */
-  const config = {
+/** @type {import('webpack').Configuration[]} */
+const configs = [
+  {
     mode: 'development',
     devtool: 'source-map',
     entry: {
-      [`transformers${name}`]: './src/transformers.js',
-      [`transformers${name}.min`]: './src/transformers.js',
+      'transformers.min': './src/transformers.js',
     },
     output: {
-      filename: `[name]${suffix}`,
+      filename: '[name].js',
       path: path.join(__dirname, 'dist'),
       library: {
-        type,
+        type: 'module',
       },
       assetModuleFilename: '[name][ext]',
       chunkFormat: 'module',
     },
     optimization: {
       minimize: true,
-      minimizer: [new TerserPlugin({
-        test: new RegExp(`\\.min\\${suffix}$`),
-        extractComments: false,
-      })],
+      minimizer: [
+        new TerserPlugin({
+          test: /\.min\.js$/,
+          extractComments: false,
+        }),
+      ],
     },
     experiments: {
-      outputModule,
+      outputModule: true,
+    },
+    resolve: {
+      alias: {
+        '#onnxruntime-webgpu': false,
+      },
+    },
+    externals: {
+      '#onnxruntime-webgpu': 'chrome://global/content/ml/ort.webgpu.mjs',
     },
-    resolve: { alias },
-
-    externals: externalModules,
-
-    // Development server
     devServer: {
       static: {
         directory: __dirname,
       },
       port: 8080,
     },
-  };
-
-  if (outputModule) {
-    config.module = {
+    module: {
       parser: {
         javascript: {
-          importMeta: false
-        }
-      }
-    }
-  } else {
-    config.externalsType = 'commonjs';
-  }
-
-  return config;
-}
-
-// Do not bundle onnxruntime-web when packaging for Node.js.
-// Instead, we use the native library (onnxruntime-node).
-const NODE_IGNORE_MODULES = ["onnxruntime-web", "onnxruntime-web/webgpu"];
-
-// Do not bundle the following modules with webpack (mark as external)
-// NOTE: This is necessary for both type="module" and type="commonjs",
-// and will be ignored when building for web (only used for node/deno)
-const NODE_EXTERNAL_MODULES = ["onnxruntime-node", "sharp", "fs", "path", "url"];
-
-
-export default [
-  // Web-only build
-  buildConfig({
-    type: "module",
-  }),
-
-  // Node-compatible builds
-  buildConfig({
-    suffix: ".mjs",
-    type: "module",
-    ignoreModules: NODE_IGNORE_MODULES,
-    externalModules: NODE_EXTERNAL_MODULES,
-  }),
-  buildConfig({
-    suffix: ".cjs",
-    type: "commonjs",
-    ignoreModules: NODE_IGNORE_MODULES,
-    externalModules: NODE_EXTERNAL_MODULES,
-  }),
+          importMeta: false,
+        },
+      },
+    },
+  },
+  {
+    mode: 'development',
+    devtool: 'source-map',
+    entry: {
+      transformers: './src/transformers.js',
+    },
+    output: {
+      filename: '[name].js',
+      path: path.join(__dirname, 'dist'),
+      library: {
+        type: 'module',
+      },
+      assetModuleFilename: '[name][ext]',
+      chunkFormat: 'module',
+    },
+    optimization: {
+      minimize: true,
+      minimizer: [
+        new TerserPlugin({
+          test: /\.min\.js$/,
+          extractComments: false,
+        }),
+      ],
+    },
+    experiments: {
+      outputModule: true,
+    },
+    resolve: {
+      alias: {
+        '#onnxruntime-webgpu': false,
+      },
+    },
+    externals: {
+      '#onnxruntime-webgpu': 'chrome://global/content/ml/ort.webgpu-dev.mjs',
+    },
+    devServer: {
+      static: {
+        directory: __dirname,
+      },
+      port: 8080,
+    },
+    module: {
+      parser: {
+        javascript: {
+          importMeta: false,
+        },
+      },
+    },
+  },
 ];
+
+export default configs;

[ zur Elbe Produktseite wechseln0.28Quellennavigators  Analyse erneut starten  ]