2025-12-16 03:43:54 +01:00

53 lines
1.1 KiB
JavaScript

const fs = require("node:fs")
const path = require("node:path")
function getRecursiveFiles(dir) {
let results = []
if (!fs.existsSync(dir)) {
return results
}
const list = fs.readdirSync(dir)
for (const file of list) {
const fullPath = path.join(dir, file)
const stat = fs.statSync(fullPath)
if (stat && stat.isDirectory()) {
results = results.concat(getRecursiveFiles(fullPath))
} else {
if (fullPath.endsWith(".js")) {
results.push(fullPath)
}
}
}
return results
}
function computeRoutePath(baseDir, filePath) {
const relativePath = path.relative(baseDir, filePath)
const normalizedPath = relativePath.replace(/\\/g, "/")
let route = "/" + normalizedPath
if (route.endsWith("index.js")) {
route = route.replace("index.js", "")
} else {
route = route.replace(".js", "")
}
route = route.replace(/\/{2,}/g, "/")
if (route.length > 1 && route.endsWith('/')) {
route = route.slice(0, -1)
}
return route
}
module.exports = {
getRecursiveFiles,
computeRoutePath
}