Proyectos de Subversion LeadersLinked - SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
2680 stevensc 1
const fs = require('fs')
2
const path = require('path')
3
 
4
const toKebabCase = (str) => {
5
  return str
6
    .replace(/([a-z])([A-Z])/g, '$1-$2') // Convierte camelCase a camel-case
7
    .replace(/[\s_]+/g, '-') // Convierte espacios y guiones bajos a guiones
8
    .toLowerCase()
9
}
10
 
11
const renameFilesInDirectory = (dir) => {
12
  fs.readdir(dir, (err, files) => {
13
    if (err) {
14
      return console.error(`No se pudo leer el directorio: ${err.message}`)
15
    }
16
 
17
    files.forEach((file) => {
18
      const oldPath = path.join(dir, file)
19
      fs.stat(oldPath, (err, stats) => {
20
        if (err) {
21
          return console.error(
22
            `No se pudo obtener la información del archivo: ${err.message}`
23
          )
24
        }
25
 
26
        if (stats.isDirectory()) {
27
          // Recursivamente renombrar archivos en subdirectorios
28
          renameFilesInDirectory(oldPath)
29
        } else {
30
          const newPath = path.join(dir, toKebabCase(file))
31
          fs.rename(oldPath, newPath, (err) => {
32
            if (err) {
33
              return console.error(
34
                `No se pudo renombrar el archivo ${file}: ${err.message}`
35
              )
36
            }
37
            console.log(`Renombrado: ${file} -> ${path.basename(newPath)}`)
38
          })
39
        }
40
      })
41
    })
42
  })
43
}
44
 
45
// Cambia '/ruta/al/directorio' por el directorio que quieres procesar.
2781 stevensc 46
const directoryPath = './app/pages/account-settings/'
2680 stevensc 47
 
48
renameFilesInDirectory(directoryPath)