Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

183
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!