create project
This commit is contained in:
154
kitabcitab/node_modules/next/dist/esm/server/next.js
generated
vendored
Normal file
154
kitabcitab/node_modules/next/dist/esm/server/next.js
generated
vendored
Normal file
@@ -0,0 +1,154 @@
|
||||
import "./node-polyfill-fetch";
|
||||
import * as log from "../build/output/log";
|
||||
import loadConfig from "./config";
|
||||
import { resolve } from "path";
|
||||
import { NON_STANDARD_NODE_ENV } from "../lib/constants";
|
||||
import { PHASE_DEVELOPMENT_SERVER } from "../shared/lib/constants";
|
||||
import { PHASE_PRODUCTION_SERVER } from "../shared/lib/constants";
|
||||
import { loadRequireHook, overrideBuiltInReactPackages } from "../build/webpack/require-hook";
|
||||
loadRequireHook();
|
||||
let ServerImpl;
|
||||
const getServerImpl = async ()=>{
|
||||
if (ServerImpl === undefined) {
|
||||
ServerImpl = (await Promise.resolve(require("./next-server"))).default;
|
||||
}
|
||||
return ServerImpl;
|
||||
};
|
||||
export class NextServer {
|
||||
constructor(options){
|
||||
this.options = options;
|
||||
}
|
||||
get hostname() {
|
||||
return this.options.hostname;
|
||||
}
|
||||
get port() {
|
||||
return this.options.port;
|
||||
}
|
||||
getRequestHandler() {
|
||||
return async (req, res, parsedUrl)=>{
|
||||
const requestHandler = await this.getServerRequestHandler();
|
||||
return requestHandler(req, res, parsedUrl);
|
||||
};
|
||||
}
|
||||
getUpgradeHandler() {
|
||||
return async (req, socket, head)=>{
|
||||
const server = await this.getServer();
|
||||
// @ts-expect-error we mark this as protected so it
|
||||
// causes an error here
|
||||
return server.handleUpgrade.apply(server, [
|
||||
req,
|
||||
socket,
|
||||
head
|
||||
]);
|
||||
};
|
||||
}
|
||||
setAssetPrefix(assetPrefix) {
|
||||
if (this.server) {
|
||||
this.server.setAssetPrefix(assetPrefix);
|
||||
} else {
|
||||
this.preparedAssetPrefix = assetPrefix;
|
||||
}
|
||||
}
|
||||
logError(...args) {
|
||||
if (this.server) {
|
||||
this.server.logError(...args);
|
||||
}
|
||||
}
|
||||
async render(...args) {
|
||||
const server = await this.getServer();
|
||||
return server.render(...args);
|
||||
}
|
||||
async renderToHTML(...args) {
|
||||
const server = await this.getServer();
|
||||
return server.renderToHTML(...args);
|
||||
}
|
||||
async renderError(...args) {
|
||||
const server = await this.getServer();
|
||||
return server.renderError(...args);
|
||||
}
|
||||
async renderErrorToHTML(...args) {
|
||||
const server = await this.getServer();
|
||||
return server.renderErrorToHTML(...args);
|
||||
}
|
||||
async render404(...args) {
|
||||
const server = await this.getServer();
|
||||
return server.render404(...args);
|
||||
}
|
||||
async serveStatic(...args) {
|
||||
const server = await this.getServer();
|
||||
return server.serveStatic(...args);
|
||||
}
|
||||
async prepare() {
|
||||
const server = await this.getServer();
|
||||
return server.prepare();
|
||||
}
|
||||
async close() {
|
||||
const server = await this.getServer();
|
||||
return server.close();
|
||||
}
|
||||
async createServer(options) {
|
||||
if (options.dev) {
|
||||
const DevServer = require("./dev/next-dev-server").default;
|
||||
return new DevServer(options);
|
||||
}
|
||||
const ServerImplementation = await getServerImpl();
|
||||
return new ServerImplementation(options);
|
||||
}
|
||||
async loadConfig() {
|
||||
return loadConfig(this.options.dev ? PHASE_DEVELOPMENT_SERVER : PHASE_PRODUCTION_SERVER, resolve(this.options.dir || "."), this.options.conf);
|
||||
}
|
||||
async getServer() {
|
||||
if (!this.serverPromise) {
|
||||
this.serverPromise = this.loadConfig().then(async (conf)=>{
|
||||
if (conf.experimental.appDir) {
|
||||
process.env.NEXT_PREBUNDLED_REACT = "1";
|
||||
overrideBuiltInReactPackages();
|
||||
}
|
||||
this.server = await this.createServer({
|
||||
...this.options,
|
||||
conf
|
||||
});
|
||||
if (this.preparedAssetPrefix) {
|
||||
this.server.setAssetPrefix(this.preparedAssetPrefix);
|
||||
}
|
||||
return this.server;
|
||||
});
|
||||
}
|
||||
return this.serverPromise;
|
||||
}
|
||||
async getServerRequestHandler() {
|
||||
// Memoize request handler creation
|
||||
if (!this.reqHandlerPromise) {
|
||||
this.reqHandlerPromise = this.getServer().then((server)=>server.getRequestHandler().bind(server));
|
||||
}
|
||||
return this.reqHandlerPromise;
|
||||
}
|
||||
}
|
||||
// This file is used for when users run `require('next')`
|
||||
function createServer(options) {
|
||||
// The package is used as a TypeScript plugin.
|
||||
if (options && "typescript" in options && "version" in options.typescript) {
|
||||
return require("./next-typescript").createTSPlugin(options);
|
||||
}
|
||||
if (options == null) {
|
||||
throw new Error("The server has not been instantiated properly. https://nextjs.org/docs/messages/invalid-server-options");
|
||||
}
|
||||
if (!("isNextDevCommand" in options) && process.env.NODE_ENV && ![
|
||||
"production",
|
||||
"development",
|
||||
"test"
|
||||
].includes(process.env.NODE_ENV)) {
|
||||
log.warn(NON_STANDARD_NODE_ENV);
|
||||
}
|
||||
if (options.dev && typeof options.dev !== "boolean") {
|
||||
console.warn("Warning: 'dev' is not a boolean which could introduce unexpected behavior. https://nextjs.org/docs/messages/invalid-server-options");
|
||||
}
|
||||
return new NextServer(options);
|
||||
}
|
||||
// Support commonjs `require('next')`
|
||||
module.exports = createServer;
|
||||
exports = module.exports;
|
||||
// Support `import next from 'next'`
|
||||
export default createServer;
|
||||
|
||||
//# sourceMappingURL=next.js.map
|
||||
Reference in New Issue
Block a user