Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


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;

[ Dauer der Verarbeitung: 0.25 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge