Passa al contenuto principale

Installazione

Installa @powerduck/conf-patch con il gestore di pacchetti che preferisci.

Requisiti​

  • Node.js: >= 22.12.0
  • TypeScript: facoltativo; il pacchetto include tutte le dichiarazioni dei tipi, senza richiedere @types/....

Installazione​

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

Dipendenze di runtime​

conf-patch include tre dipendenze di runtime, installate automaticamente:

PacchettoVersioneUso
@powerduck/openapi-parser^0.3.12Validazione OpenAPI/Swagger (validateOpenAPISpec, validateOpenAPIFile).
jsonc-parser^3.3.1Modifiche incrementali al testo JSON e JSONC.
yaml^2.9.0Analisi e modifica dell’AST YAML.

Non devi usare direttamente queste dipendenze.

Due punti di ingresso​

Il pacchetto espone due esportazioni di sottopercorsi. Scegli quella adatta all’ambiente.

Voce principale — @powerduck/conf-patch​

Include il livello file (readConfigFile, writeConfigFile, patchConfigFile, setConfigValue, deleteConfigValue, withFileLock, releaseAllLocalLocks), il nucleo e la validazione OpenAPI. Usala in Node.js ed Electron. Dipende da node:fs, node:path e node:crypto.

Sottopercorso del nucleo — @powerduck/conf-patch/core​

Esporta solo il nucleo compatibile con il browser: patchContent, setContentValue, deleteContentValue, helper di asserzione e tipi del nucleo. Non dipende da Node.js e può essere incluso nei bundle per browser, Edge Functions e service worker.

suggerimento

Per il browser, importa sempre da @powerduck/conf-patch/core. In questo modo il livello file e la dipendenza node:fs restano fuori dal bundle.

Sistema di moduli: CJS ed ESM​

Il pacchetto non imposta "type": "module", quindi i file .js sono trattati come CommonJS. La mappa exports in package.json indirizza esplicitamente import e require alla build corretta.

VoceCJS (require)ESM (import)Tipi
Voce principaledist/index.jsdist/index.mjsdist/index.d.ts
Sottopercorso del nucleodist/core.jsdist/core.mjsdist/core.d.ts

CommonJS (Node.js o processo principale di Electron)​

// 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 (Node.js moderno, browser e bundler)​

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

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

Verificare l’installazione​

# 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);"

Passaggi successivi​

  • Guida rapida — modifica una stringa nel browser e un file sul disco.
  • Riferimento API — tutte le esportazioni, i tipi e le opzioni.