Me gustaría agregar la extensión .js a todas las declaraciones de importación donde la ruta del archivo que se importará comienza con un . . Por ejemplo:
import { LocalConf } from "./database/LocalConf"; import * as mariadb from "mariadb"; import { Errors } from "./util/Errors";se transforma en
import { LocalConf } from "./database/LocalConf.js"; import * as mariadb from "mariadb"; import { Errors } from "./util/Errors.js";Este es el comando js que estoy ejecutando:
let newData = data.replace(/(import .*? from\s+['"])(\..*?[^\.js])(?=['"])/g, '$1$2.js') Desafortunadamente [^\.js] coincide con un solo carácter y no con una cadena .js . por eso,
import { Errors } from "./util/Errors"; nunca se agrega .js .
¿Cómo puedo hacer coincidir la cadena .js en lugar de solo caracteres individuales?
¿Podrías hacer algo como esto?
function addExtension(path) { if (path.contains('from "./')) { return path + ".js"; } return path; }