feat(blog): add file-based blog with dynamic slugs, MDX content and layout shell
- Introduced blog routing using Next.js App Router - Implemented dynamic [slug] pages for blog posts - Added MDX-based content loading via lib/posts - Integrated shared TopBar layout with navigation - Established clear content, lib and component separation
This commit is contained in:
1
apps/public-web/node_modules/next/dist/cli/internal/turbo-trace-server.d.ts
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/internal/turbo-trace-server.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function startTurboTraceServerCli(file: string, port: number | undefined): Promise<void>;
|
||||
17
apps/public-web/node_modules/next/dist/cli/internal/turbo-trace-server.js
generated
vendored
Normal file
17
apps/public-web/node_modules/next/dist/cli/internal/turbo-trace-server.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "startTurboTraceServerCli", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return startTurboTraceServerCli;
|
||||
}
|
||||
});
|
||||
const _swc = require("../../build/swc");
|
||||
async function startTurboTraceServerCli(file, port) {
|
||||
let bindings = await (0, _swc.loadBindings)();
|
||||
bindings.turbo.startTurbopackTraceServer(file, port);
|
||||
}
|
||||
|
||||
//# sourceMappingURL=turbo-trace-server.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/internal/turbo-trace-server.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/internal/turbo-trace-server.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/cli/internal/turbo-trace-server.ts"],"sourcesContent":["import { loadBindings } from '../../build/swc'\n\nexport async function startTurboTraceServerCli(\n file: string,\n port: number | undefined\n) {\n let bindings = await loadBindings()\n bindings.turbo.startTurbopackTraceServer(file, port)\n}\n"],"names":["startTurboTraceServerCli","file","port","bindings","loadBindings","turbo","startTurbopackTraceServer"],"mappings":";;;;+BAEsBA;;;eAAAA;;;qBAFO;AAEtB,eAAeA,yBACpBC,IAAY,EACZC,IAAwB;IAExB,IAAIC,WAAW,MAAMC,IAAAA,iBAAY;IACjCD,SAASE,KAAK,CAACC,yBAAyB,CAACL,MAAMC;AACjD","ignoreList":[0]}
|
||||
12
apps/public-web/node_modules/next/dist/cli/next-analyze.d.ts
generated
vendored
Normal file
12
apps/public-web/node_modules/next/dist/cli/next-analyze.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env node
|
||||
import '../server/lib/cpu-profile';
|
||||
export type NextAnalyzeOptions = {
|
||||
experimentalAnalyze?: boolean;
|
||||
profile?: boolean;
|
||||
mangling: boolean;
|
||||
port: number;
|
||||
output: boolean;
|
||||
experimentalAppOnly?: boolean;
|
||||
};
|
||||
declare const nextAnalyze: (options: NextAnalyzeOptions, directory?: string) => Promise<void>;
|
||||
export { nextAnalyze };
|
||||
48
apps/public-web/node_modules/next/dist/cli/next-analyze.js
generated
vendored
Normal file
48
apps/public-web/node_modules/next/dist/cli/next-analyze.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "nextAnalyze", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return nextAnalyze;
|
||||
}
|
||||
});
|
||||
require("../server/lib/cpu-profile");
|
||||
const _fs = require("fs");
|
||||
const _picocolors = require("../lib/picocolors");
|
||||
const _analyze = /*#__PURE__*/ _interop_require_default(require("../build/analyze"));
|
||||
const _log = require("../build/output/log");
|
||||
const _utils = require("../server/lib/utils");
|
||||
const _getprojectdir = require("../lib/get-project-dir");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
const nextAnalyze = async (options, directory)=>{
|
||||
process.on('SIGTERM', ()=>process.exit(143));
|
||||
process.on('SIGINT', ()=>process.exit(130));
|
||||
const { profile, mangling, experimentalAppOnly, output, port } = options;
|
||||
if (!mangling) {
|
||||
(0, _log.warn)(`Mangling is disabled. ${(0, _picocolors.italic)('Note: This may affect performance and should only be used for debugging purposes.')}`);
|
||||
}
|
||||
if (profile) {
|
||||
(0, _log.warn)(`Profiling is enabled. ${(0, _picocolors.italic)('Note: This may affect performance.')}`);
|
||||
}
|
||||
const dir = (0, _getprojectdir.getProjectDir)(directory);
|
||||
if (!(0, _fs.existsSync)(dir)) {
|
||||
(0, _utils.printAndExit)(`> No such directory exists as the project root: ${dir}`);
|
||||
}
|
||||
return (0, _analyze.default)({
|
||||
dir,
|
||||
reactProductionProfiling: profile,
|
||||
noMangling: !mangling,
|
||||
appDirOnly: experimentalAppOnly,
|
||||
output,
|
||||
port
|
||||
});
|
||||
};
|
||||
|
||||
//# sourceMappingURL=next-analyze.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-analyze.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-analyze.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/cli/next-analyze.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport '../server/lib/cpu-profile'\nimport { existsSync } from 'fs'\nimport { italic } from '../lib/picocolors'\nimport analyze from '../build/analyze'\nimport { warn } from '../build/output/log'\nimport { printAndExit } from '../server/lib/utils'\nimport { getProjectDir } from '../lib/get-project-dir'\n\nexport type NextAnalyzeOptions = {\n experimentalAnalyze?: boolean\n profile?: boolean\n mangling: boolean\n port: number\n output: boolean\n experimentalAppOnly?: boolean\n}\n\nconst nextAnalyze = async (options: NextAnalyzeOptions, directory?: string) => {\n process.on('SIGTERM', () => process.exit(143))\n process.on('SIGINT', () => process.exit(130))\n\n const { profile, mangling, experimentalAppOnly, output, port } = options\n\n if (!mangling) {\n warn(\n `Mangling is disabled. ${italic('Note: This may affect performance and should only be used for debugging purposes.')}`\n )\n }\n\n if (profile) {\n warn(\n `Profiling is enabled. ${italic('Note: This may affect performance.')}`\n )\n }\n\n const dir = getProjectDir(directory)\n\n if (!existsSync(dir)) {\n printAndExit(`> No such directory exists as the project root: ${dir}`)\n }\n\n return analyze({\n dir,\n reactProductionProfiling: profile,\n noMangling: !mangling,\n appDirOnly: experimentalAppOnly,\n output,\n port,\n })\n}\n\nexport { nextAnalyze }\n"],"names":["nextAnalyze","options","directory","process","on","exit","profile","mangling","experimentalAppOnly","output","port","warn","italic","dir","getProjectDir","existsSync","printAndExit","analyze","reactProductionProfiling","noMangling","appDirOnly"],"mappings":";;;;;+BAqDSA;;;eAAAA;;;QAnDF;oBACoB;4BACJ;gEACH;qBACC;uBACQ;+BACC;;;;;;AAW9B,MAAMA,cAAc,OAAOC,SAA6BC;IACtDC,QAAQC,EAAE,CAAC,WAAW,IAAMD,QAAQE,IAAI,CAAC;IACzCF,QAAQC,EAAE,CAAC,UAAU,IAAMD,QAAQE,IAAI,CAAC;IAExC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGT;IAEjE,IAAI,CAACM,UAAU;QACbI,IAAAA,SAAI,EACF,CAAC,sBAAsB,EAAEC,IAAAA,kBAAM,EAAC,sFAAsF;IAE1H;IAEA,IAAIN,SAAS;QACXK,IAAAA,SAAI,EACF,CAAC,sBAAsB,EAAEC,IAAAA,kBAAM,EAAC,uCAAuC;IAE3E;IAEA,MAAMC,MAAMC,IAAAA,4BAAa,EAACZ;IAE1B,IAAI,CAACa,IAAAA,cAAU,EAACF,MAAM;QACpBG,IAAAA,mBAAY,EAAC,CAAC,gDAAgD,EAAEH,KAAK;IACvE;IAEA,OAAOI,IAAAA,gBAAO,EAAC;QACbJ;QACAK,0BAA0BZ;QAC1Ba,YAAY,CAACZ;QACba,YAAYZ;QACZC;QACAC;IACF;AACF","ignoreList":[0]}
|
||||
21
apps/public-web/node_modules/next/dist/cli/next-build.d.ts
generated
vendored
Normal file
21
apps/public-web/node_modules/next/dist/cli/next-build.d.ts
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env node
|
||||
import '../server/lib/cpu-profile';
|
||||
export type NextBuildOptions = {
|
||||
experimentalAnalyze?: boolean;
|
||||
debug?: boolean;
|
||||
debugPrerender?: boolean;
|
||||
profile?: boolean;
|
||||
mangling: boolean;
|
||||
turbo?: boolean;
|
||||
turbopack?: boolean;
|
||||
webpack?: boolean;
|
||||
experimentalDebugMemoryUsage: boolean;
|
||||
experimentalAppOnly?: boolean;
|
||||
experimentalTurbo?: boolean;
|
||||
experimentalBuildMode: 'default' | 'compile' | 'generate' | 'generate-env';
|
||||
experimentalUploadTrace?: string;
|
||||
experimentalNextConfigStripTypes?: boolean;
|
||||
debugBuildPaths?: string;
|
||||
};
|
||||
declare const nextBuild: (options: NextBuildOptions, directory?: string) => Promise<void>;
|
||||
export { nextBuild };
|
||||
92
apps/public-web/node_modules/next/dist/cli/next-build.js
generated
vendored
Normal file
92
apps/public-web/node_modules/next/dist/cli/next-build.js
generated
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "nextBuild", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return nextBuild;
|
||||
}
|
||||
});
|
||||
require("../server/lib/cpu-profile");
|
||||
const _fs = require("fs");
|
||||
const _picocolors = require("../lib/picocolors");
|
||||
const _build = /*#__PURE__*/ _interop_require_default(require("../build"));
|
||||
const _log = require("../build/output/log");
|
||||
const _utils = require("../server/lib/utils");
|
||||
const _iserror = /*#__PURE__*/ _interop_require_default(require("../lib/is-error"));
|
||||
const _getprojectdir = require("../lib/get-project-dir");
|
||||
const _startup = require("../lib/memory/startup");
|
||||
const _shutdown = require("../lib/memory/shutdown");
|
||||
const _bundler = require("../lib/bundler");
|
||||
const _resolvebuildpaths = require("../lib/resolve-build-paths");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
const nextBuild = async (options, directory)=>{
|
||||
process.on('SIGTERM', ()=>process.exit(143));
|
||||
process.on('SIGINT', ()=>process.exit(130));
|
||||
const { experimentalAnalyze, debug, debugPrerender, experimentalDebugMemoryUsage, profile, mangling, experimentalAppOnly, experimentalBuildMode, experimentalUploadTrace, debugBuildPaths } = options;
|
||||
let traceUploadUrl;
|
||||
if (experimentalUploadTrace && !process.env.NEXT_TRACE_UPLOAD_DISABLED) {
|
||||
traceUploadUrl = experimentalUploadTrace;
|
||||
}
|
||||
const bundler = (0, _bundler.parseBundlerArgs)(options);
|
||||
if (experimentalAnalyze && bundler !== _bundler.Bundler.Turbopack) {
|
||||
(0, _utils.printAndExit)('--experimental-analyze is only compatible with the Turbopack bundler.');
|
||||
}
|
||||
if (!mangling) {
|
||||
(0, _log.warn)(`Mangling is disabled. ${(0, _picocolors.italic)('Note: This may affect performance and should only be used for debugging purposes.')}`);
|
||||
}
|
||||
if (profile) {
|
||||
(0, _log.warn)(`Profiling is enabled. ${(0, _picocolors.italic)('Note: This may affect performance.')}`);
|
||||
}
|
||||
if (debugPrerender) {
|
||||
(0, _log.warn)(`Prerendering is running in debug mode. ${(0, _picocolors.italic)('Note: This may affect performance and should not be used for production.')}`);
|
||||
}
|
||||
if (experimentalDebugMemoryUsage) {
|
||||
process.env.EXPERIMENTAL_DEBUG_MEMORY_USAGE = '1';
|
||||
(0, _startup.enableMemoryDebuggingMode)();
|
||||
}
|
||||
const dir = (0, _getprojectdir.getProjectDir)(directory);
|
||||
if (!(0, _fs.existsSync)(dir)) {
|
||||
(0, _utils.printAndExit)(`> No such directory exists as the project root: ${dir}`);
|
||||
}
|
||||
// Resolve selective build paths
|
||||
let resolvedAppPaths;
|
||||
let resolvedPagePaths;
|
||||
if (debugBuildPaths) {
|
||||
try {
|
||||
const patterns = (0, _resolvebuildpaths.parseBuildPathsInput)(debugBuildPaths);
|
||||
if (patterns.length > 0) {
|
||||
const resolved = await (0, _resolvebuildpaths.resolveBuildPaths)(patterns, dir);
|
||||
// Pass empty arrays to indicate "build nothing" vs undefined for "build everything"
|
||||
resolvedAppPaths = resolved.appPaths;
|
||||
resolvedPagePaths = resolved.pagePaths;
|
||||
}
|
||||
} catch (err) {
|
||||
(0, _utils.printAndExit)(`Failed to resolve build paths: ${(0, _iserror.default)(err) ? err.message : String(err)}`);
|
||||
}
|
||||
}
|
||||
return (0, _build.default)(dir, experimentalAnalyze, profile, debug || Boolean(process.env.NEXT_DEBUG_BUILD), debugPrerender, !mangling, experimentalAppOnly, bundler, experimentalBuildMode, traceUploadUrl, resolvedAppPaths, resolvedPagePaths).catch((err)=>{
|
||||
if (experimentalDebugMemoryUsage) {
|
||||
(0, _shutdown.disableMemoryDebuggingMode)();
|
||||
}
|
||||
console.error('');
|
||||
if ((0, _iserror.default)(err) && (err.code === 'INVALID_RESOLVE_ALIAS' || err.code === 'WEBPACK_ERRORS' || err.code === 'BUILD_OPTIMIZATION_FAILED' || err.code === 'NEXT_EXPORT_ERROR' || err.code === 'NEXT_STATIC_GEN_BAILOUT' || err.code === 'EDGE_RUNTIME_UNSUPPORTED_API')) {
|
||||
(0, _utils.printAndExit)(`> ${err.message}`);
|
||||
} else {
|
||||
console.error('> Build error occurred');
|
||||
(0, _utils.printAndExit)(err);
|
||||
}
|
||||
}).finally(()=>{
|
||||
if (experimentalDebugMemoryUsage) {
|
||||
(0, _shutdown.disableMemoryDebuggingMode)();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//# sourceMappingURL=next-build.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-build.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-build.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
21
apps/public-web/node_modules/next/dist/cli/next-dev.d.ts
generated
vendored
Normal file
21
apps/public-web/node_modules/next/dist/cli/next-dev.d.ts
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env node
|
||||
import '../server/lib/cpu-profile';
|
||||
import { type DebugAddress } from '../server/lib/utils';
|
||||
export type NextDevOptions = {
|
||||
disableSourceMaps: boolean;
|
||||
inspect?: DebugAddress | true;
|
||||
turbo?: boolean;
|
||||
turbopack?: boolean;
|
||||
webpack?: boolean;
|
||||
port: number;
|
||||
hostname?: string;
|
||||
experimentalHttps?: boolean;
|
||||
experimentalHttpsKey?: string;
|
||||
experimentalHttpsCert?: string;
|
||||
experimentalHttpsCa?: string;
|
||||
experimentalUploadTrace?: string;
|
||||
experimentalNextConfigStripTypes?: boolean;
|
||||
};
|
||||
type PortSource = 'cli' | 'default' | 'env';
|
||||
declare const nextDev: (options: NextDevOptions, portSource: PortSource, directory?: string) => Promise<void>;
|
||||
export { nextDev };
|
||||
345
apps/public-web/node_modules/next/dist/cli/next-dev.js
generated
vendored
Normal file
345
apps/public-web/node_modules/next/dist/cli/next-dev.js
generated
vendored
Normal file
@@ -0,0 +1,345 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "nextDev", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return nextDev;
|
||||
}
|
||||
});
|
||||
require("../server/lib/cpu-profile");
|
||||
const _utils = require("../server/lib/utils");
|
||||
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../build/output/log"));
|
||||
const _getprojectdir = require("../lib/get-project-dir");
|
||||
const _constants = require("../shared/lib/constants");
|
||||
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
||||
const _shared = require("../trace/shared");
|
||||
const _storage = require("../telemetry/storage");
|
||||
const _config = /*#__PURE__*/ _interop_require_default(require("../server/config"));
|
||||
const _findpagesdir = require("../lib/find-pages-dir");
|
||||
const _fileexists = require("../lib/file-exists");
|
||||
const _getnpxcommand = require("../lib/helpers/get-npx-command");
|
||||
const _mkcert = require("../lib/mkcert");
|
||||
const _uploadtrace = /*#__PURE__*/ _interop_require_default(require("../trace/upload-trace"));
|
||||
const _env = require("@next/env");
|
||||
const _child_process = require("child_process");
|
||||
const _getreservedport = require("../lib/helpers/get-reserved-port");
|
||||
const _os = /*#__PURE__*/ _interop_require_default(require("os"));
|
||||
const _nodeevents = require("node:events");
|
||||
const _timers = require("timers");
|
||||
const _trace = require("../trace");
|
||||
const _bundler = require("../lib/bundler");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function _getRequireWildcardCache(nodeInterop) {
|
||||
if (typeof WeakMap !== "function") return null;
|
||||
var cacheBabelInterop = new WeakMap();
|
||||
var cacheNodeInterop = new WeakMap();
|
||||
return (_getRequireWildcardCache = function(nodeInterop) {
|
||||
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
||||
})(nodeInterop);
|
||||
}
|
||||
function _interop_require_wildcard(obj, nodeInterop) {
|
||||
if (!nodeInterop && obj && obj.__esModule) {
|
||||
return obj;
|
||||
}
|
||||
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
||||
return {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
var cache = _getRequireWildcardCache(nodeInterop);
|
||||
if (cache && cache.has(obj)) {
|
||||
return cache.get(obj);
|
||||
}
|
||||
var newObj = {
|
||||
__proto__: null
|
||||
};
|
||||
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
||||
for(var key in obj){
|
||||
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
||||
if (desc && (desc.get || desc.set)) {
|
||||
Object.defineProperty(newObj, key, desc);
|
||||
} else {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
newObj.default = obj;
|
||||
if (cache) {
|
||||
cache.set(obj, newObj);
|
||||
}
|
||||
return newObj;
|
||||
}
|
||||
let dir;
|
||||
let child;
|
||||
// The config in next-dev is only used to access config.distDir for telemetry and trace.
|
||||
let config;
|
||||
let bundler;
|
||||
let traceUploadUrl;
|
||||
let sessionStopHandled = false;
|
||||
const sessionStarted = Date.now();
|
||||
const sessionSpan = (0, _trace.trace)('next-dev');
|
||||
// How long should we wait for the child to cleanly exit after sending
|
||||
// SIGINT/SIGTERM to the child process before sending SIGKILL?
|
||||
const CHILD_EXIT_TIMEOUT_MS = parseInt(process.env.NEXT_EXIT_TIMEOUT_MS ?? '100', 10);
|
||||
const handleSessionStop = async (signal)=>{
|
||||
if (signal != null && (child == null ? void 0 : child.pid)) child.kill(signal);
|
||||
if (sessionStopHandled) return;
|
||||
sessionStopHandled = true;
|
||||
// Capture the child's exit code if it has already exited and caused the
|
||||
// session stop (via the 'exit' event), otherwise assume success (0).
|
||||
const exitCode = (child == null ? void 0 : child.exitCode) || 0;
|
||||
if (signal != null && (child == null ? void 0 : child.pid) && child.exitCode === null && child.signalCode === null) {
|
||||
let exitTimeout = setTimeout(()=>{
|
||||
child == null ? void 0 : child.kill('SIGKILL');
|
||||
}, CHILD_EXIT_TIMEOUT_MS);
|
||||
await (0, _nodeevents.once)(child, 'exit').catch(()=>{});
|
||||
(0, _timers.clearTimeout)(exitTimeout);
|
||||
}
|
||||
sessionSpan.stop();
|
||||
await (0, _trace.flushAllTraces)({
|
||||
end: true
|
||||
});
|
||||
try {
|
||||
const { eventCliSessionStopped } = require('../telemetry/events/session-stopped');
|
||||
let pagesDir = !!_shared.traceGlobals.get('pagesDir');
|
||||
let appDir = !!_shared.traceGlobals.get('appDir');
|
||||
if (typeof _shared.traceGlobals.get('pagesDir') === 'undefined' || typeof _shared.traceGlobals.get('appDir') === 'undefined') {
|
||||
const pagesResult = (0, _findpagesdir.findPagesDir)(dir);
|
||||
appDir = !!pagesResult.appDir;
|
||||
pagesDir = !!pagesResult.pagesDir;
|
||||
}
|
||||
config = config || await (0, _config.default)(_constants.PHASE_DEVELOPMENT_SERVER, dir, {
|
||||
silent: true
|
||||
});
|
||||
let telemetry = _shared.traceGlobals.get('telemetry') || new _storage.Telemetry({
|
||||
distDir: _path.default.join(dir, config.distDir)
|
||||
});
|
||||
// Reading the config can modify environment variables that influence the bundler selection.
|
||||
bundler = (0, _bundler.finalizeBundlerFromConfig)(bundler);
|
||||
telemetry.record(eventCliSessionStopped({
|
||||
cliCommand: 'dev',
|
||||
turboFlag: bundler === _bundler.Bundler.Turbopack,
|
||||
durationMilliseconds: Date.now() - sessionStarted,
|
||||
pagesDir,
|
||||
appDir
|
||||
}), true);
|
||||
telemetry.flushDetached('dev', dir);
|
||||
} catch (_) {
|
||||
// errors here aren't actionable so don't add
|
||||
// noise to the output
|
||||
}
|
||||
if (traceUploadUrl) {
|
||||
(0, _uploadtrace.default)({
|
||||
traceUploadUrl,
|
||||
mode: 'dev',
|
||||
projectDir: dir,
|
||||
distDir: config.distDir,
|
||||
isTurboSession: bundler === _bundler.Bundler.Turbopack
|
||||
});
|
||||
}
|
||||
// ensure we re-enable the terminal cursor before exiting
|
||||
// the program, or the cursor could remain hidden
|
||||
process.stdout.write('\x1B[?25h');
|
||||
process.stdout.write('\n');
|
||||
process.exit(exitCode);
|
||||
};
|
||||
process.on('SIGINT', ()=>handleSessionStop('SIGINT'));
|
||||
process.on('SIGTERM', ()=>handleSessionStop('SIGTERM'));
|
||||
// exit event must be synchronous
|
||||
process.on('exit', ()=>child == null ? void 0 : child.kill('SIGKILL'));
|
||||
const nextDev = async (options, portSource, directory)=>{
|
||||
bundler = (0, _bundler.parseBundlerArgs)(options);
|
||||
dir = (0, _getprojectdir.getProjectDir)(process.env.NEXT_PRIVATE_DEV_DIR || directory);
|
||||
// Check if pages dir exists and warn if not
|
||||
if (!await (0, _fileexists.fileExists)(dir, _fileexists.FileType.Directory)) {
|
||||
(0, _utils.printAndExit)(`> No such directory exists as the project root: ${dir}`);
|
||||
}
|
||||
async function preflight(skipOnReboot) {
|
||||
const { getPackageVersion, getDependencies } = await Promise.resolve(require('../lib/get-package-version'));
|
||||
const [sassVersion, nodeSassVersion] = await Promise.all([
|
||||
getPackageVersion({
|
||||
cwd: dir,
|
||||
name: 'sass'
|
||||
}),
|
||||
getPackageVersion({
|
||||
cwd: dir,
|
||||
name: 'node-sass'
|
||||
})
|
||||
]);
|
||||
if (sassVersion && nodeSassVersion) {
|
||||
_log.warn('Your project has both `sass` and `node-sass` installed as dependencies, but should only use one or the other. ' + 'Please remove the `node-sass` dependency from your project. ' + ' Read more: https://nextjs.org/docs/messages/duplicate-sass');
|
||||
}
|
||||
if (!skipOnReboot) {
|
||||
const { dependencies, devDependencies } = await getDependencies({
|
||||
cwd: dir
|
||||
});
|
||||
// Warn if @next/font is installed as a dependency. Ignore `workspace:*` to not warn in the Next.js monorepo.
|
||||
if (dependencies['@next/font'] || devDependencies['@next/font'] && devDependencies['@next/font'] !== 'workspace:*') {
|
||||
const command = (0, _getnpxcommand.getNpxCommand)(dir);
|
||||
_log.warn('Your project has `@next/font` installed as a dependency, please use the built-in `next/font` instead. ' + 'The `@next/font` package will be removed in Next.js 14. ' + `You can migrate by running \`${command} @next/codemod@latest built-in-next-font .\`. Read more: https://nextjs.org/docs/messages/built-in-next-font`);
|
||||
}
|
||||
}
|
||||
}
|
||||
let port = options.port;
|
||||
if ((0, _getreservedport.isPortIsReserved)(port)) {
|
||||
(0, _utils.printAndExit)((0, _getreservedport.getReservedPortExplanation)(port), 1);
|
||||
}
|
||||
// If neither --port nor PORT were specified, it's okay to retry new ports.
|
||||
const allowRetry = portSource === 'default';
|
||||
// We do not set a default host value here to prevent breaking
|
||||
// some set-ups that rely on listening on other interfaces
|
||||
const host = options.hostname;
|
||||
if (options.experimentalUploadTrace && !process.env.NEXT_TRACE_UPLOAD_DISABLED) {
|
||||
traceUploadUrl = options.experimentalUploadTrace;
|
||||
}
|
||||
const devServerOptions = {
|
||||
dir,
|
||||
port,
|
||||
allowRetry,
|
||||
isDev: true,
|
||||
hostname: host
|
||||
};
|
||||
const startServerPath = require.resolve('../server/lib/start-server');
|
||||
async function startServer(startServerOptions) {
|
||||
return new Promise((resolve)=>{
|
||||
let resolved = false;
|
||||
const defaultEnv = _env.initialEnv || process.env;
|
||||
const nodeOptions = (0, _utils.getParsedNodeOptions)();
|
||||
let maxOldSpaceSize = (0, _utils.getMaxOldSpaceSize)();
|
||||
if (!maxOldSpaceSize && !process.env.NEXT_DISABLE_MEM_OVERRIDE) {
|
||||
const totalMem = _os.default.totalmem();
|
||||
const totalMemInMB = Math.floor(totalMem / 1024 / 1024);
|
||||
maxOldSpaceSize = Math.floor(totalMemInMB * 0.5).toString();
|
||||
nodeOptions['max-old-space-size'] = maxOldSpaceSize;
|
||||
// Ensure the max_old_space_size is not also set.
|
||||
delete nodeOptions['max_old_space_size'];
|
||||
}
|
||||
if (options.disableSourceMaps) {
|
||||
delete nodeOptions['enable-source-maps'];
|
||||
} else {
|
||||
nodeOptions['enable-source-maps'] = true;
|
||||
}
|
||||
const nodeDebugType = (0, _utils.getNodeDebugType)(nodeOptions);
|
||||
const originalAddress = nodeDebugType === undefined ? undefined : nodeOptions[nodeDebugType];
|
||||
delete nodeOptions.inspect;
|
||||
delete nodeOptions['inspect-brk'];
|
||||
delete nodeOptions['inspect_brk'];
|
||||
if (nodeDebugType !== undefined) {
|
||||
const address = (0, _utils.getParsedDebugAddress)(originalAddress);
|
||||
address.port = address.port === 0 ? 0 : address.port + 1;
|
||||
nodeOptions[nodeDebugType] = (0, _utils.formatDebugAddress)(address);
|
||||
} else if (options.inspect) {
|
||||
const address = options.inspect === true ? (0, _utils.getParsedDebugAddress)(true) : options.inspect;
|
||||
nodeOptions.inspect = (0, _utils.formatDebugAddress)(address);
|
||||
}
|
||||
child = (0, _child_process.fork)(startServerPath, {
|
||||
stdio: 'inherit',
|
||||
env: {
|
||||
...defaultEnv,
|
||||
...bundler === _bundler.Bundler.Turbopack ? {
|
||||
TURBOPACK: process.env.TURBOPACK
|
||||
} : undefined,
|
||||
NEXT_PRIVATE_WORKER: '1',
|
||||
NEXT_PRIVATE_TRACE_ID: _shared.traceId,
|
||||
NODE_EXTRA_CA_CERTS: startServerOptions.selfSignedCertificate ? startServerOptions.selfSignedCertificate.rootCA : defaultEnv.NODE_EXTRA_CA_CERTS,
|
||||
NODE_OPTIONS: (0, _utils.formatNodeOptions)(nodeOptions),
|
||||
// There is a node.js bug on MacOS which causes closing file watchers to be really slow.
|
||||
// This limits the number of watchers to mitigate the issue.
|
||||
// https://github.com/nodejs/node/issues/29949
|
||||
WATCHPACK_WATCHER_LIMIT: _os.default.platform() === 'darwin' ? '20' : undefined
|
||||
}
|
||||
});
|
||||
child.on('message', (msg)=>{
|
||||
if (msg && typeof msg === 'object') {
|
||||
if (msg.nextWorkerReady) {
|
||||
child == null ? void 0 : child.send({
|
||||
nextWorkerOptions: startServerOptions
|
||||
});
|
||||
} else if (msg.nextServerReady && !resolved) {
|
||||
if (msg.port) {
|
||||
// Store the used port in case a random one was selected, so that
|
||||
// it can be re-used on automatic dev server restarts.
|
||||
port = parseInt(msg.port, 10);
|
||||
}
|
||||
resolved = true;
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
child.on('exit', async (code, signal)=>{
|
||||
if (sessionStopHandled || signal) {
|
||||
return;
|
||||
}
|
||||
if (code === _utils.RESTART_EXIT_CODE) {
|
||||
// Starting the dev server will overwrite the `.next/trace` file, so we
|
||||
// must upload the existing contents before restarting the server to
|
||||
// preserve the metrics.
|
||||
if (traceUploadUrl) {
|
||||
// Postpone loading next config when we need to get
|
||||
// config.distDir for upload trace.
|
||||
config = config || await (0, _config.default)(_constants.PHASE_DEVELOPMENT_SERVER, dir, {
|
||||
silent: true
|
||||
});
|
||||
bundler = (0, _bundler.finalizeBundlerFromConfig)(bundler);
|
||||
(0, _uploadtrace.default)({
|
||||
traceUploadUrl,
|
||||
mode: 'dev',
|
||||
projectDir: dir,
|
||||
distDir: config.distDir,
|
||||
isTurboSession: bundler === _bundler.Bundler.Turbopack,
|
||||
sync: true
|
||||
});
|
||||
}
|
||||
return startServer({
|
||||
...startServerOptions,
|
||||
port
|
||||
});
|
||||
}
|
||||
// Call handler (e.g. upload telemetry). Don't try to send a signal to
|
||||
// the child, as it has already exited.
|
||||
await handleSessionStop(/* signal */ null);
|
||||
});
|
||||
});
|
||||
}
|
||||
const runDevServer = async (reboot)=>{
|
||||
try {
|
||||
if (!!options.experimentalHttps) {
|
||||
_log.warn('Self-signed certificates are currently an experimental feature, use with caution.');
|
||||
let certificate;
|
||||
const key = options.experimentalHttpsKey;
|
||||
const cert = options.experimentalHttpsCert;
|
||||
const rootCA = options.experimentalHttpsCa;
|
||||
if (key && cert) {
|
||||
certificate = {
|
||||
key: _path.default.resolve(key),
|
||||
cert: _path.default.resolve(cert),
|
||||
rootCA: rootCA ? _path.default.resolve(rootCA) : undefined
|
||||
};
|
||||
} else {
|
||||
certificate = await (0, _mkcert.createSelfSignedCertificate)(host);
|
||||
}
|
||||
await startServer({
|
||||
...devServerOptions,
|
||||
selfSignedCertificate: certificate
|
||||
});
|
||||
} else {
|
||||
await startServer(devServerOptions);
|
||||
}
|
||||
await preflight(reboot);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
await runDevServer(false);
|
||||
};
|
||||
|
||||
//# sourceMappingURL=next-dev.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-dev.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-dev.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
apps/public-web/node_modules/next/dist/cli/next-export.d.ts
generated
vendored
Normal file
2
apps/public-web/node_modules/next/dist/cli/next-export.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
declare const nextExport: () => never;
|
||||
export { nextExport };
|
||||
20
apps/public-web/node_modules/next/dist/cli/next-export.js
generated
vendored
Normal file
20
apps/public-web/node_modules/next/dist/cli/next-export.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "nextExport", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return nextExport;
|
||||
}
|
||||
});
|
||||
const _picocolors = require("../lib/picocolors");
|
||||
const _log = require("../build/output/log");
|
||||
const nextExport = ()=>{
|
||||
(0, _log.error)(`
|
||||
\`next export\` has been removed in favor of 'output: export' in next.config.js.\nLearn more: ${(0, _picocolors.cyan)('https://nextjs.org/docs/app/building-your-application/deploying/static-exports')}
|
||||
`);
|
||||
process.exit(1);
|
||||
};
|
||||
|
||||
//# sourceMappingURL=next-export.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-export.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-export.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/cli/next-export.ts"],"sourcesContent":["import { cyan } from '../lib/picocolors'\nimport { error } from '../build/output/log'\n\nconst nextExport = () => {\n error(`\n \\`next export\\` has been removed in favor of 'output: export' in next.config.js.\\nLearn more: ${cyan(\n 'https://nextjs.org/docs/app/building-your-application/deploying/static-exports'\n )}\n `)\n\n process.exit(1)\n}\n\nexport { nextExport }\n"],"names":["nextExport","error","cyan","process","exit"],"mappings":";;;;+BAaSA;;;eAAAA;;;4BAbY;qBACC;AAEtB,MAAMA,aAAa;IACjBC,IAAAA,UAAK,EAAC,CAAC;kGACyF,EAAEC,IAAAA,gBAAI,EAClG,kFACA;EACJ,CAAC;IAEDC,QAAQC,IAAI,CAAC;AACf","ignoreList":[0]}
|
||||
11
apps/public-web/node_modules/next/dist/cli/next-info.d.ts
generated
vendored
Normal file
11
apps/public-web/node_modules/next/dist/cli/next-info.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env node
|
||||
export type NextInfoOptions = {
|
||||
verbose?: boolean;
|
||||
};
|
||||
/**
|
||||
* Runs few scripts to collect system information to help with debugging next.js installation issues.
|
||||
* There are 2 modes, by default it collects basic next.js installation with runtime information. If
|
||||
* `--verbose` mode is enabled it'll try to collect, verify more data for next-swc installation and others.
|
||||
*/
|
||||
declare const nextInfo: (options: NextInfoOptions) => Promise<void>;
|
||||
export { nextInfo };
|
||||
480
apps/public-web/node_modules/next/dist/cli/next-info.js
generated
vendored
Normal file
480
apps/public-web/node_modules/next/dist/cli/next-info.js
generated
vendored
Normal file
@@ -0,0 +1,480 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "nextInfo", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return nextInfo;
|
||||
}
|
||||
});
|
||||
const _os = /*#__PURE__*/ _interop_require_default(require("os"));
|
||||
const _child_process = /*#__PURE__*/ _interop_require_default(require("child_process"));
|
||||
const _picocolors = require("../lib/picocolors");
|
||||
const _constants = require("../shared/lib/constants");
|
||||
const _config = /*#__PURE__*/ _interop_require_default(require("../server/config"));
|
||||
const _getregistry = require("../lib/helpers/get-registry");
|
||||
const _parseversioninfo = require("../server/dev/parse-version-info");
|
||||
const _versionstaleness = require("../next-devtools/shared/version-staleness");
|
||||
const _log = require("../build/output/log");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function getPackageVersion(packageName) {
|
||||
try {
|
||||
return require(`${packageName}/package.json`).version;
|
||||
} catch {
|
||||
return 'N/A';
|
||||
}
|
||||
}
|
||||
async function getNextConfig() {
|
||||
var _config_experimental;
|
||||
const config = await (0, _config.default)(_constants.PHASE_INFO, process.cwd());
|
||||
return {
|
||||
output: config.output ?? 'N/A',
|
||||
experimental: {
|
||||
useWasmBinary: (_config_experimental = config.experimental) == null ? void 0 : _config_experimental.useWasmBinary
|
||||
}
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Returns the version of the specified binary, by supplying `--version` argument.
|
||||
* N/A if it fails to run the binary.
|
||||
*/ function getBinaryVersion(binaryName) {
|
||||
try {
|
||||
return _child_process.default.execFileSync(binaryName, [
|
||||
'--version'
|
||||
]).toString().trim();
|
||||
} catch {
|
||||
try {
|
||||
return _child_process.default.execSync(`${binaryName} --version`).toString().trim();
|
||||
} catch {
|
||||
return 'N/A';
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Collect basic next.js installation information and print it to stdout.
|
||||
*/ async function printInfo() {
|
||||
const installedRelease = getPackageVersion('next');
|
||||
const nextConfig = await getNextConfig();
|
||||
let stalenessWithTitle = '';
|
||||
let title = '';
|
||||
let versionInfo;
|
||||
try {
|
||||
const registry = (0, _getregistry.getRegistry)();
|
||||
const res = await fetch(`${registry}-/package/next/dist-tags`);
|
||||
const tags = await res.json();
|
||||
versionInfo = (0, _parseversioninfo.parseVersionInfo)({
|
||||
installed: installedRelease,
|
||||
latest: tags.latest,
|
||||
canary: tags.canary
|
||||
});
|
||||
title = (0, _versionstaleness.getStaleness)(versionInfo).title;
|
||||
if (title) {
|
||||
stalenessWithTitle = ` // ${title}`;
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn(`${(0, _picocolors.yellow)((0, _picocolors.bold)('warn'))} - Failed to fetch latest canary version. (Reason: ${e.message}.)
|
||||
Detected "${installedRelease}". Visit https://github.com/vercel/next.js/releases.
|
||||
Make sure to try the latest canary version (eg.: \`npm install next@canary\`) to confirm the issue still exists before creating a new issue.
|
||||
\nLearn more: ${(0, _picocolors.cyan)('https://nextjs.org/docs/messages/opening-an-issue')}`);
|
||||
}
|
||||
const cpuCores = _os.default.cpus().length;
|
||||
let relevantPackages = ` next: ${installedRelease}${stalenessWithTitle}
|
||||
eslint-config-next: ${getPackageVersion('eslint-config-next')}
|
||||
react: ${getPackageVersion('react')}
|
||||
react-dom: ${getPackageVersion('react-dom')}
|
||||
typescript: ${getPackageVersion('typescript')}`;
|
||||
if (process.env.NEXT_RSPACK) {
|
||||
relevantPackages += `
|
||||
next-rspack: ${getPackageVersion('next-rspack')}`;
|
||||
}
|
||||
console.log(`
|
||||
Operating System:
|
||||
Platform: ${_os.default.platform()}
|
||||
Arch: ${_os.default.arch()}
|
||||
Version: ${_os.default.version()}
|
||||
Available memory (MB): ${Math.ceil(_os.default.totalmem() / 1024 / 1024)}
|
||||
Available CPU cores: ${cpuCores > 0 ? cpuCores : 'N/A'}
|
||||
Binaries:
|
||||
Node: ${process.versions.node}
|
||||
npm: ${getBinaryVersion('npm')}
|
||||
Yarn: ${getBinaryVersion('yarn')}
|
||||
pnpm: ${getBinaryVersion('pnpm')}
|
||||
Relevant Packages:
|
||||
${relevantPackages}
|
||||
Next.js Config:
|
||||
output: ${nextConfig.output}`);
|
||||
if (versionInfo == null ? void 0 : versionInfo.staleness.startsWith('stale')) {
|
||||
(0, _log.warn)(`${title}
|
||||
Please try the latest canary version (\`npm install next@canary\`) to confirm the issue still exists before creating a new issue.
|
||||
Read more - https://nextjs.org/docs/messages/opening-an-issue`);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Using system-installed tools per each platform, trying to read shared dependencies of next-swc.
|
||||
* This is mainly for debugging DLOPEN failure.
|
||||
*
|
||||
* We don't / can't install these tools by ourselves, will skip the check if we can't find them.
|
||||
*/ async function runSharedDependencyCheck(tools, skipMessage) {
|
||||
var _getSupportedArchTriples_currentPlatform;
|
||||
const currentPlatform = _os.default.platform();
|
||||
const spawn = require('next/dist/compiled/cross-spawn');
|
||||
const { getSupportedArchTriples } = require('../build/swc');
|
||||
const triples = ((_getSupportedArchTriples_currentPlatform = getSupportedArchTriples()[currentPlatform]) == null ? void 0 : _getSupportedArchTriples_currentPlatform[_os.default.arch()]) ?? [];
|
||||
// First, check if system have a tool installed. We can't install these by our own.
|
||||
const availableTools = [];
|
||||
for (const tool of tools){
|
||||
try {
|
||||
const check = spawn.sync(tool.bin, tool.checkArgs);
|
||||
if (check.status === 0) {
|
||||
availableTools.push(tool);
|
||||
}
|
||||
} catch {
|
||||
// ignore if existence check fails
|
||||
}
|
||||
}
|
||||
if (availableTools.length === 0) {
|
||||
return {
|
||||
messages: skipMessage,
|
||||
result: 'skipped'
|
||||
};
|
||||
}
|
||||
const outputs = [];
|
||||
let result = 'fail';
|
||||
for (const triple of triples){
|
||||
const triplePkgName = `@next/swc-${triple.platformArchABI}`;
|
||||
let resolved;
|
||||
try {
|
||||
resolved = require.resolve(triplePkgName);
|
||||
} catch (e) {
|
||||
return {
|
||||
messages: 'Cannot find next-swc installation, skipping dependencies check',
|
||||
result: 'skipped'
|
||||
};
|
||||
}
|
||||
for (const tool of availableTools){
|
||||
const proc = spawn(tool.bin, [
|
||||
...tool.args,
|
||||
resolved
|
||||
]);
|
||||
outputs.push(`Running ${tool.bin} ------------- `);
|
||||
// Captures output, doesn't matter if it fails or not since we'll forward both to output.
|
||||
const procPromise = new Promise((resolve)=>{
|
||||
proc.stdout.on('data', function(data) {
|
||||
outputs.push(data);
|
||||
});
|
||||
proc.stderr.on('data', function(data) {
|
||||
outputs.push(data);
|
||||
});
|
||||
proc.on('close', (c)=>resolve(c));
|
||||
});
|
||||
let code = await procPromise;
|
||||
if (code === 0) {
|
||||
result = 'pass';
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
output: outputs.join('\n'),
|
||||
result
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Collect additional diagnostics information.
|
||||
*/ async function printVerboseInfo() {
|
||||
const fs = require('fs');
|
||||
const currentPlatform = _os.default.platform();
|
||||
if (currentPlatform !== 'win32' && currentPlatform !== 'linux' && currentPlatform !== 'darwin') {
|
||||
console.log('Unsupported platform, only win32, linux, darwin are supported.');
|
||||
return;
|
||||
}
|
||||
// List of tasks to run.
|
||||
const tasks = [
|
||||
{
|
||||
title: 'Host system information',
|
||||
scripts: {
|
||||
default: async ()=>{
|
||||
// Node.js diagnostic report contains basic information, i.e OS version, CPU architecture, etc.
|
||||
// Only collect few addtional details here.
|
||||
const isWsl = require('next/dist/compiled/is-wsl');
|
||||
const ciInfo = require('next/dist/compiled/ci-info');
|
||||
const isDocker = require('next/dist/compiled/is-docker');
|
||||
const output = `
|
||||
WSL: ${isWsl}
|
||||
Docker: ${isDocker()}
|
||||
CI: ${ciInfo.isCI ? ciInfo.name || 'unknown' : 'false'}
|
||||
`;
|
||||
return {
|
||||
output,
|
||||
result: 'pass'
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'Next.js installation',
|
||||
scripts: {
|
||||
default: async ()=>{
|
||||
const installedRelease = getPackageVersion('next');
|
||||
const nextConfig = await getNextConfig();
|
||||
const output = `
|
||||
Binaries:
|
||||
Node: ${process.versions.node}
|
||||
npm: ${getBinaryVersion('npm')}
|
||||
Yarn: ${getBinaryVersion('yarn')}
|
||||
pnpm: ${getBinaryVersion('pnpm')}
|
||||
Relevant Packages:
|
||||
next: ${installedRelease}
|
||||
eslint-config-next: ${getPackageVersion('eslint-config-next')}
|
||||
react: ${getPackageVersion('react')}
|
||||
react-dom: ${getPackageVersion('react-dom')}
|
||||
typescript: ${getPackageVersion('typescript')}
|
||||
Next.js Config:
|
||||
output: ${nextConfig.output}
|
||||
|
||||
`;
|
||||
return {
|
||||
output,
|
||||
result: 'pass'
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'Node.js diagnostic report',
|
||||
scripts: {
|
||||
default: async ()=>{
|
||||
var _process_report;
|
||||
const report = (_process_report = process.report) == null ? void 0 : _process_report.getReport();
|
||||
if (!report) {
|
||||
return {
|
||||
messages: 'Node.js diagnostic report is not available.',
|
||||
result: 'fail'
|
||||
};
|
||||
}
|
||||
const { header, javascriptHeap, sharedObjects } = report;
|
||||
// Delete some fields potentially containing sensitive information.
|
||||
header == null ? true : delete header.cwd;
|
||||
header == null ? true : delete header.commandLine;
|
||||
header == null ? true : delete header.host;
|
||||
header == null ? true : delete header.cpus;
|
||||
header == null ? true : delete header.networkInterfaces;
|
||||
const reportSummary = {
|
||||
header,
|
||||
javascriptHeap,
|
||||
sharedObjects
|
||||
};
|
||||
return {
|
||||
output: JSON.stringify(reportSummary, null, 2),
|
||||
result: 'pass'
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'next-swc installation',
|
||||
scripts: {
|
||||
default: async ()=>{
|
||||
var _platformArchTriples_currentPlatform;
|
||||
const output = [];
|
||||
// First, try to load next-swc via loadBindings.
|
||||
try {
|
||||
var _nextConfig_experimental;
|
||||
let nextConfig = await getNextConfig();
|
||||
const { loadBindings } = require('../build/swc');
|
||||
const bindings = await loadBindings((_nextConfig_experimental = nextConfig.experimental) == null ? void 0 : _nextConfig_experimental.useWasmBinary);
|
||||
// Run arbitrary function to verify the bindings are loaded correctly.
|
||||
const target = bindings.getTargetTriple();
|
||||
// We think next-swc is installed correctly if getTargetTriple returns.
|
||||
return {
|
||||
output: `next-swc is installed correctly for ${target}`,
|
||||
result: 'pass'
|
||||
};
|
||||
} catch (e) {
|
||||
output.push(`loadBindings() failed: ${e.message}`);
|
||||
}
|
||||
const { platformArchTriples } = require('next/dist/compiled/@napi-rs/triples');
|
||||
const triples = (_platformArchTriples_currentPlatform = platformArchTriples[currentPlatform]) == null ? void 0 : _platformArchTriples_currentPlatform[_os.default.arch()];
|
||||
if (!triples || triples.length === 0) {
|
||||
return {
|
||||
messages: `No target triples found for ${currentPlatform} / ${_os.default.arch()}`,
|
||||
result: 'fail'
|
||||
};
|
||||
}
|
||||
// Trying to manually resolve corresponding target triples to see if bindings are physically located.
|
||||
const path = require('path');
|
||||
let fallbackBindingsDirectory;
|
||||
try {
|
||||
const nextPath = path.dirname(require.resolve('next/package.json'));
|
||||
fallbackBindingsDirectory = path.join(nextPath, 'next-swc-fallback');
|
||||
} catch (e) {
|
||||
// Not able to locate next package from current running location, skipping fallback bindings check.
|
||||
}
|
||||
const tryResolve = (pkgName)=>{
|
||||
try {
|
||||
const resolved = require.resolve(pkgName);
|
||||
const fileExists = fs.existsSync(resolved);
|
||||
let loadError;
|
||||
let loadSuccess;
|
||||
try {
|
||||
loadSuccess = !!require(resolved).getTargetTriple();
|
||||
} catch (e) {
|
||||
loadError = e.message;
|
||||
}
|
||||
output.push(`${pkgName} exists: ${fileExists} for the triple ${loadSuccess}`);
|
||||
if (loadError) {
|
||||
output.push(`${pkgName} load failed: ${loadError ?? 'unknown'}`);
|
||||
}
|
||||
if (loadSuccess) {
|
||||
return true;
|
||||
}
|
||||
} catch (e) {
|
||||
output.push(`${pkgName} resolve failed: ${e.message ?? 'unknown'}`);
|
||||
}
|
||||
return false;
|
||||
};
|
||||
for (const triple of triples){
|
||||
const triplePkgName = `@next/swc-${triple.platformArchABI}`;
|
||||
// Check installed optional dependencies. This is the normal way package being installed.
|
||||
// For the targets have multiple triples (gnu / musl), if any of them loads successfully, we consider as installed.
|
||||
if (tryResolve(triplePkgName)) {
|
||||
break;
|
||||
}
|
||||
// Check if fallback binaries are installed.
|
||||
if (!fallbackBindingsDirectory) {
|
||||
continue;
|
||||
}
|
||||
tryResolve(path.join(fallbackBindingsDirectory, triplePkgName));
|
||||
}
|
||||
return {
|
||||
output: output.join('\n'),
|
||||
result: 'pass'
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
// For the simplicity, we only check the correctly installed optional dependencies -
|
||||
// as this is mainly for checking DLOPEN failure. If user hit MODULE_NOT_FOUND,
|
||||
// expect above next-swc installation would give some hint instead.
|
||||
title: 'next-swc shared object dependencies',
|
||||
scripts: {
|
||||
linux: async ()=>{
|
||||
const skipMessage = 'This diagnostics uses system-installed tools (ldd) to check next-swc dependencies, but it is not found. Skipping dependencies check.';
|
||||
return await runSharedDependencyCheck([
|
||||
{
|
||||
bin: 'ldd',
|
||||
checkArgs: [
|
||||
'--help'
|
||||
],
|
||||
args: [
|
||||
'--verbose'
|
||||
]
|
||||
}
|
||||
], skipMessage);
|
||||
},
|
||||
win32: async ()=>{
|
||||
const skipMessage = `This diagnostics uses system-installed tools (dumpbin.exe) to check next-swc dependencies, but it was not found in the path. Skipping dependencies check.
|
||||
dumpbin (https://learn.microsoft.com/en-us/cpp/build/reference/dumpbin-reference) is a part of Microsoft VC toolset,
|
||||
can be installed with Windows SDK, Windows Build tools or Visual Studio.
|
||||
|
||||
Please make sure you have one of them installed and dumpbin.exe is in the path.
|
||||
`;
|
||||
return await runSharedDependencyCheck([
|
||||
{
|
||||
bin: 'dumpbin.exe',
|
||||
checkArgs: [
|
||||
'/summary'
|
||||
],
|
||||
args: [
|
||||
'/imports'
|
||||
]
|
||||
}
|
||||
], skipMessage);
|
||||
},
|
||||
darwin: async ()=>{
|
||||
const skipMessage = 'This diagnostics uses system-installed tools (otools, dyld_info) to check next-swc dependencies, but none of them are found. Skipping dependencies check.';
|
||||
return await runSharedDependencyCheck([
|
||||
{
|
||||
bin: 'otool',
|
||||
checkArgs: [
|
||||
'--version'
|
||||
],
|
||||
args: [
|
||||
'-L'
|
||||
]
|
||||
},
|
||||
{
|
||||
bin: 'dyld_info',
|
||||
checkArgs: [],
|
||||
args: []
|
||||
}
|
||||
], skipMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
];
|
||||
// Collected output after running all tasks.
|
||||
const report = [];
|
||||
console.log('\n');
|
||||
for (const task of tasks){
|
||||
if (task.targetPlatform && task.targetPlatform !== currentPlatform) {
|
||||
report.push({
|
||||
title: task.title,
|
||||
result: {
|
||||
messages: undefined,
|
||||
output: `[SKIPPED (${_os.default.platform()} / ${task.targetPlatform})] ${task.title}`,
|
||||
result: 'skipped'
|
||||
}
|
||||
});
|
||||
continue;
|
||||
}
|
||||
const taskScript = task.scripts[currentPlatform] ?? task.scripts.default;
|
||||
let taskResult;
|
||||
try {
|
||||
taskResult = await taskScript();
|
||||
} catch (e) {
|
||||
taskResult = {
|
||||
messages: `Unexpected failure while running diagnostics: ${e.message}`,
|
||||
result: 'fail'
|
||||
};
|
||||
}
|
||||
console.log(`- ${task.title}: ${taskResult.result}`);
|
||||
if (taskResult.messages) {
|
||||
console.log(` ${taskResult.messages}`);
|
||||
}
|
||||
report.push({
|
||||
title: task.title,
|
||||
result: taskResult
|
||||
});
|
||||
}
|
||||
console.log(`\n${(0, _picocolors.bold)('Generated diagnostics report')}`);
|
||||
console.log(`\nPlease copy below report and paste it into your issue.`);
|
||||
for (const { title, result } of report){
|
||||
console.log(`\n### ${title}`);
|
||||
if (result.messages) {
|
||||
console.log(result.messages);
|
||||
}
|
||||
if (result.output) {
|
||||
console.log(result.output);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Runs few scripts to collect system information to help with debugging next.js installation issues.
|
||||
* There are 2 modes, by default it collects basic next.js installation with runtime information. If
|
||||
* `--verbose` mode is enabled it'll try to collect, verify more data for next-swc installation and others.
|
||||
*/ const nextInfo = async (options)=>{
|
||||
if (options.verbose) {
|
||||
await printVerboseInfo();
|
||||
} else {
|
||||
await printInfo();
|
||||
}
|
||||
};
|
||||
|
||||
//# sourceMappingURL=next-info.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-info.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-info.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
16
apps/public-web/node_modules/next/dist/cli/next-start.d.ts
generated
vendored
Normal file
16
apps/public-web/node_modules/next/dist/cli/next-start.d.ts
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env node
|
||||
import '../server/lib/cpu-profile';
|
||||
export type NextStartOptions = {
|
||||
port: number;
|
||||
hostname?: string;
|
||||
keepAliveTimeout?: number;
|
||||
experimentalNextConfigStripTypes?: boolean;
|
||||
};
|
||||
/**
|
||||
* Start the Next.js server
|
||||
*
|
||||
* @param options The options for the start command
|
||||
* @param directory The directory to start the server in
|
||||
*/
|
||||
declare const nextStart: (options: NextStartOptions, directory?: string) => Promise<void>;
|
||||
export { nextStart };
|
||||
39
apps/public-web/node_modules/next/dist/cli/next-start.js
generated
vendored
Normal file
39
apps/public-web/node_modules/next/dist/cli/next-start.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "nextStart", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return nextStart;
|
||||
}
|
||||
});
|
||||
require("../server/lib/cpu-profile");
|
||||
const _startserver = require("../server/lib/start-server");
|
||||
const _utils = require("../server/lib/utils");
|
||||
const _getprojectdir = require("../lib/get-project-dir");
|
||||
const _getreservedport = require("../lib/helpers/get-reserved-port");
|
||||
/**
|
||||
* Start the Next.js server
|
||||
*
|
||||
* @param options The options for the start command
|
||||
* @param directory The directory to start the server in
|
||||
*/ const nextStart = async (options, directory)=>{
|
||||
const dir = (0, _getprojectdir.getProjectDir)(directory);
|
||||
const hostname = options.hostname;
|
||||
const port = options.port;
|
||||
const keepAliveTimeout = options.keepAliveTimeout;
|
||||
if ((0, _getreservedport.isPortIsReserved)(port)) {
|
||||
(0, _utils.printAndExit)((0, _getreservedport.getReservedPortExplanation)(port), 1);
|
||||
}
|
||||
await (0, _startserver.startServer)({
|
||||
dir,
|
||||
isDev: false,
|
||||
hostname,
|
||||
port,
|
||||
keepAliveTimeout
|
||||
});
|
||||
};
|
||||
|
||||
//# sourceMappingURL=next-start.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-start.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-start.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/cli/next-start.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport '../server/lib/cpu-profile'\nimport { startServer } from '../server/lib/start-server'\nimport { printAndExit } from '../server/lib/utils'\nimport { getProjectDir } from '../lib/get-project-dir'\nimport {\n getReservedPortExplanation,\n isPortIsReserved,\n} from '../lib/helpers/get-reserved-port'\n\nexport type NextStartOptions = {\n port: number\n hostname?: string\n keepAliveTimeout?: number\n experimentalNextConfigStripTypes?: boolean\n}\n\n/**\n * Start the Next.js server\n *\n * @param options The options for the start command\n * @param directory The directory to start the server in\n */\nconst nextStart = async (options: NextStartOptions, directory?: string) => {\n const dir = getProjectDir(directory)\n const hostname = options.hostname\n const port = options.port\n const keepAliveTimeout = options.keepAliveTimeout\n\n if (isPortIsReserved(port)) {\n printAndExit(getReservedPortExplanation(port), 1)\n }\n\n await startServer({\n dir,\n isDev: false,\n hostname,\n port,\n keepAliveTimeout,\n })\n}\n\nexport { nextStart }\n"],"names":["nextStart","options","directory","dir","getProjectDir","hostname","port","keepAliveTimeout","isPortIsReserved","printAndExit","getReservedPortExplanation","startServer","isDev"],"mappings":";;;;;+BA2CSA;;;eAAAA;;;QAzCF;6BACqB;uBACC;+BACC;iCAIvB;AASP;;;;;CAKC,GACD,MAAMA,YAAY,OAAOC,SAA2BC;IAClD,MAAMC,MAAMC,IAAAA,4BAAa,EAACF;IAC1B,MAAMG,WAAWJ,QAAQI,QAAQ;IACjC,MAAMC,OAAOL,QAAQK,IAAI;IACzB,MAAMC,mBAAmBN,QAAQM,gBAAgB;IAEjD,IAAIC,IAAAA,iCAAgB,EAACF,OAAO;QAC1BG,IAAAA,mBAAY,EAACC,IAAAA,2CAA0B,EAACJ,OAAO;IACjD;IAEA,MAAMK,IAAAA,wBAAW,EAAC;QAChBR;QACAS,OAAO;QACPP;QACAC;QACAC;IACF;AACF","ignoreList":[0]}
|
||||
7
apps/public-web/node_modules/next/dist/cli/next-telemetry.d.ts
generated
vendored
Normal file
7
apps/public-web/node_modules/next/dist/cli/next-telemetry.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env node
|
||||
export type NextTelemetryOptions = {
|
||||
enable?: boolean;
|
||||
disable?: boolean;
|
||||
};
|
||||
declare const nextTelemetry: (options: NextTelemetryOptions, arg: string) => void;
|
||||
export { nextTelemetry };
|
||||
43
apps/public-web/node_modules/next/dist/cli/next-telemetry.js
generated
vendored
Normal file
43
apps/public-web/node_modules/next/dist/cli/next-telemetry.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "nextTelemetry", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return nextTelemetry;
|
||||
}
|
||||
});
|
||||
const _picocolors = require("../lib/picocolors");
|
||||
const _storage = require("../telemetry/storage");
|
||||
const telemetry = new _storage.Telemetry({
|
||||
distDir: process.cwd()
|
||||
});
|
||||
let isEnabled = telemetry.isEnabled;
|
||||
const nextTelemetry = (options, arg)=>{
|
||||
if (options.enable || arg === 'enable') {
|
||||
telemetry.setEnabled(true);
|
||||
isEnabled = true;
|
||||
console.log((0, _picocolors.cyan)('Success!'));
|
||||
} else if (options.disable || arg === 'disable') {
|
||||
const path = telemetry.setEnabled(false);
|
||||
if (isEnabled) {
|
||||
console.log((0, _picocolors.cyan)(`Your preference has been saved${path ? ` to ${path}` : ''}.`));
|
||||
} else {
|
||||
console.log((0, _picocolors.yellow)(`Next.js' telemetry collection is already disabled.`));
|
||||
}
|
||||
isEnabled = false;
|
||||
} else {
|
||||
console.log((0, _picocolors.bold)('Next.js Telemetry'));
|
||||
}
|
||||
console.log(`\nStatus: ${isEnabled ? (0, _picocolors.bold)((0, _picocolors.green)('Enabled')) : (0, _picocolors.bold)((0, _picocolors.red)('Disabled'))}`);
|
||||
if (isEnabled) {
|
||||
console.log('\nNext.js telemetry is completely anonymous. Thank you for participating!');
|
||||
} else {
|
||||
console.log(`\nYou have opted-out of Next.js' anonymous telemetry program.\nNo data will be collected from your machine.`);
|
||||
}
|
||||
console.log(`\nLearn more: ${(0, _picocolors.cyan)('https://nextjs.org/telemetry')}`);
|
||||
};
|
||||
|
||||
//# sourceMappingURL=next-telemetry.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-telemetry.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-telemetry.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/cli/next-telemetry.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { bold, cyan, green, red, yellow } from '../lib/picocolors'\nimport { Telemetry } from '../telemetry/storage'\n\nexport type NextTelemetryOptions = {\n enable?: boolean\n disable?: boolean\n}\n\nconst telemetry = new Telemetry({ distDir: process.cwd() })\nlet isEnabled = telemetry.isEnabled\n\nconst nextTelemetry = (options: NextTelemetryOptions, arg: string) => {\n if (options.enable || arg === 'enable') {\n telemetry.setEnabled(true)\n isEnabled = true\n\n console.log(cyan('Success!'))\n } else if (options.disable || arg === 'disable') {\n const path = telemetry.setEnabled(false)\n\n if (isEnabled) {\n console.log(\n cyan(`Your preference has been saved${path ? ` to ${path}` : ''}.`)\n )\n } else {\n console.log(yellow(`Next.js' telemetry collection is already disabled.`))\n }\n\n isEnabled = false\n } else {\n console.log(bold('Next.js Telemetry'))\n }\n\n console.log(\n `\\nStatus: ${isEnabled ? bold(green('Enabled')) : bold(red('Disabled'))}`\n )\n\n if (isEnabled) {\n console.log(\n '\\nNext.js telemetry is completely anonymous. Thank you for participating!'\n )\n } else {\n console.log(\n `\\nYou have opted-out of Next.js' anonymous telemetry program.\\nNo data will be collected from your machine.`\n )\n }\n\n console.log(`\\nLearn more: ${cyan('https://nextjs.org/telemetry')}`)\n}\n\nexport { nextTelemetry }\n"],"names":["nextTelemetry","telemetry","Telemetry","distDir","process","cwd","isEnabled","options","arg","enable","setEnabled","console","log","cyan","disable","path","yellow","bold","green","red"],"mappings":";;;;;+BAoDSA;;;eAAAA;;;4BAlDsC;yBACrB;AAO1B,MAAMC,YAAY,IAAIC,kBAAS,CAAC;IAAEC,SAASC,QAAQC,GAAG;AAAG;AACzD,IAAIC,YAAYL,UAAUK,SAAS;AAEnC,MAAMN,gBAAgB,CAACO,SAA+BC;IACpD,IAAID,QAAQE,MAAM,IAAID,QAAQ,UAAU;QACtCP,UAAUS,UAAU,CAAC;QACrBJ,YAAY;QAEZK,QAAQC,GAAG,CAACC,IAAAA,gBAAI,EAAC;IACnB,OAAO,IAAIN,QAAQO,OAAO,IAAIN,QAAQ,WAAW;QAC/C,MAAMO,OAAOd,UAAUS,UAAU,CAAC;QAElC,IAAIJ,WAAW;YACbK,QAAQC,GAAG,CACTC,IAAAA,gBAAI,EAAC,CAAC,8BAA8B,EAAEE,OAAO,CAAC,IAAI,EAAEA,MAAM,GAAG,GAAG,CAAC,CAAC;QAEtE,OAAO;YACLJ,QAAQC,GAAG,CAACI,IAAAA,kBAAM,EAAC,CAAC,kDAAkD,CAAC;QACzE;QAEAV,YAAY;IACd,OAAO;QACLK,QAAQC,GAAG,CAACK,IAAAA,gBAAI,EAAC;IACnB;IAEAN,QAAQC,GAAG,CACT,CAAC,UAAU,EAAEN,YAAYW,IAAAA,gBAAI,EAACC,IAAAA,iBAAK,EAAC,cAAcD,IAAAA,gBAAI,EAACE,IAAAA,eAAG,EAAC,cAAc;IAG3E,IAAIb,WAAW;QACbK,QAAQC,GAAG,CACT;IAEJ,OAAO;QACLD,QAAQC,GAAG,CACT,CAAC,2GAA2G,CAAC;IAEjH;IAEAD,QAAQC,GAAG,CAAC,CAAC,cAAc,EAAEC,IAAAA,gBAAI,EAAC,iCAAiC;AACrE","ignoreList":[0]}
|
||||
6
apps/public-web/node_modules/next/dist/cli/next-test.d.ts
generated
vendored
Normal file
6
apps/public-web/node_modules/next/dist/cli/next-test.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export interface NextTestOptions {
|
||||
testRunner?: string;
|
||||
}
|
||||
export declare const SUPPORTED_TEST_RUNNERS_LIST: readonly ["playwright"];
|
||||
export type SupportedTestRunners = (typeof SUPPORTED_TEST_RUNNERS_LIST)[number];
|
||||
export declare function nextTest(directory?: string, testRunnerArgs?: string[], options?: NextTestOptions): Promise<unknown>;
|
||||
169
apps/public-web/node_modules/next/dist/cli/next-test.js
generated
vendored
Normal file
169
apps/public-web/node_modules/next/dist/cli/next-test.js
generated
vendored
Normal file
@@ -0,0 +1,169 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
SUPPORTED_TEST_RUNNERS_LIST: null,
|
||||
nextTest: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
SUPPORTED_TEST_RUNNERS_LIST: function() {
|
||||
return SUPPORTED_TEST_RUNNERS_LIST;
|
||||
},
|
||||
nextTest: function() {
|
||||
return nextTest;
|
||||
}
|
||||
});
|
||||
const _fs = require("fs");
|
||||
const _getprojectdir = require("../lib/get-project-dir");
|
||||
const _utils = require("../server/lib/utils");
|
||||
const _config = /*#__PURE__*/ _interop_require_default(require("../server/config"));
|
||||
const _constants = require("../shared/lib/constants");
|
||||
const _hasnecessarydependencies = require("../lib/has-necessary-dependencies");
|
||||
const _installdependencies = require("../lib/install-dependencies");
|
||||
const _findup = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/find-up"));
|
||||
const _findpagesdir = require("../lib/find-pages-dir");
|
||||
const _verifytypescriptsetup = require("../lib/verify-typescript-setup");
|
||||
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
||||
const _crossspawn = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/cross-spawn"));
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
const SUPPORTED_TEST_RUNNERS_LIST = [
|
||||
'playwright'
|
||||
];
|
||||
const requiredPackagesByTestRunner = {
|
||||
playwright: [
|
||||
{
|
||||
file: 'playwright',
|
||||
pkg: '@playwright/test',
|
||||
exportsRestrict: false
|
||||
}
|
||||
]
|
||||
};
|
||||
async function nextTest(directory, testRunnerArgs = [], options = {}) {
|
||||
// The following mess is in order to support an existing Next.js CLI pattern of optionally, passing a project `directory` as the first argument to execute the command on.
|
||||
// This is problematic for `next test` because as a wrapper around a test runner's `test` command, it needs to pass through any additional arguments and options.
|
||||
// Thus, `directory` could either be a valid Next.js project directory (that the user intends to run `next test` on), or it is the first argument for the test runner.
|
||||
// Unfortunately, since many test runners support passing a path (to a test file or directory containing test files), we must check if `directory` is both a valid path and a valid Next.js project.
|
||||
let baseDir, nextConfig;
|
||||
try {
|
||||
// if directory is `undefined` or a valid path this will succeed.
|
||||
baseDir = (0, _getprojectdir.getProjectDir)(directory, false);
|
||||
} catch (err) {
|
||||
// if that failed, then `directory` is not a valid path, so it must have meant to be the first item for `testRunnerArgs`
|
||||
// @ts-expect-error directory is a string here since `getProjectDir` will succeed if its undefined
|
||||
testRunnerArgs.unshift(directory);
|
||||
// intentionally set baseDir to the resolved '.' path
|
||||
baseDir = (0, _getprojectdir.getProjectDir)();
|
||||
}
|
||||
try {
|
||||
// but, `baseDir` might not be a Next.js project directory, it could be a path-like argument for the test runner (i.e. `playwright test test/foo.spec.js`)
|
||||
// if this succeeds, it means that `baseDir` is a Next.js project directory
|
||||
nextConfig = await (0, _config.default)(_constants.PHASE_PRODUCTION_BUILD, baseDir);
|
||||
} catch (err) {
|
||||
// if it doesn't, then most likely `baseDir` is not a Next.js project directory
|
||||
// @ts-expect-error directory is a string here since `getProjectDir` will succeed if its undefined
|
||||
testRunnerArgs.unshift(directory);
|
||||
// intentionally set baseDir to the resolved '.' path
|
||||
baseDir = (0, _getprojectdir.getProjectDir)();
|
||||
nextConfig = await (0, _config.default)(_constants.PHASE_PRODUCTION_BUILD, baseDir) // let this error bubble up if the `basePath` is still not a valid Next.js project
|
||||
;
|
||||
}
|
||||
// set the test runner. priority is CLI option > next config > default 'playwright'
|
||||
const configuredTestRunner = (options == null ? void 0 : options.testRunner) ?? // --test-runner='foo'
|
||||
nextConfig.experimental.defaultTestRunner ?? // { experimental: { defaultTestRunner: 'foo' }}
|
||||
'playwright';
|
||||
if (!nextConfig.experimental.testProxy) {
|
||||
return (0, _utils.printAndExit)(`\`next experimental-test\` requires the \`experimental.testProxy: true\` configuration option.`);
|
||||
}
|
||||
// execute test runner specific function
|
||||
switch(configuredTestRunner){
|
||||
case 'playwright':
|
||||
return runPlaywright(baseDir, nextConfig, testRunnerArgs);
|
||||
default:
|
||||
return (0, _utils.printAndExit)(`Test runner ${configuredTestRunner} is not supported.`);
|
||||
}
|
||||
}
|
||||
async function checkRequiredDeps(baseDir, testRunner) {
|
||||
const deps = (0, _hasnecessarydependencies.hasNecessaryDependencies)(baseDir, requiredPackagesByTestRunner[testRunner]);
|
||||
if (deps.missing.length > 0) {
|
||||
await (0, _installdependencies.installDependencies)(baseDir, deps.missing, true);
|
||||
const playwright = (0, _crossspawn.default)(_path.default.join(baseDir, 'node_modules', '.bin', 'playwright'), [
|
||||
'install'
|
||||
], {
|
||||
cwd: baseDir,
|
||||
shell: false,
|
||||
stdio: 'inherit',
|
||||
env: {
|
||||
...process.env
|
||||
}
|
||||
});
|
||||
return new Promise((resolve, reject)=>{
|
||||
playwright.on('close', (c)=>resolve(c));
|
||||
playwright.on('error', (err)=>reject(err));
|
||||
});
|
||||
}
|
||||
}
|
||||
async function runPlaywright(baseDir, nextConfig, testRunnerArgs) {
|
||||
await checkRequiredDeps(baseDir, 'playwright');
|
||||
const playwrightConfigFile = await (0, _findup.default)([
|
||||
'playwright.config.js',
|
||||
'playwright.config.ts'
|
||||
], {
|
||||
cwd: baseDir
|
||||
});
|
||||
if (!playwrightConfigFile) {
|
||||
const { pagesDir, appDir } = (0, _findpagesdir.findPagesDir)(baseDir);
|
||||
const { version: typeScriptVersion } = await (0, _verifytypescriptsetup.verifyTypeScriptSetup)({
|
||||
dir: baseDir,
|
||||
distDir: nextConfig.distDir,
|
||||
typeCheckPreflight: false,
|
||||
tsconfigPath: nextConfig.typescript.tsconfigPath,
|
||||
disableStaticImages: nextConfig.images.disableStaticImages,
|
||||
hasAppDir: !!appDir,
|
||||
hasPagesDir: !!pagesDir,
|
||||
isolatedDevBuild: nextConfig.experimental.isolatedDevBuild,
|
||||
appDir: appDir || undefined,
|
||||
pagesDir: pagesDir || undefined
|
||||
});
|
||||
const isUsingTypeScript = !!typeScriptVersion;
|
||||
const playwrightConfigFilename = isUsingTypeScript ? 'playwright.config.ts' : 'playwright.config.js';
|
||||
(0, _fs.writeFileSync)(_path.default.join(baseDir, playwrightConfigFilename), defaultPlaywrightConfig(isUsingTypeScript));
|
||||
return (0, _utils.printAndExit)(`Successfully generated ${playwrightConfigFilename}. Create your first test and then run \`next experimental-test\`.`, 0);
|
||||
} else {
|
||||
const playwright = (0, _crossspawn.default)(_path.default.join(baseDir, 'node_modules', '.bin', 'playwright'), [
|
||||
'test',
|
||||
...testRunnerArgs
|
||||
], {
|
||||
cwd: baseDir,
|
||||
shell: false,
|
||||
stdio: 'inherit',
|
||||
env: {
|
||||
...process.env
|
||||
}
|
||||
});
|
||||
return new Promise((resolve, reject)=>{
|
||||
playwright.on('close', (c)=>resolve(c));
|
||||
playwright.on('error', (err)=>reject(err));
|
||||
});
|
||||
}
|
||||
}
|
||||
function defaultPlaywrightConfig(typescript) {
|
||||
const comment = `/*
|
||||
* Specify any additional Playwright config options here.
|
||||
* They will be merged with Next.js' default Playwright config.
|
||||
* You can access the default config by importing \`defaultPlaywrightConfig\` from \`'next/experimental/testmode/playwright'\`.
|
||||
*/`;
|
||||
return typescript ? `import { defineConfig } from 'next/experimental/testmode/playwright';\n\n${comment}\nexport default defineConfig({});` : `const { defineConfig } = require('next/experimental/testmode/playwright');\n\n${comment}\nmodule.exports = defineConfig({});`;
|
||||
}
|
||||
|
||||
//# sourceMappingURL=next-test.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-test.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-test.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
6
apps/public-web/node_modules/next/dist/cli/next-typegen.d.ts
generated
vendored
Normal file
6
apps/public-web/node_modules/next/dist/cli/next-typegen.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env node
|
||||
export type NextTypegenOptions = {
|
||||
dir?: string;
|
||||
};
|
||||
declare const nextTypegen: (_options: NextTypegenOptions, directory?: string) => Promise<void>;
|
||||
export { nextTypegen };
|
||||
170
apps/public-web/node_modules/next/dist/cli/next-typegen.js
generated
vendored
Normal file
170
apps/public-web/node_modules/next/dist/cli/next-typegen.js
generated
vendored
Normal file
@@ -0,0 +1,170 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "nextTypegen", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return nextTypegen;
|
||||
}
|
||||
});
|
||||
const _fs = require("fs");
|
||||
const _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
|
||||
const _promises = require("fs/promises");
|
||||
const _config = /*#__PURE__*/ _interop_require_default(require("../server/config"));
|
||||
const _utils = require("../server/lib/utils");
|
||||
const _constants = require("../shared/lib/constants");
|
||||
const _getprojectdir = require("../lib/get-project-dir");
|
||||
const _findpagesdir = require("../lib/find-pages-dir");
|
||||
const _verifytypescriptsetup = require("../lib/verify-typescript-setup");
|
||||
const _entries = require("../build/entries");
|
||||
const _pagetypes = require("../lib/page-types");
|
||||
const _routetypesutils = require("../server/lib/router-utils/route-types-utils");
|
||||
const _cachelifetypeutils = require("../server/lib/router-utils/cache-life-type-utils");
|
||||
const _findpagefile = require("../server/lib/find-page-file");
|
||||
const _installbindings = require("../build/swc/install-bindings");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function _getRequireWildcardCache(nodeInterop) {
|
||||
if (typeof WeakMap !== "function") return null;
|
||||
var cacheBabelInterop = new WeakMap();
|
||||
var cacheNodeInterop = new WeakMap();
|
||||
return (_getRequireWildcardCache = function(nodeInterop) {
|
||||
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
||||
})(nodeInterop);
|
||||
}
|
||||
function _interop_require_wildcard(obj, nodeInterop) {
|
||||
if (!nodeInterop && obj && obj.__esModule) {
|
||||
return obj;
|
||||
}
|
||||
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
||||
return {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
var cache = _getRequireWildcardCache(nodeInterop);
|
||||
if (cache && cache.has(obj)) {
|
||||
return cache.get(obj);
|
||||
}
|
||||
var newObj = {
|
||||
__proto__: null
|
||||
};
|
||||
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
||||
for(var key in obj){
|
||||
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
||||
if (desc && (desc.get || desc.set)) {
|
||||
Object.defineProperty(newObj, key, desc);
|
||||
} else {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
newObj.default = obj;
|
||||
if (cache) {
|
||||
cache.set(obj, newObj);
|
||||
}
|
||||
return newObj;
|
||||
}
|
||||
const nextTypegen = async (_options, directory)=>{
|
||||
var _nextConfig_experimental;
|
||||
const baseDir = (0, _getprojectdir.getProjectDir)(directory);
|
||||
// Check if the provided directory exists
|
||||
if (!(0, _fs.existsSync)(baseDir)) {
|
||||
(0, _utils.printAndExit)(`> No such directory exists as the project root: ${baseDir}`);
|
||||
}
|
||||
const nextConfig = await (0, _config.default)(_constants.PHASE_PRODUCTION_BUILD, baseDir);
|
||||
await (0, _installbindings.installBindings)((_nextConfig_experimental = nextConfig.experimental) == null ? void 0 : _nextConfig_experimental.useWasmBinary);
|
||||
const distDir = (0, _path.join)(baseDir, nextConfig.distDir);
|
||||
const { pagesDir, appDir } = (0, _findpagesdir.findPagesDir)(baseDir);
|
||||
await (0, _verifytypescriptsetup.verifyTypeScriptSetup)({
|
||||
dir: baseDir,
|
||||
distDir: nextConfig.distDir,
|
||||
typeCheckPreflight: false,
|
||||
tsconfigPath: nextConfig.typescript.tsconfigPath,
|
||||
disableStaticImages: nextConfig.images.disableStaticImages,
|
||||
hasAppDir: !!appDir,
|
||||
hasPagesDir: !!pagesDir,
|
||||
isolatedDevBuild: nextConfig.experimental.isolatedDevBuild,
|
||||
appDir: appDir || undefined,
|
||||
pagesDir: pagesDir || undefined
|
||||
});
|
||||
console.log('Generating route types...');
|
||||
const routeTypesFilePath = (0, _path.join)(distDir, 'types', 'routes.d.ts');
|
||||
const validatorFilePath = (0, _path.join)(distDir, 'types', 'validator.ts');
|
||||
await (0, _promises.mkdir)((0, _path.join)(distDir, 'types'), {
|
||||
recursive: true
|
||||
});
|
||||
let pageRoutes = [];
|
||||
let appRoutes = [];
|
||||
let appRouteHandlers = [];
|
||||
let layoutRoutes = [];
|
||||
let slots = [];
|
||||
let pageApiRoutes = [];
|
||||
let mappedPages = {};
|
||||
let mappedAppPages = {};
|
||||
let mappedAppLayouts = {};
|
||||
// Helper function to reduce createPagesMapping duplication
|
||||
const createMapping = (pagePaths, pagesType)=>(0, _entries.createPagesMapping)({
|
||||
pagePaths,
|
||||
isDev: false,
|
||||
pagesType,
|
||||
pageExtensions: nextConfig.pageExtensions,
|
||||
pagesDir,
|
||||
appDir,
|
||||
appDirOnly: !!appDir && !pagesDir
|
||||
});
|
||||
const validFileMatcher = (0, _findpagefile.createValidFileMatcher)(nextConfig.pageExtensions, appDir);
|
||||
const isSrcDir = _path.default.relative(baseDir, pagesDir || appDir || '').startsWith('src');
|
||||
// Build pages routes
|
||||
if (pagesDir) {
|
||||
const pagePaths = await (0, _entries.collectPagesFiles)(pagesDir, validFileMatcher);
|
||||
mappedPages = await createMapping(pagePaths, _pagetypes.PAGE_TYPES.PAGES);
|
||||
// Process pages routes
|
||||
const processedPages = (0, _entries.processPageRoutes)(mappedPages, baseDir, isSrcDir);
|
||||
pageRoutes = processedPages.pageRoutes;
|
||||
pageApiRoutes = processedPages.pageApiRoutes;
|
||||
}
|
||||
// Build app routes
|
||||
if (appDir) {
|
||||
// Collect app pages, layouts, and default files in a single directory traversal
|
||||
const { appPaths, layoutPaths, defaultPaths } = await (0, _entries.collectAppFiles)(appDir, validFileMatcher);
|
||||
mappedAppPages = await createMapping(appPaths, _pagetypes.PAGE_TYPES.APP);
|
||||
mappedAppLayouts = await createMapping(layoutPaths, _pagetypes.PAGE_TYPES.APP);
|
||||
const mappedDefaultFiles = await createMapping(defaultPaths, _pagetypes.PAGE_TYPES.APP);
|
||||
// Process app routes and extract slots from both pages and default files
|
||||
const slotsFromPages = (0, _entries.extractSlotsFromAppRoutes)(mappedAppPages);
|
||||
const slotsFromDefaults = (0, _entries.extractSlotsFromDefaultFiles)(mappedDefaultFiles);
|
||||
// Combine slots and deduplicate using Set
|
||||
slots = (0, _entries.combineSlots)(slotsFromPages, slotsFromDefaults);
|
||||
const result = (0, _entries.processAppRoutes)(mappedAppPages, validFileMatcher, baseDir, isSrcDir);
|
||||
appRoutes = result.appRoutes;
|
||||
appRouteHandlers = result.appRouteHandlers;
|
||||
// Process layout routes
|
||||
layoutRoutes = (0, _entries.processLayoutRoutes)(mappedAppLayouts, baseDir, isSrcDir);
|
||||
}
|
||||
const routeTypesManifest = await (0, _routetypesutils.createRouteTypesManifest)({
|
||||
dir: baseDir,
|
||||
pageRoutes,
|
||||
appRoutes,
|
||||
appRouteHandlers,
|
||||
pageApiRoutes,
|
||||
layoutRoutes,
|
||||
slots,
|
||||
redirects: nextConfig.redirects,
|
||||
rewrites: nextConfig.rewrites,
|
||||
validatorFilePath
|
||||
});
|
||||
await (0, _routetypesutils.writeRouteTypesManifest)(routeTypesManifest, routeTypesFilePath, nextConfig);
|
||||
await (0, _routetypesutils.writeValidatorFile)(routeTypesManifest, validatorFilePath);
|
||||
// Generate cache-life types if cacheLife config exists
|
||||
const cacheLifeFilePath = (0, _path.join)(distDir, 'types', 'cache-life.d.ts');
|
||||
(0, _cachelifetypeutils.writeCacheLifeTypes)(nextConfig.cacheLife, cacheLifeFilePath);
|
||||
console.log('✓ Types generated successfully');
|
||||
};
|
||||
|
||||
//# sourceMappingURL=next-typegen.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-typegen.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-typegen.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
6
apps/public-web/node_modules/next/dist/cli/next-upgrade.d.ts
generated
vendored
Normal file
6
apps/public-web/node_modules/next/dist/cli/next-upgrade.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
interface NextUpgradeOptions {
|
||||
revision: string;
|
||||
verbose: boolean;
|
||||
}
|
||||
export declare function spawnNextUpgrade(directory: string | undefined, options: NextUpgradeOptions): void;
|
||||
export {};
|
||||
36
apps/public-web/node_modules/next/dist/cli/next-upgrade.js
generated
vendored
Normal file
36
apps/public-web/node_modules/next/dist/cli/next-upgrade.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "spawnNextUpgrade", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return spawnNextUpgrade;
|
||||
}
|
||||
});
|
||||
const _child_process = require("child_process");
|
||||
const _getprojectdir = require("../lib/get-project-dir");
|
||||
const _getnpxcommand = require("../lib/helpers/get-npx-command");
|
||||
function spawnNextUpgrade(directory, options) {
|
||||
const baseDir = (0, _getprojectdir.getProjectDir)(directory);
|
||||
const [upgradeProcessCommand, ...upgradeProcessDefaultArgs] = (0, _getnpxcommand.getNpxCommand)(baseDir).split(' ');
|
||||
const upgradeProcessCommandArgs = [
|
||||
...upgradeProcessDefaultArgs,
|
||||
// Needs to be bleeding edge (canary) to pick up latest codemods.
|
||||
'@next/codemod@canary',
|
||||
'upgrade',
|
||||
options.revision
|
||||
];
|
||||
if (options.verbose) {
|
||||
upgradeProcessCommandArgs.push('--verbose');
|
||||
}
|
||||
const upgradeProcess = (0, _child_process.spawn)(upgradeProcessCommand, upgradeProcessCommandArgs, {
|
||||
stdio: 'inherit',
|
||||
cwd: baseDir
|
||||
});
|
||||
upgradeProcess.on('close', (code)=>{
|
||||
process.exitCode = code ?? 0;
|
||||
});
|
||||
}
|
||||
|
||||
//# sourceMappingURL=next-upgrade.js.map
|
||||
1
apps/public-web/node_modules/next/dist/cli/next-upgrade.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/cli/next-upgrade.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/cli/next-upgrade.ts"],"sourcesContent":["import { spawn } from 'child_process'\nimport { getProjectDir } from '../lib/get-project-dir'\nimport { getNpxCommand } from '../lib/helpers/get-npx-command'\n\ninterface NextUpgradeOptions {\n revision: string\n verbose: boolean\n}\n\nexport function spawnNextUpgrade(\n directory: string | undefined,\n options: NextUpgradeOptions\n) {\n const baseDir = getProjectDir(directory)\n const [upgradeProcessCommand, ...upgradeProcessDefaultArgs] =\n getNpxCommand(baseDir).split(' ')\n\n const upgradeProcessCommandArgs = [\n ...upgradeProcessDefaultArgs,\n // Needs to be bleeding edge (canary) to pick up latest codemods.\n '@next/codemod@canary',\n 'upgrade',\n options.revision,\n ]\n if (options.verbose) {\n upgradeProcessCommandArgs.push('--verbose')\n }\n\n const upgradeProcess = spawn(\n upgradeProcessCommand,\n upgradeProcessCommandArgs,\n {\n stdio: 'inherit',\n cwd: baseDir,\n }\n )\n\n upgradeProcess.on('close', (code) => {\n process.exitCode = code ?? 0\n })\n}\n"],"names":["spawnNextUpgrade","directory","options","baseDir","getProjectDir","upgradeProcessCommand","upgradeProcessDefaultArgs","getNpxCommand","split","upgradeProcessCommandArgs","revision","verbose","push","upgradeProcess","spawn","stdio","cwd","on","code","process","exitCode"],"mappings":";;;;+BASgBA;;;eAAAA;;;+BATM;+BACQ;+BACA;AAOvB,SAASA,iBACdC,SAA6B,EAC7BC,OAA2B;IAE3B,MAAMC,UAAUC,IAAAA,4BAAa,EAACH;IAC9B,MAAM,CAACI,uBAAuB,GAAGC,0BAA0B,GACzDC,IAAAA,4BAAa,EAACJ,SAASK,KAAK,CAAC;IAE/B,MAAMC,4BAA4B;WAC7BH;QACH,iEAAiE;QACjE;QACA;QACAJ,QAAQQ,QAAQ;KACjB;IACD,IAAIR,QAAQS,OAAO,EAAE;QACnBF,0BAA0BG,IAAI,CAAC;IACjC;IAEA,MAAMC,iBAAiBC,IAAAA,oBAAK,EAC1BT,uBACAI,2BACA;QACEM,OAAO;QACPC,KAAKb;IACP;IAGFU,eAAeI,EAAE,CAAC,SAAS,CAACC;QAC1BC,QAAQC,QAAQ,GAAGF,QAAQ;IAC7B;AACF","ignoreList":[0]}
|
||||
Reference in New Issue
Block a user