Initial boiler plate project
This commit is contained in:
263
node_modules/next/dist/client/components/react-dev-overlay/server/middleware.js
generated
vendored
Normal file
263
node_modules/next/dist/client/components/react-dev-overlay/server/middleware.js
generated
vendored
Normal file
@ -0,0 +1,263 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
createOriginalStackFrame: null,
|
||||
getOverlayMiddleware: null,
|
||||
getServerError: null,
|
||||
getSourceById: null,
|
||||
parseStack: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
createOriginalStackFrame: function() {
|
||||
return createOriginalStackFrame;
|
||||
},
|
||||
getOverlayMiddleware: function() {
|
||||
return getOverlayMiddleware;
|
||||
},
|
||||
getServerError: function() {
|
||||
return _nodeStackFrames.getServerError;
|
||||
},
|
||||
getSourceById: function() {
|
||||
return getSourceById;
|
||||
},
|
||||
parseStack: function() {
|
||||
return _parseStack.parseStack;
|
||||
}
|
||||
});
|
||||
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
||||
const _fs = require("fs");
|
||||
const _path = /*#__PURE__*/ _interop_require_default._(require("path"));
|
||||
const _sourcemap08 = require("next/dist/compiled/source-map08");
|
||||
const _getRawSourceMap = require("../internal/helpers/getRawSourceMap");
|
||||
const _launchEditor = require("../internal/helpers/launchEditor");
|
||||
const _shared = require("./shared");
|
||||
const _nodeStackFrames = require("../internal/helpers/nodeStackFrames");
|
||||
const _parseStack = require("../internal/helpers/parseStack");
|
||||
function getModuleId(compilation, module1) {
|
||||
return compilation.chunkGraph.getModuleId(module1);
|
||||
}
|
||||
function getModuleById(id, compilation) {
|
||||
return [
|
||||
...compilation.modules
|
||||
].find((searchModule)=>getModuleId(compilation, searchModule) === id);
|
||||
}
|
||||
function findModuleNotFoundFromError(errorMessage) {
|
||||
var _errorMessage_match;
|
||||
return errorMessage == null ? void 0 : (_errorMessage_match = errorMessage.match(/'([^']+)' module/)) == null ? void 0 : _errorMessage_match[1];
|
||||
}
|
||||
function getModuleSource(compilation, module1) {
|
||||
var _compilation_codeGenerationResults_get;
|
||||
if (!module1) return null;
|
||||
var _compilation_codeGenerationResults_get_sources_get;
|
||||
return (_compilation_codeGenerationResults_get_sources_get = (_compilation_codeGenerationResults_get = compilation.codeGenerationResults.get(module1)) == null ? void 0 : _compilation_codeGenerationResults_get.sources.get("javascript")) != null ? _compilation_codeGenerationResults_get_sources_get : null;
|
||||
}
|
||||
function getSourcePath(source) {
|
||||
return source.replace(/^(webpack:\/\/\/|webpack:\/\/|webpack:\/\/_N_E\/)/, "");
|
||||
}
|
||||
async function findOriginalSourcePositionAndContent(webpackSource, position) {
|
||||
const consumer = await new _sourcemap08.SourceMapConsumer(webpackSource.map());
|
||||
try {
|
||||
var _position_column;
|
||||
const sourcePosition = consumer.originalPositionFor({
|
||||
line: position.line,
|
||||
column: (_position_column = position.column) != null ? _position_column : 0
|
||||
});
|
||||
if (!sourcePosition.source) {
|
||||
return null;
|
||||
}
|
||||
var _consumer_sourceContentFor;
|
||||
const sourceContent = (_consumer_sourceContentFor = consumer.sourceContentFor(sourcePosition.source, /* returnNullOnMissing */ true)) != null ? _consumer_sourceContentFor : null;
|
||||
return {
|
||||
sourcePosition,
|
||||
sourceContent
|
||||
};
|
||||
} finally{
|
||||
consumer.destroy();
|
||||
}
|
||||
}
|
||||
function findOriginalSourcePositionAndContentFromCompilation(moduleId, importedModule, compilation) {
|
||||
var _module_buildInfo_importLocByPath, _module_buildInfo;
|
||||
const module1 = getModuleById(moduleId, compilation);
|
||||
var _module_buildInfo_importLocByPath_get;
|
||||
return (_module_buildInfo_importLocByPath_get = module1 == null ? void 0 : (_module_buildInfo = module1.buildInfo) == null ? void 0 : (_module_buildInfo_importLocByPath = _module_buildInfo.importLocByPath) == null ? void 0 : _module_buildInfo_importLocByPath.get(importedModule)) != null ? _module_buildInfo_importLocByPath_get : null;
|
||||
}
|
||||
async function createOriginalStackFrame(param) {
|
||||
let { source, moduleId, modulePath, rootDirectory, frame, errorMessage, compilation } = param;
|
||||
var // default is not a valid identifier in JS so webpack uses a custom variable when it's an unnamed default export
|
||||
// Resolve it back to `default` for the method name if the source position didn't have the method.
|
||||
_frame_methodName_replace, _frame_methodName;
|
||||
const { lineNumber, column } = frame;
|
||||
const moduleNotFound = findModuleNotFoundFromError(errorMessage);
|
||||
const result = await (async ()=>{
|
||||
if (moduleNotFound) {
|
||||
if (!compilation) return null;
|
||||
return findOriginalSourcePositionAndContentFromCompilation(moduleId, moduleNotFound, compilation);
|
||||
}
|
||||
// This returns 1-based lines and 0-based columns
|
||||
return await findOriginalSourcePositionAndContent(source, {
|
||||
line: lineNumber != null ? lineNumber : 1,
|
||||
column
|
||||
});
|
||||
})();
|
||||
if (!(result == null ? void 0 : result.sourcePosition.source)) return null;
|
||||
const { sourcePosition, sourceContent } = result;
|
||||
const filePath = _path.default.resolve(rootDirectory, getSourcePath(// When sourcePosition.source is the loader path the modulePath is generally better.
|
||||
(sourcePosition.source.includes("|") ? modulePath : sourcePosition.source) || modulePath));
|
||||
var _sourcePosition_column;
|
||||
const traced = {
|
||||
file: sourceContent ? _path.default.relative(rootDirectory, filePath) : sourcePosition.source,
|
||||
lineNumber: sourcePosition.line,
|
||||
column: ((_sourcePosition_column = sourcePosition.column) != null ? _sourcePosition_column : 0) + 1,
|
||||
methodName: sourcePosition.name || ((_frame_methodName = frame.methodName) == null ? void 0 : (_frame_methodName_replace = _frame_methodName.replace("__WEBPACK_DEFAULT_EXPORT__", "default")) == null ? void 0 : _frame_methodName_replace.replace("__webpack_exports__.", "")),
|
||||
arguments: []
|
||||
};
|
||||
return {
|
||||
originalStackFrame: traced,
|
||||
originalCodeFrame: (0, _shared.getOriginalCodeFrame)(traced, sourceContent),
|
||||
sourcePackage: (0, _shared.findSourcePackage)(traced)
|
||||
};
|
||||
}
|
||||
async function getSourceById(isFile, id, compilation) {
|
||||
if (isFile) {
|
||||
const fileContent = await _fs.promises.readFile(id, "utf-8").catch(()=>null);
|
||||
if (fileContent == null) {
|
||||
return null;
|
||||
}
|
||||
const map = (0, _getRawSourceMap.getRawSourceMap)(fileContent);
|
||||
if (map == null) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
map () {
|
||||
return map;
|
||||
}
|
||||
};
|
||||
}
|
||||
try {
|
||||
if (!compilation) {
|
||||
return null;
|
||||
}
|
||||
const module1 = getModuleById(id, compilation);
|
||||
const moduleSource = getModuleSource(compilation, module1);
|
||||
return moduleSource;
|
||||
} catch (err) {
|
||||
console.error('Failed to lookup module by ID ("' + id + '"):', err);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
function getOverlayMiddleware(options) {
|
||||
return async function(req, res, next) {
|
||||
const { pathname, searchParams } = new URL("http://n" + req.url);
|
||||
var _searchParams_get, _searchParams_get1;
|
||||
const frame = {
|
||||
file: searchParams.get("file"),
|
||||
methodName: searchParams.get("methodName"),
|
||||
lineNumber: parseInt((_searchParams_get = searchParams.get("lineNumber")) != null ? _searchParams_get : "0", 10) || 0,
|
||||
column: parseInt((_searchParams_get1 = searchParams.get("column")) != null ? _searchParams_get1 : "0", 10) || 0,
|
||||
arguments: searchParams.getAll("arguments").filter(Boolean)
|
||||
};
|
||||
const isServer = searchParams.get("isServer") === "true";
|
||||
const isEdgeServer = searchParams.get("isEdgeServer") === "true";
|
||||
const isAppDirectory = searchParams.get("isAppDirectory") === "true";
|
||||
if (pathname === "/__nextjs_original-stack-frame") {
|
||||
const isClient = !isServer && !isEdgeServer;
|
||||
let sourcePackage = (0, _shared.findSourcePackage)(frame);
|
||||
if (!(/^(webpack-internal:\/\/\/|(file|webpack):\/\/)/.test(frame.file) && frame.lineNumber)) {
|
||||
if (sourcePackage) return (0, _shared.json)(res, {
|
||||
sourcePackage
|
||||
});
|
||||
return (0, _shared.badRequest)(res);
|
||||
}
|
||||
const moduleId = frame.file.replace(/^(webpack-internal:\/\/\/|file:\/\/|webpack:\/\/(_N_E\/)?)/, "");
|
||||
const modulePath = frame.file.replace(/^(webpack-internal:\/\/\/|file:\/\/|webpack:\/\/(_N_E\/)?)(\(.*\)\/?)/, "");
|
||||
let source = null;
|
||||
let compilation;
|
||||
const isFile = frame.file.startsWith("file:");
|
||||
try {
|
||||
if (isClient || isAppDirectory) {
|
||||
var _options_stats;
|
||||
compilation = (_options_stats = options.stats()) == null ? void 0 : _options_stats.compilation;
|
||||
// Try Client Compilation first
|
||||
// In `pages` we leverage `isClientError` to check
|
||||
// In `app` it depends on if it's a server / client component and when the code throws. E.g. during HTML rendering it's the server/edge compilation.
|
||||
source = await getSourceById(isFile, moduleId, compilation);
|
||||
}
|
||||
// Try Server Compilation
|
||||
// In `pages` this could be something imported in getServerSideProps/getStaticProps as the code for those is tree-shaken.
|
||||
// In `app` this finds server components and code that was imported from a server component. It also covers when client component code throws during HTML rendering.
|
||||
if ((isServer || isAppDirectory) && source === null) {
|
||||
var _options_serverStats;
|
||||
compilation = (_options_serverStats = options.serverStats()) == null ? void 0 : _options_serverStats.compilation;
|
||||
source = await getSourceById(isFile, moduleId, compilation);
|
||||
}
|
||||
// Try Edge Server Compilation
|
||||
// Both cases are the same as Server Compilation, main difference is that it covers `runtime: 'edge'` pages/app routes.
|
||||
if ((isEdgeServer || isAppDirectory) && source === null) {
|
||||
var _options_edgeServerStats;
|
||||
compilation = (_options_edgeServerStats = options.edgeServerStats()) == null ? void 0 : _options_edgeServerStats.compilation;
|
||||
source = await getSourceById(isFile, moduleId, compilation);
|
||||
}
|
||||
} catch (err) {
|
||||
console.log("Failed to get source map:", err);
|
||||
return (0, _shared.internalServerError)(res);
|
||||
}
|
||||
if (!source) {
|
||||
if (sourcePackage) return (0, _shared.json)(res, {
|
||||
sourcePackage
|
||||
});
|
||||
return (0, _shared.noContent)(res);
|
||||
}
|
||||
try {
|
||||
const originalStackFrameResponse = await createOriginalStackFrame({
|
||||
frame,
|
||||
source,
|
||||
moduleId,
|
||||
modulePath,
|
||||
rootDirectory: options.rootDirectory,
|
||||
compilation
|
||||
});
|
||||
if (originalStackFrameResponse === null) {
|
||||
if (sourcePackage) return (0, _shared.json)(res, {
|
||||
sourcePackage
|
||||
});
|
||||
return (0, _shared.noContent)(res);
|
||||
}
|
||||
return (0, _shared.json)(res, originalStackFrameResponse);
|
||||
} catch (err) {
|
||||
console.log("Failed to parse source map:", err);
|
||||
return (0, _shared.internalServerError)(res);
|
||||
}
|
||||
} else if (pathname === "/__nextjs_launch-editor") {
|
||||
if (!frame.file) return (0, _shared.badRequest)(res);
|
||||
// frame files may start with their webpack layer, like (middleware)/middleware.js
|
||||
const filePath = _path.default.resolve(options.rootDirectory, frame.file.replace(/^\([^)]+\)\//, ""));
|
||||
const fileExists = await _fs.promises.access(filePath, _fs.constants.F_OK).then(()=>true, ()=>false);
|
||||
if (!fileExists) return (0, _shared.noContent)(res);
|
||||
try {
|
||||
var _frame_column;
|
||||
await (0, _launchEditor.launchEditor)(filePath, frame.lineNumber, (_frame_column = frame.column) != null ? _frame_column : 1);
|
||||
} catch (err) {
|
||||
console.log("Failed to launch editor:", err);
|
||||
return (0, _shared.internalServerError)(res);
|
||||
}
|
||||
return (0, _shared.noContent)(res);
|
||||
}
|
||||
return next();
|
||||
};
|
||||
}
|
||||
|
||||
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
||||
Object.defineProperty(exports.default, '__esModule', { value: true });
|
||||
Object.assign(exports.default, exports);
|
||||
module.exports = exports.default;
|
||||
}
|
||||
|
||||
//# sourceMappingURL=middleware.js.map
|
||||
Reference in New Issue
Block a user