Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

188
Vistas
Reglas básicas de bifurcación de eslint

Quiero hacer algunas modificaciones menores a las reglas básicas de eslint, por ejemplo, array-bracket-newline o indent . Estas reglas a menudo dependen de las utilidades dentro de eslint , más comúnmente ast-utils . Hasta ahora, usé un complemento, agregué las reglas modificadas allí e hice un require('eslint/lib/rules/utils/ast-utils') , ya que eslint es una dependencia de pares de todos modos.

Desde https://github.com/eslint/eslint/commit/24c9f2ac57efcd699ca69695c82e51ce5742df7b , esto ya no es posible, ya que se agregó una directiva de exports al package.json . ¿Cuál es el método habitual para cambiar el comportamiento de las reglas básicas de eslint hoy en día?

  • sería posible copiar todas las dependencias, pero sería tedioso y duplicar el código sin ningún motivo (tendría que rastrear todas las dependencias y extraer fragmentos del código de eslint).
  • bifurcar eslint en su conjunto parece sucio, ya que hay muchas otras partes que dependen de él (desde los complementos de eslint, hasta las extensiones de vscode, yarn sdks, ...). Habría que cambiar cada uno, o usar algún cambio de nombre muy sucio, en el que el tenedor finge ser el original (accidente a punto de ocurrir).
  • paquete de hilo parchear las exports parece muy sucio.

¿Hay alguna manera limpia?


Editar: mi mejor idea actual es bifurcar eslint , eliminar las exports y luego usar require('eslint-fork/lib/rules/utils/ast-utils') en la bifurcación. Esto significa que necesito una copia extra de eslint sin ninguna razón real, pero es para limpiar, y un poco de espacio en disco no es importante.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Es posible solicitar archivos no exportados por su ruta completa, es decir:

 const { dirname, join } = require('path'); const astUtilsPath = join(dirname(require.resolve('eslint')), 'rules/utils/ast-utils.js'); const astUtils = require(astUtilsPath);

Tenga en cuenta que este método se basa en que la exportación principal se encuentra en una carpeta de paquete particular ('lib' en el caso de eslint).

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda