Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

184
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda