Saltar al contenido principal

Instalación

Instala @powerduck/conf-patch con tu gestor de paquetes preferido.

Requisitos​

  • Node.js: >= 22.12.0
  • TypeScript: opcional; el paquete incluye todas las declaraciones de tipos, sin necesidad de @types/....

Instalación​

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

Dependencias de ejecución​

conf-patch incluye tres dependencias de ejecución que se instalan automáticamente:

PaqueteVersiónUso
@powerduck/openapi-parser^0.3.12Validación OpenAPI/Swagger (validateOpenAPISpec, validateOpenAPIFile).
jsonc-parser^3.3.1Ediciones incrementales de texto en JSON y JSONC.
yaml^2.9.0Análisis y modificación del AST de YAML.

No necesitas utilizar estas dependencias directamente.

Dos puntos de entrada​

El paquete ofrece dos exportaciones de subrutas. Elige según tu entorno.

Entrada principal — @powerduck/conf-patch​

Incluye la capa de archivos (readConfigFile, writeConfigFile, patchConfigFile, setConfigValue, deleteConfigValue, withFileLock, releaseAllLocalLocks), la capa de núcleo y la validación OpenAPI. Úsala en Node.js y Electron. Depende de node:fs, node:path y node:crypto.

Subruta del núcleo — @powerduck/conf-patch/core​

Exporta solo el núcleo compatible con navegadores: patchContent, setContentValue, deleteContentValue, utilidades de aserción y tipos del núcleo. No depende de Node.js y puede empaquetarse para navegadores, Edge Functions y service workers.

consejo

Para el navegador, importa siempre desde @powerduck/conf-patch/core. Así evitas incluir la capa de archivos y node:fs en el bundle.

Sistema de módulos: CJS y ESM​

El paquete no declara "type": "module", por lo que los archivos .js son CommonJS de forma predeterminada. El mapa exports de package.json dirige explícitamente las condiciones import y require a la compilación correcta.

EntradaCJS (require)ESM (import)Tipos
Entrada principaldist/index.jsdist/index.mjsdist/index.d.ts
Subruta del núcleodist/core.jsdist/core.mjsdist/core.d.ts

CommonJS (Node.js o proceso principal de 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, navegadores y empaquetadores)​

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

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

Verificar la instalación​

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

Siguientes pasos​