/home/techb158/balavpn.abdallabala.com/node_modules/next/dist/esm/lib
NameSizeModeActions
eslint/-0777rm
framework/-0777rm
fs/-0777rm
helpers/-0777rm
memory/-0777rm
metadata/-0777rm
typescript/-0777rm
batcher.js20580666editdlrm
batcher.js.map42230666editdlrm
build-custom-route.js9030666editdlrm
build-custom-route.js.map24250666editdlrm
client-and-server-references.js6940666editdlrm
client-and-server-references.js.map16700666editdlrm
coalesced-function.js8680666editdlrm
coalesced-function.js.map20030666editdlrm
compile-error.js860666editdlrm
compile-error.js.map2160666editdlrm
constants.js83860666editdlrm
constants.js.map135700666editdlrm
create-client-router-filter.js21660666editdlrm
create-client-router-filter.js.map40100666editdlrm
default-transpiled-packages.json100666editdlrm
detached-promise.js6790666editdlrm
detached-promise.js.map12830666editdlrm
detect-typo.js13190666editdlrm
detect-typo.js.map27740666editdlrm
download-swc.js48300666editdlrm
download-swc.js.map82020666editdlrm
error-telemetry-utils.js13910666editdlrm
error-telemetry-utils.js.map23800666editdlrm
fallback.js29330666editdlrm
fallback.js.map38460666editdlrm
fatal-error.js820666editdlrm
fatal-error.js.map2100666editdlrm
file-exists.js8140666editdlrm
file-exists.js.map14470666editdlrm
find-config.js29380666editdlrm
find-config.js.map50320666editdlrm
find-pages-dir.js8810666editdlrm
find-pages-dir.js.map15600666editdlrm
find-root.js25100666editdlrm
find-root.js.map42820666editdlrm
format-cli-help-output.js25780666editdlrm
format-cli-help-output.js.map49000666editdlrm
format-dynamic-import-path.js7060666editdlrm
format-dynamic-import-path.js.map11890666editdlrm
format-server-error.js24070666editdlrm
format-server-error.js.map37500666editdlrm
generate-interception-routes-rewrites.js26510666editdlrm
generate-interception-routes-rewrites.js.map43580666editdlrm
get-files-in-dir.js5100666editdlrm
get-files-in-dir.js.map11780666editdlrm
get-network-host.js10440666editdlrm
get-network-host.js.map19160666editdlrm
get-package-version.js15470666editdlrm
get-package-version.js.map31930666editdlrm
get-project-dir.js14650666editdlrm
get-project-dir.js.map23940666editdlrm
has-necessary-dependencies.js13570666editdlrm
has-necessary-dependencies.js.map37320666editdlrm
import-next-warning.js3220666editdlrm
import-next-warning.js.map5060666editdlrm
inline-static-env.js39780666editdlrm
inline-static-env.js.map71300666editdlrm
install-dependencies.js8860666editdlrm
install-dependencies.js.map19680666editdlrm
interop-default.js1150666editdlrm
interop-default.js.map2930666editdlrm
is-api-route.js1710666editdlrm
is-api-route.js.map3630666editdlrm
is-app-page-route.js1240666editdlrm
is-app-page-route.js.map3160666editdlrm
is-app-route-route.js1270666editdlrm
is-app-route-route.js.map3220666editdlrm
is-edge-runtime.js2180666editdlrm
is-edge-runtime.js.map5710666editdlrm
is-error.js19320666editdlrm
is-error.js.map28310666editdlrm
is-internal-component.js3870666editdlrm
is-internal-component.js.map6980666editdlrm
is-serializable-props.js41650666editdlrm
is-serializable-props.js.map64740666editdlrm
known-edge-safe-packages.json180666editdlrm
load-custom-routes.js221900666editdlrm
load-custom-routes.js.map386290666editdlrm
mime-type.js2240666editdlrm
mime-type.js.map4480666editdlrm
mkcert.js60370666editdlrm
mkcert.js.map96840666editdlrm
multi-file-writer.js24190666editdlrm
multi-file-writer.js.map42030666editdlrm
needs-experimental-react.js2580666editdlrm
needs-experimental-react.js.map6800666editdlrm
non-nullable.js1300666editdlrm
non-nullable.js.map3350666editdlrm
normalize-path.js1720666editdlrm
normalize-path.js.map4260666editdlrm
oxford-comma-list.js2330666editdlrm
oxford-comma-list.js.map7010666editdlrm
page-types.js2290666editdlrm
page-types.js.map2620666editdlrm
patch-incorrect-lockfile.js53600666editdlrm
patch-incorrect-lockfile.js.map92290666editdlrm
pick.js1780666editdlrm
pick.js.map4960666editdlrm
picocolors.js33720666editdlrm
picocolors.js.map60240666editdlrm
pretty-bytes.js28640666editdlrm
pretty-bytes.js.map41280666editdlrm
realpath.js5090666editdlrm
realpath.js.map8370666editdlrm
recursive-copy.js23780666editdlrm
recursive-copy.js.map44830666editdlrm
recursive-delete.js22260666editdlrm
recursive-delete.js.map41960666editdlrm
recursive-readdir.js52300666editdlrm
recursive-readdir.js.map84950666editdlrm
redirect-status.js8340666editdlrm
redirect-status.js.map17850666editdlrm
require-instrumentation-client.js12780666editdlrm
require-instrumentation-client.js.map19470666editdlrm
resolve-from.js16890666editdlrm
resolve-from.js.map26450666editdlrm
route-pattern-normalizer.js44320666editdlrm
route-pattern-normalizer.js.map65670666editdlrm
scheduler.js23320666editdlrm
scheduler.js.map34640666editdlrm
semver-noop.js2710666editdlrm
semver-noop.js.map4360666editdlrm
server-external-packages.json12810666editdlrm
setup-exception-listeners.js2780666editdlrm
setup-exception-listeners.js.map5900666editdlrm
static-env.js21120666editdlrm
static-env.js.map37930666editdlrm
try-to-parse-path.js24520666editdlrm
try-to-parse-path.js.map44780666editdlrm
turbopack-warning.js69480666editdlrm
turbopack-warning.js.map116590666editdlrm
url.js13220666editdlrm
url.js.map28840666editdlrm
verify-partytown-setup.js28420666editdlrm
verify-partytown-setup.js.map50880666editdlrm
verify-root-layout.js37940666editdlrm
verify-root-layout.js.map66280666editdlrm
verify-typescript-setup.js55340666editdlrm
verify-typescript-setup.js.map94220666editdlrm
verifyAndLint.js26940666editdlrm
verifyAndLint.js.map47470666editdlrm
wait.js2480666editdlrm
wait.js.map4780666editdlrm
with-promise-cache.js3800666editdlrm
with-promise-cache.js.map13790666editdlrm
worker.js79810666editdlrm
worker.js.map131850666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/node_modules/next/dist/esm/lib/route-pattern-normalizer.js (4432B)
/** * Route pattern normalization utilities for path-to-regexp compatibility. * * path-to-regexp 6.3.0+ introduced stricter validation that rejects certain * patterns commonly used in Next.js interception routes. This module provides * normalization functions to make Next.js route patterns compatible with the * updated library while preserving all functionality. */ /** * Internal separator used to normalize adjacent parameter patterns. * This unique marker is inserted between adjacent parameters and stripped out * during parameter extraction to avoid conflicts with real URL content. */ const PARAM_SEPARATOR = '_NEXTSEP_'; /** * Detects if a route pattern needs normalization for path-to-regexp compatibility. */ export function hasAdjacentParameterIssues(route) { if (typeof route !== 'string') return false; // Check for interception route markers followed immediately by parameters // Pattern: /(.):param, /(..):param, /(...):param, /(.)(.):param etc. // These patterns cause "Must have text between two parameters" errors if (/\/\(\.{1,3}\):[^/\s]+/.test(route)) { return true; } // Check for basic adjacent parameters without separators // Pattern: :param1:param2 (but not :param* or other URL patterns) if (/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(route)) { return true; } return false; } /** * Normalizes route patterns that have adjacent parameters without text between them. * Inserts a unique separator that can be safely stripped out later. */ export function normalizeAdjacentParameters(route) { let normalized = route; // Handle interception route patterns: (.):param -> (.)_NEXTSEP_:param normalized = normalized.replace(/(\([^)]*\)):([^/\s]+)/g, `$1${PARAM_SEPARATOR}:$2`); // Handle other adjacent parameter patterns: :param1:param2 -> :param1_NEXTSEP_:param2 normalized = normalized.replace(/:([^:/\s)]+)(?=:)/g, `:$1${PARAM_SEPARATOR}`); return normalized; } /** * Normalizes tokens that have repeating modifiers (* or +) but empty prefix and suffix. * * path-to-regexp 6.3.0+ introduced validation that throws: * "Can not repeat without prefix/suffix" * * This occurs when a token has modifier: '*' or '+' with both prefix: '' and suffix: '' */ export function normalizeTokensForRegexp(tokens) { return tokens.map((token)=>{ // Token union type: Token = string | TokenObject // Literal path segments are strings, parameters/wildcards are objects if (typeof token === 'object' && token !== null && // Not all token objects have 'modifier' property (e.g., simple text tokens) 'modifier' in token && // Only repeating modifiers (* or +) cause the validation error // Other modifiers like '?' (optional) are fine (token.modifier === '*' || token.modifier === '+') && // Token objects can have different shapes depending on route pattern 'prefix' in token && 'suffix' in token && // Both prefix and suffix must be empty strings // This is what causes the validation error in path-to-regexp token.prefix === '' && token.suffix === '') { // Add minimal prefix to satisfy path-to-regexp validation // We use '/' as it's the most common path delimiter and won't break route matching // The prefix gets used in regex generation but doesn't affect parameter extraction return { ...token, prefix: '/' }; } return token; }); } /** * Strips normalization separators from extracted route parameters. * Used by both server and client code to clean up parameters after route matching. */ export function stripParameterSeparators(params) { const cleaned = {}; for (const [key, value] of Object.entries(params)){ if (typeof value === 'string') { // Remove the separator if it appears at the start of parameter values cleaned[key] = value.replace(new RegExp(`^${PARAM_SEPARATOR}`), ''); } else if (Array.isArray(value)) { // Handle array parameters (from repeated route segments) cleaned[key] = value.map((item)=>typeof item === 'string' ? item.replace(new RegExp(`^${PARAM_SEPARATOR}`), '') : item); } else { cleaned[key] = value; } } return cleaned; } //# sourceMappingURL=route-pattern-normalizer.js.map