UNPKG

@modern-js/utils

Version:

A Progressive React Framework for modern web development.

109 lines (108 loc) 4.27 kB
"use strict"; var __webpack_require__ = {}; (()=>{ __webpack_require__.n = (module)=>{ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module; __webpack_require__.d(getter, { a: getter }); return getter; }; })(); (()=>{ __webpack_require__.d = (exports1, getters, values)=>{ var define = (defs, kind)=>{ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, { enumerable: true, [kind]: defs[key] }); }; define(getters, "get"); define(values, "value"); }; })(); (()=>{ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop); })(); (()=>{ __webpack_require__.r = (exports1)=>{ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, { value: 'Module' }); Object.defineProperty(exports1, '__esModule', { value: true }); }; })(); var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { collectRouteComponentFiles: ()=>collectRouteComponentFiles, normalizeModulePath: ()=>normalizeModulePath }); const external_node_fs_namespaceObject = require("node:fs"); var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject); const external_node_path_namespaceObject = require("node:path"); var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject); const RESOLVE_EXTENSIONS = [ '.tsx', '.ts', '.jsx', '.js', '.mjs', '.cjs' ]; function normalizeModulePath(filePath) { const absolute = external_node_path_default().resolve(filePath); let real = absolute; try { real = external_node_fs_default().realpathSync.native(absolute); } catch {} return real.split(external_node_path_default().sep).join('/'); } function resolveRouteComponentFile(component, srcDirectory, srcAlias) { const normalizedAlias = srcAlias.replace(/[\\/]+$/, ''); let candidate; if (component === normalizedAlias || component.startsWith(`${normalizedAlias}/`)) { const relative = component.slice(normalizedAlias.length).replace(/^\/+/, ''); candidate = external_node_path_default().resolve(srcDirectory, relative); } else { if (!external_node_path_default().isAbsolute(component)) return; candidate = external_node_path_default().resolve(component); } if (external_node_path_default().extname(candidate) && external_node_fs_default().existsSync(candidate)) return normalizeModulePath(candidate); for (const ext of RESOLVE_EXTENSIONS)if (external_node_fs_default().existsSync(candidate + ext)) return normalizeModulePath(candidate + ext); for (const ext of RESOLVE_EXTENSIONS){ const indexFile = external_node_path_default().join(candidate, `index${ext}`); if (external_node_fs_default().existsSync(indexFile)) return normalizeModulePath(indexFile); } } function collectRouteComponentFiles(routes, srcDirectory, srcAlias) { const resolvedFiles = new Set(); const unresolvedSpecifiers = []; const walk = (list)=>{ if (!Array.isArray(list)) return; for (const route of list){ if (route._component) { const file = resolveRouteComponentFile(route._component, srcDirectory, srcAlias); if (file) resolvedFiles.add(file); else unresolvedSpecifiers.push(route._component); } walk(route.children); } }; walk(routes); return { resolvedFiles, unresolvedSpecifiers }; } exports.collectRouteComponentFiles = __webpack_exports__.collectRouteComponentFiles; exports.normalizeModulePath = __webpack_exports__.normalizeModulePath; for(var __rspack_i in __webpack_exports__)if (-1 === [ "collectRouteComponentFiles", "normalizeModulePath" ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i]; Object.defineProperty(exports, '__esModule', { value: true });