Zum Hauptinhalt springen

Installation

Installiere @powerduck/conf-patch mit deinem bevorzugten Paketmanager.

Voraussetzungen​

  • Node.js: >= 22.12.0
  • TypeScript: optional; vollständige Typdeklarationen sind enthalten, zusätzliche @types/...-Pakete sind nicht nötig.

Installation​

npm install @powerduck/conf-patch
yarn add @powerduck/conf-patch
pnpm add @powerduck/conf-patch

Laufzeitabhängigkeiten​

conf-patch enthält drei Laufzeitabhängigkeiten, die automatisch installiert werden:

PaketVersionVerwendung
@powerduck/openapi-parser^0.3.12OpenAPI-/Swagger-Validierung (validateOpenAPISpec, validateOpenAPIFile).
jsonc-parser^3.3.1Inkrementelle Textänderungen für JSON und JSONC.
yaml^2.9.0Parsen und Ändern des YAML-AST.

Du musst diese Abhängigkeiten nicht direkt verwenden.

Zwei Einstiegspunkte​

Das Paket bietet zwei Unterpfad-Exporte. Wähle passend zu deiner Umgebung.

Haupteinstieg — @powerduck/conf-patch​

Enthält die Dateischicht (readConfigFile, writeConfigFile, patchConfigFile, setConfigValue, deleteConfigValue, withFileLock, releaseAllLocalLocks), den Kern und die OpenAPI-Validierung. Für Node.js und Electron; abhängig von node:fs, node:path und node:crypto.

Kern-Unterpfad — @powerduck/conf-patch/core​

Exportiert nur den browsergeeigneten Kern: patchContent, setContentValue, deleteContentValue, Assertion-Helfer und Kerntypen. Ohne Node.js-Abhängigkeiten lässt er sich für Browser, Edge Functions und Service Worker bündeln.

tipp

Importiere für den Browser immer aus @powerduck/conf-patch/core. Dadurch bleiben die Dateischicht und ihre Abhängigkeit node:fs aus dem Bundle.

Modulsystem: CJS und ESM​

Das Paket setzt kein "type": "module"; .js-Dateien gelten standardmäßig als CommonJS. Die exports-Zuordnung in package.json verweist für import und require ausdrücklich auf den passenden Build.

EinstiegCJS (require)ESM (import)Typen
Haupteinstiegdist/index.jsdist/index.mjsdist/index.d.ts
Kern-Unterpfaddist/core.jsdist/core.mjsdist/core.d.ts

CommonJS (Node.js oder Electron-Hauptprozess)​

// Full library (includes file IO)
const { setConfigValue, readConfigFile } = require("@powerduck/conf-patch");

// Core layer only (browser-safe, no fs dependency)
const { patchContent, setContentValue } = require("@powerduck/conf-patch/core");

ES Modules (modernes Node.js, Browser und Bundler)​

// Full library
import { setConfigValue, readConfigFile } from "@powerduck/conf-patch";

// Core layer only (browser-safe)
import { patchContent, setContentValue } from "@powerduck/conf-patch/core";

Installation prüfen​

# Check the installed version
npm list @powerduck/conf-patch

# Verify the main entry loads
node -e "const lib = require('@powerduck/conf-patch'); console.log('exports:', Object.keys(lib).length);"

# Verify the core subpath loads
node -e "const core = require('@powerduck/conf-patch/core'); console.log('core exports:', Object.keys(core).length);"

Nächste Schritte​

  • Schnellstart — ändere einen String im Browser und eine Datei auf dem Datenträger.
  • API-Referenz — alle Exporte, Typen und Optionen.