/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
esm
/
lib
/
/opt/canhelp/node_modules/next/dist/esm/lib
mkdir
upload
Name
Size
Mode
Actions
eslint/
-
0755
rm
framework/
-
0755
rm
fs/
-
0755
rm
helpers/
-
0755
rm
memory/
-
0755
rm
metadata/
-
0755
rm
typescript/
-
0755
rm
batcher.js
2058
0644
edit
dl
rm
batcher.js.map
4223
0644
edit
dl
rm
build-custom-route.js
903
0644
edit
dl
rm
build-custom-route.js.map
2425
0644
edit
dl
rm
client-and-server-references.js
694
0644
edit
dl
rm
client-and-server-references.js.map
1670
0644
edit
dl
rm
coalesced-function.js
868
0644
edit
dl
rm
coalesced-function.js.map
2003
0644
edit
dl
rm
compile-error.js
86
0644
edit
dl
rm
compile-error.js.map
216
0644
edit
dl
rm
constants.js
8386
0644
edit
dl
rm
constants.js.map
13570
0644
edit
dl
rm
create-client-router-filter.js
2166
0644
edit
dl
rm
create-client-router-filter.js.map
4010
0644
edit
dl
rm
default-transpiled-packages.json
10
0644
edit
dl
rm
detached-promise.js
679
0644
edit
dl
rm
detached-promise.js.map
1283
0644
edit
dl
rm
detect-typo.js
1319
0644
edit
dl
rm
detect-typo.js.map
2774
0644
edit
dl
rm
download-swc.js
4830
0644
edit
dl
rm
download-swc.js.map
8202
0644
edit
dl
rm
error-telemetry-utils.js
1391
0644
edit
dl
rm
error-telemetry-utils.js.map
2380
0644
edit
dl
rm
fallback.js
2933
0644
edit
dl
rm
fallback.js.map
3846
0644
edit
dl
rm
fatal-error.js
82
0644
edit
dl
rm
fatal-error.js.map
210
0644
edit
dl
rm
file-exists.js
814
0644
edit
dl
rm
file-exists.js.map
1447
0644
edit
dl
rm
find-config.js
2938
0644
edit
dl
rm
find-config.js.map
5032
0644
edit
dl
rm
find-pages-dir.js
881
0644
edit
dl
rm
find-pages-dir.js.map
1560
0644
edit
dl
rm
find-root.js
2510
0644
edit
dl
rm
find-root.js.map
4282
0644
edit
dl
rm
format-cli-help-output.js
2578
0644
edit
dl
rm
format-cli-help-output.js.map
4900
0644
edit
dl
rm
format-dynamic-import-path.js
706
0644
edit
dl
rm
format-dynamic-import-path.js.map
1189
0644
edit
dl
rm
format-server-error.js
2407
0644
edit
dl
rm
format-server-error.js.map
3750
0644
edit
dl
rm
generate-interception-routes-rewrites.js
2651
0644
edit
dl
rm
generate-interception-routes-rewrites.js.map
4358
0644
edit
dl
rm
get-files-in-dir.js
510
0644
edit
dl
rm
get-files-in-dir.js.map
1178
0644
edit
dl
rm
get-network-host.js
1044
0644
edit
dl
rm
get-network-host.js.map
1916
0644
edit
dl
rm
get-package-version.js
1547
0644
edit
dl
rm
get-package-version.js.map
3193
0644
edit
dl
rm
get-project-dir.js
1465
0644
edit
dl
rm
get-project-dir.js.map
2394
0644
edit
dl
rm
has-necessary-dependencies.js
1357
0644
edit
dl
rm
has-necessary-dependencies.js.map
3732
0644
edit
dl
rm
import-next-warning.js
322
0644
edit
dl
rm
import-next-warning.js.map
506
0644
edit
dl
rm
inline-static-env.js
3978
0644
edit
dl
rm
inline-static-env.js.map
7130
0644
edit
dl
rm
install-dependencies.js
886
0644
edit
dl
rm
install-dependencies.js.map
1968
0644
edit
dl
rm
interop-default.js
115
0644
edit
dl
rm
interop-default.js.map
293
0644
edit
dl
rm
is-api-route.js
171
0644
edit
dl
rm
is-api-route.js.map
363
0644
edit
dl
rm
is-app-page-route.js
124
0644
edit
dl
rm
is-app-page-route.js.map
316
0644
edit
dl
rm
is-app-route-route.js
127
0644
edit
dl
rm
is-app-route-route.js.map
322
0644
edit
dl
rm
is-edge-runtime.js
218
0644
edit
dl
rm
is-edge-runtime.js.map
571
0644
edit
dl
rm
is-error.js
1932
0644
edit
dl
rm
is-error.js.map
2831
0644
edit
dl
rm
is-internal-component.js
387
0644
edit
dl
rm
is-internal-component.js.map
698
0644
edit
dl
rm
is-serializable-props.js
4165
0644
edit
dl
rm
is-serializable-props.js.map
6474
0644
edit
dl
rm
known-edge-safe-packages.json
18
0644
edit
dl
rm
load-custom-routes.js
22190
0644
edit
dl
rm
load-custom-routes.js.map
38629
0644
edit
dl
rm
mime-type.js
224
0644
edit
dl
rm
mime-type.js.map
448
0644
edit
dl
rm
mkcert.js
6037
0644
edit
dl
rm
mkcert.js.map
9684
0644
edit
dl
rm
multi-file-writer.js
2419
0644
edit
dl
rm
multi-file-writer.js.map
4203
0644
edit
dl
rm
needs-experimental-react.js
258
0644
edit
dl
rm
needs-experimental-react.js.map
680
0644
edit
dl
rm
non-nullable.js
130
0644
edit
dl
rm
non-nullable.js.map
335
0644
edit
dl
rm
normalize-path.js
172
0644
edit
dl
rm
normalize-path.js.map
426
0644
edit
dl
rm
oxford-comma-list.js
233
0644
edit
dl
rm
oxford-comma-list.js.map
701
0644
edit
dl
rm
page-types.js
229
0644
edit
dl
rm
page-types.js.map
262
0644
edit
dl
rm
patch-incorrect-lockfile.js
5360
0644
edit
dl
rm
patch-incorrect-lockfile.js.map
9229
0644
edit
dl
rm
pick.js
178
0644
edit
dl
rm
pick.js.map
496
0644
edit
dl
rm
picocolors.js
3372
0644
edit
dl
rm
picocolors.js.map
6024
0644
edit
dl
rm
pretty-bytes.js
2864
0644
edit
dl
rm
pretty-bytes.js.map
4128
0644
edit
dl
rm
realpath.js
509
0644
edit
dl
rm
realpath.js.map
837
0644
edit
dl
rm
recursive-copy.js
2378
0644
edit
dl
rm
recursive-copy.js.map
4483
0644
edit
dl
rm
recursive-delete.js
2226
0644
edit
dl
rm
recursive-delete.js.map
4196
0644
edit
dl
rm
recursive-readdir.js
5230
0644
edit
dl
rm
recursive-readdir.js.map
8495
0644
edit
dl
rm
redirect-status.js
834
0644
edit
dl
rm
redirect-status.js.map
1785
0644
edit
dl
rm
require-instrumentation-client.js
1278
0644
edit
dl
rm
require-instrumentation-client.js.map
1947
0644
edit
dl
rm
resolve-from.js
1689
0644
edit
dl
rm
resolve-from.js.map
2645
0644
edit
dl
rm
route-pattern-normalizer.js
4432
0644
edit
dl
rm
route-pattern-normalizer.js.map
6567
0644
edit
dl
rm
scheduler.js
2332
0644
edit
dl
rm
scheduler.js.map
3464
0644
edit
dl
rm
semver-noop.js
271
0644
edit
dl
rm
semver-noop.js.map
436
0644
edit
dl
rm
server-external-packages.json
1281
0644
edit
dl
rm
setup-exception-listeners.js
278
0644
edit
dl
rm
setup-exception-listeners.js.map
590
0644
edit
dl
rm
static-env.js
2112
0644
edit
dl
rm
static-env.js.map
3793
0644
edit
dl
rm
try-to-parse-path.js
2452
0644
edit
dl
rm
try-to-parse-path.js.map
4478
0644
edit
dl
rm
turbopack-warning.js
6948
0644
edit
dl
rm
turbopack-warning.js.map
11659
0644
edit
dl
rm
url.js
1322
0644
edit
dl
rm
url.js.map
2884
0644
edit
dl
rm
verify-partytown-setup.js
2842
0644
edit
dl
rm
verify-partytown-setup.js.map
5088
0644
edit
dl
rm
verify-root-layout.js
3794
0644
edit
dl
rm
verify-root-layout.js.map
6628
0644
edit
dl
rm
verify-typescript-setup.js
5282
0644
edit
dl
rm
verify-typescript-setup.js.map
9011
0644
edit
dl
rm
verifyAndLint.js
2694
0644
edit
dl
rm
verifyAndLint.js.map
4747
0644
edit
dl
rm
wait.js
248
0644
edit
dl
rm
wait.js.map
478
0644
edit
dl
rm
with-promise-cache.js
380
0644
edit
dl
rm
with-promise-cache.js.map
1379
0644
edit
dl
rm
worker.js
7981
0644
edit
dl
rm
worker.js.map
13185
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/esm/lib/route-pattern-normalizer.js.map
(6567B)
{"version":3,"sources":["../../src/lib/route-pattern-normalizer.ts"],"sourcesContent":["import type { Token } from 'next/dist/compiled/path-to-regexp'\n\n/**\n * Route pattern normalization utilities for path-to-regexp compatibility.\n *\n * path-to-regexp 6.3.0+ introduced stricter validation that rejects certain\n * patterns commonly used in Next.js interception routes. This module provides\n * normalization functions to make Next.js route patterns compatible with the\n * updated library while preserving all functionality.\n */\n\n/**\n * Internal separator used to normalize adjacent parameter patterns.\n * This unique marker is inserted between adjacent parameters and stripped out\n * during parameter extraction to avoid conflicts with real URL content.\n */\nconst PARAM_SEPARATOR = '_NEXTSEP_'\n\n/**\n * Detects if a route pattern needs normalization for path-to-regexp compatibility.\n */\nexport function hasAdjacentParameterIssues(route: string): boolean {\n if (typeof route !== 'string') return false\n\n // Check for interception route markers followed immediately by parameters\n // Pattern: /(.):param, /(..):param, /(...):param, /(.)(.):param etc.\n // These patterns cause \"Must have text between two parameters\" errors\n if (/\\/\\(\\.{1,3}\\):[^/\\s]+/.test(route)) {\n return true\n }\n\n // Check for basic adjacent parameters without separators\n // Pattern: :param1:param2 (but not :param* or other URL patterns)\n if (/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(route)) {\n return true\n }\n\n return false\n}\n\n/**\n * Normalizes route patterns that have adjacent parameters without text between them.\n * Inserts a unique separator that can be safely stripped out later.\n */\nexport function normalizeAdjacentParameters(route: string): string {\n let normalized = route\n\n // Handle interception route patterns: (.):param -> (.)_NEXTSEP_:param\n normalized = normalized.replace(\n /(\\([^)]*\\)):([^/\\s]+)/g,\n `$1${PARAM_SEPARATOR}:$2`\n )\n\n // Handle other adjacent parameter patterns: :param1:param2 -> :param1_NEXTSEP_:param2\n normalized = normalized.replace(/:([^:/\\s)]+)(?=:)/g, `:$1${PARAM_SEPARATOR}`)\n\n return normalized\n}\n\n/**\n * Normalizes tokens that have repeating modifiers (* or +) but empty prefix and suffix.\n *\n * path-to-regexp 6.3.0+ introduced validation that throws:\n * \"Can not repeat without prefix/suffix\"\n *\n * This occurs when a token has modifier: '*' or '+' with both prefix: '' and suffix: ''\n */\nexport function normalizeTokensForRegexp(tokens: Token[]): Token[] {\n return tokens.map((token) => {\n // Token union type: Token = string | TokenObject\n // Literal path segments are strings, parameters/wildcards are objects\n if (\n typeof token === 'object' &&\n token !== null &&\n // Not all token objects have 'modifier' property (e.g., simple text tokens)\n 'modifier' in token &&\n // Only repeating modifiers (* or +) cause the validation error\n // Other modifiers like '?' (optional) are fine\n (token.modifier === '*' || token.modifier === '+') &&\n // Token objects can have different shapes depending on route pattern\n 'prefix' in token &&\n 'suffix' in token &&\n // Both prefix and suffix must be empty strings\n // This is what causes the validation error in path-to-regexp\n token.prefix === '' &&\n token.suffix === ''\n ) {\n // Add minimal prefix to satisfy path-to-regexp validation\n // We use '/' as it's the most common path delimiter and won't break route matching\n // The prefix gets used in regex generation but doesn't affect parameter extraction\n return {\n ...token,\n prefix: '/',\n }\n }\n return token\n })\n}\n\n/**\n * Strips normalization separators from extracted route parameters.\n * Used by both server and client code to clean up parameters after route matching.\n */\nexport function stripParameterSeparators(\n params: Record<string, any>\n): Record<string, any> {\n const cleaned: Record<string, any> = {}\n\n for (const [key, value] of Object.entries(params)) {\n if (typeof value === 'string') {\n // Remove the separator if it appears at the start of parameter values\n cleaned[key] = value.replace(new RegExp(`^${PARAM_SEPARATOR}`), '')\n } else if (Array.isArray(value)) {\n // Handle array parameters (from repeated route segments)\n cleaned[key] = value.map((item) =>\n typeof item === 'string'\n ? item.replace(new RegExp(`^${PARAM_SEPARATOR}`), '')\n : item\n )\n } else {\n cleaned[key] = value\n }\n }\n\n return cleaned\n}\n"],"names":["PARAM_SEPARATOR","hasAdjacentParameterIssues","route","test","normalizeAdjacentParameters","normalized","replace","normalizeTokensForRegexp","tokens","map","token","modifier","prefix","suffix","stripParameterSeparators","params","cleaned","key","value","Object","entries","RegExp","Array","isArray","item"],"mappings":"AAEA;;;;;;;CAOC,GAED;;;;CAIC,GACD,MAAMA,kBAAkB;AAExB;;CAEC,GACD,OAAO,SAASC,2BAA2BC,KAAa;IACtD,IAAI,OAAOA,UAAU,UAAU,OAAO;IAEtC,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,wBAAwBC,IAAI,CAACD,QAAQ;QACvC,OAAO;IACT;IAEA,yDAAyD;IACzD,kEAAkE;IAClE,IAAI,iDAAiDC,IAAI,CAACD,QAAQ;QAChE,OAAO;IACT;IAEA,OAAO;AACT;AAEA;;;CAGC,GACD,OAAO,SAASE,4BAA4BF,KAAa;IACvD,IAAIG,aAAaH;IAEjB,sEAAsE;IACtEG,aAAaA,WAAWC,OAAO,CAC7B,0BACA,CAAC,EAAE,EAAEN,gBAAgB,GAAG,CAAC;IAG3B,sFAAsF;IACtFK,aAAaA,WAAWC,OAAO,CAAC,sBAAsB,CAAC,GAAG,EAAEN,iBAAiB;IAE7E,OAAOK;AACT;AAEA;;;;;;;CAOC,GACD,OAAO,SAASE,yBAAyBC,MAAe;IACtD,OAAOA,OAAOC,GAAG,CAAC,CAACC;QACjB,iDAAiD;QACjD,sEAAsE;QACtE,IACE,OAAOA,UAAU,YACjBA,UAAU,QACV,4EAA4E;QAC5E,cAAcA,SACd,+DAA+D;QAC/D,+CAA+C;QAC9CA,CAAAA,MAAMC,QAAQ,KAAK,OAAOD,MAAMC,QAAQ,KAAK,GAAE,KAChD,qEAAqE;QACrE,YAAYD,SACZ,YAAYA,SACZ,+CAA+C;QAC/C,6DAA6D;QAC7DA,MAAME,MAAM,KAAK,MACjBF,MAAMG,MAAM,KAAK,IACjB;YACA,0DAA0D;YAC1D,mFAAmF;YACnF,mFAAmF;YACnF,OAAO;gBACL,GAAGH,KAAK;gBACRE,QAAQ;YACV;QACF;QACA,OAAOF;IACT;AACF;AAEA;;;CAGC,GACD,OAAO,SAASI,yBACdC,MAA2B;IAE3B,MAAMC,UAA+B,CAAC;IAEtC,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIC,OAAOC,OAAO,CAACL,QAAS;QACjD,IAAI,OAAOG,UAAU,UAAU;YAC7B,sEAAsE;YACtEF,OAAO,CAACC,IAAI,GAAGC,MAAMZ,OAAO,CAAC,IAAIe,OAAO,CAAC,CAAC,EAAErB,iBAAiB,GAAG;QAClE,OAAO,IAAIsB,MAAMC,OAAO,CAACL,QAAQ;YAC/B,yDAAyD;YACzDF,OAAO,CAACC,IAAI,GAAGC,MAAMT,GAAG,CAAC,CAACe,OACxB,OAAOA,SAAS,WACZA,KAAKlB,OAAO,CAAC,IAAIe,OAAO,CAAC,CAAC,EAAErB,iBAAiB,GAAG,MAChDwB;QAER,OAAO;YACLR,OAAO,CAACC,IAAI,GAAGC;QACjB;IACF;IAEA,OAAOF;AACT","ignoreList":[0]}
Save
cmd:
run