feat(ui): finalize E-TIB modernization with footer redesign, video optimization, and TS fixes
Former-commit-id: 67ac02c8404cc66893fdf97308574701cca6000c
This commit is contained in:
1
.next/BUILD_ID
Normal file
1
.next/BUILD_ID
Normal file
@@ -0,0 +1 @@
|
||||
IXTVC4h58-GoEIlInIL1G
|
||||
26
.next/app-path-routes-manifest.json
Normal file
26
.next/app-path-routes-manifest.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"/[locale]/[slug]/opengraph-image/route": "/[locale]/[slug]/opengraph-image",
|
||||
"/[locale]/[slug]/page": "/[locale]/[slug]",
|
||||
"/[locale]/blog/[slug]/opengraph-image/route": "/[locale]/blog/[slug]/opengraph-image",
|
||||
"/[locale]/blog/[slug]/page": "/[locale]/blog/[slug]",
|
||||
"/[locale]/blog/opengraph-image/route": "/[locale]/blog/opengraph-image",
|
||||
"/[locale]/blog/page": "/[locale]/blog",
|
||||
"/[locale]/contact/opengraph-image/route": "/[locale]/contact/opengraph-image",
|
||||
"/[locale]/contact/page": "/[locale]/contact",
|
||||
"/[locale]/opengraph-image/route": "/[locale]/opengraph-image",
|
||||
"/[locale]/page": "/[locale]",
|
||||
"/[locale]/team/opengraph-image/route": "/[locale]/team/opengraph-image",
|
||||
"/[locale]/team/page": "/[locale]/team",
|
||||
"/[locale]/test/page": "/[locale]/test",
|
||||
"/_global-error/page": "/_global-error",
|
||||
"/_not-found/page": "/_not-found",
|
||||
"/api/feedback/route": "/api/feedback",
|
||||
"/api/save-session/route": "/api/save-session",
|
||||
"/api/whoami/route": "/api/whoami",
|
||||
"/health/route": "/health",
|
||||
"/manifest.webmanifest/route": "/manifest.webmanifest",
|
||||
"/robots.txt/route": "/robots.txt",
|
||||
"/sitemap.xml/route": "/sitemap.xml",
|
||||
"/stats/api/send/route": "/stats/api/send",
|
||||
"/test/page": "/test"
|
||||
}
|
||||
21
.next/build-manifest.json
Normal file
21
.next/build-manifest.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"pages": {
|
||||
"/_app": []
|
||||
},
|
||||
"devFiles": [],
|
||||
"polyfillFiles": [
|
||||
"static/chunks/a6dad97d9634a72d.js"
|
||||
],
|
||||
"lowPriorityFiles": [
|
||||
"static/IXTVC4h58-GoEIlInIL1G/_ssgManifest.js",
|
||||
"static/IXTVC4h58-GoEIlInIL1G/_buildManifest.js"
|
||||
],
|
||||
"rootMainFiles": [
|
||||
"static/chunks/c68fc807b9365f18.js",
|
||||
"static/chunks/f51290069c969e8a.js",
|
||||
"static/chunks/29297b02a438a66e.js",
|
||||
"static/chunks/fd7b24483a212e2f.js",
|
||||
"static/chunks/b62c08cc490fef16.js",
|
||||
"static/chunks/turbopack-e5b78b2a7c8f1f21.js"
|
||||
]
|
||||
}
|
||||
201
.next/build/chunks/[root-of-the-server]__5d23b8aa._.js
Normal file
201
.next/build/chunks/[root-of-the-server]__5d23b8aa._.js
Normal file
@@ -0,0 +1,201 @@
|
||||
module.exports = [
|
||||
"[externals]/path [external] (path, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("path", () => require("path"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[externals]/url [external] (url, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("url", () => require("url"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[externals]/fs [external] (fs, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("fs", () => require("fs"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[project]/postcss.config.cjs [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
/* eslint-disable no-undef */ module.exports = {
|
||||
plugins: {
|
||||
'@tailwindcss/postcss': {},
|
||||
autoprefixer: {}
|
||||
}
|
||||
};
|
||||
}),
|
||||
"[turbopack-node]/transforms/transforms.ts [postcss] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Shared utilities for our 2 transform implementations.
|
||||
*/ __turbopack_context__.s([
|
||||
"fromPath",
|
||||
()=>fromPath,
|
||||
"getReadEnvVariables",
|
||||
()=>getReadEnvVariables,
|
||||
"toPath",
|
||||
()=>toPath
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/path [external] (path, cjs)");
|
||||
;
|
||||
const contextDir = process.cwd();
|
||||
const toPath = (file)=>{
|
||||
const relPath = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["relative"])(contextDir, file);
|
||||
if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["isAbsolute"])(relPath)) {
|
||||
throw new Error(`Cannot depend on path (${file}) outside of root directory (${contextDir})`);
|
||||
}
|
||||
return __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["sep"] !== '/' ? relPath.replaceAll(__TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["sep"], '/') : relPath;
|
||||
};
|
||||
const fromPath = (path)=>{
|
||||
return (0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["join"])(/* turbopackIgnore: true */ contextDir, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["sep"] !== '/' ? path.replaceAll('/', __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["sep"]) : path);
|
||||
};
|
||||
// Patch process.env to track which env vars are read
|
||||
const originalEnv = process.env;
|
||||
const readEnvVars = new Set();
|
||||
process.env = new Proxy(originalEnv, {
|
||||
get (target, prop) {
|
||||
if (typeof prop === 'string') {
|
||||
// We register the env var as dependency on the
|
||||
// current transform and all future transforms
|
||||
// since the env var might be cached in module scope
|
||||
// and influence them all
|
||||
readEnvVars.add(prop);
|
||||
}
|
||||
return Reflect.get(target, prop);
|
||||
},
|
||||
set (target, prop, value) {
|
||||
return Reflect.set(target, prop, value);
|
||||
}
|
||||
});
|
||||
function getReadEnvVariables() {
|
||||
return Array.from(readEnvVars);
|
||||
}
|
||||
}),
|
||||
"[turbopack-node]/transforms/postcss.ts { CONFIG => \"[project]/postcss.config.cjs [postcss] (ecmascript)\" } [postcss] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>transform,
|
||||
"init",
|
||||
()=>init
|
||||
]);
|
||||
// @ts-ignore
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$postcss$40$8$2e$5$2e$8$2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$mjs__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/postcss.mjs [postcss] (ecmascript)");
|
||||
// @ts-ignore
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$postcss$2e$config$2e$cjs__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/postcss.config.cjs [postcss] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/transforms/transforms.ts [postcss] (ecmascript)");
|
||||
;
|
||||
;
|
||||
;
|
||||
let processor;
|
||||
const init = async (ipc)=>{
|
||||
let config = __TURBOPACK__imported__module__$5b$project$5d2f$postcss$2e$config$2e$cjs__$5b$postcss$5d$__$28$ecmascript$29$__["default"];
|
||||
if (typeof config === 'function') {
|
||||
config = await config({
|
||||
env: 'development'
|
||||
});
|
||||
}
|
||||
if (typeof config === 'undefined') {
|
||||
throw new Error('PostCSS config is undefined (make sure to export an function or object from config file)');
|
||||
}
|
||||
let plugins;
|
||||
if (Array.isArray(config.plugins)) {
|
||||
plugins = config.plugins.map((plugin)=>{
|
||||
if (Array.isArray(plugin)) {
|
||||
return plugin;
|
||||
} else if (typeof plugin === 'string') {
|
||||
return [
|
||||
plugin,
|
||||
{}
|
||||
];
|
||||
} else {
|
||||
return plugin;
|
||||
}
|
||||
});
|
||||
} else if (typeof config.plugins === 'object') {
|
||||
plugins = Object.entries(config.plugins).filter(([, options])=>options);
|
||||
} else {
|
||||
plugins = [];
|
||||
}
|
||||
const loadedPlugins = plugins.map((plugin)=>{
|
||||
if (Array.isArray(plugin)) {
|
||||
const [arg, options] = plugin;
|
||||
let pluginFactory = arg;
|
||||
if (typeof pluginFactory === 'string') {
|
||||
pluginFactory = require(/* turbopackIgnore: true */ pluginFactory);
|
||||
}
|
||||
if (pluginFactory.default) {
|
||||
pluginFactory = pluginFactory.default;
|
||||
}
|
||||
return pluginFactory(options);
|
||||
}
|
||||
return plugin;
|
||||
});
|
||||
processor = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$postcss$40$8$2e$5$2e$8$2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$mjs__$5b$postcss$5d$__$28$ecmascript$29$__["default"])(loadedPlugins);
|
||||
};
|
||||
async function transform(ipc, cssContent, name, sourceMap) {
|
||||
const { css, map, messages } = await processor.process(cssContent, {
|
||||
from: name,
|
||||
to: name,
|
||||
map: sourceMap ? {
|
||||
inline: false,
|
||||
annotation: false
|
||||
} : undefined
|
||||
});
|
||||
const assets = [];
|
||||
const filePaths = [];
|
||||
const buildFilePaths = [];
|
||||
const directories = [];
|
||||
for (const msg of messages){
|
||||
switch(msg.type){
|
||||
case 'asset':
|
||||
assets.push({
|
||||
file: msg.file,
|
||||
content: msg.content,
|
||||
sourceMap: !sourceMap ? undefined : typeof msg.sourceMap === 'string' ? msg.sourceMap : JSON.stringify(msg.sourceMap)
|
||||
});
|
||||
break;
|
||||
case 'dependency':
|
||||
case 'missing-dependency':
|
||||
filePaths.push((0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["toPath"])(msg.file));
|
||||
break;
|
||||
case 'build-dependency':
|
||||
buildFilePaths.push((0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["toPath"])(msg.file));
|
||||
break;
|
||||
case 'dir-dependency':
|
||||
directories.push([
|
||||
(0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["toPath"])(msg.dir),
|
||||
msg.glob
|
||||
]);
|
||||
break;
|
||||
case 'context-dependency':
|
||||
directories.push([
|
||||
(0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["toPath"])(msg.dir),
|
||||
'**'
|
||||
]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
ipc.sendInfo({
|
||||
type: 'dependencies',
|
||||
filePaths,
|
||||
directories,
|
||||
buildFilePaths,
|
||||
envVariables: (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["getReadEnvVariables"])()
|
||||
});
|
||||
return {
|
||||
css,
|
||||
map: sourceMap ? JSON.stringify(map) : undefined,
|
||||
assets
|
||||
};
|
||||
}
|
||||
}),
|
||||
];
|
||||
|
||||
//# sourceMappingURL=%5Broot-of-the-server%5D__5d23b8aa._.js.map
|
||||
File diff suppressed because one or more lines are too long
441
.next/build/chunks/[root-of-the-server]__6e020478._.js
Normal file
441
.next/build/chunks/[root-of-the-server]__6e020478._.js
Normal file
@@ -0,0 +1,441 @@
|
||||
module.exports = [
|
||||
"[externals]/path [external] (path, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("path", () => require("path"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[turbopack-node]/transforms/transforms.ts [webpack_loaders] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Shared utilities for our 2 transform implementations.
|
||||
*/ __turbopack_context__.s([
|
||||
"fromPath",
|
||||
()=>fromPath,
|
||||
"getReadEnvVariables",
|
||||
()=>getReadEnvVariables,
|
||||
"toPath",
|
||||
()=>toPath
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/path [external] (path, cjs)");
|
||||
;
|
||||
const contextDir = process.cwd();
|
||||
const toPath = (file)=>{
|
||||
const relPath = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["relative"])(contextDir, file);
|
||||
if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["isAbsolute"])(relPath)) {
|
||||
throw new Error(`Cannot depend on path (${file}) outside of root directory (${contextDir})`);
|
||||
}
|
||||
return __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["sep"] !== '/' ? relPath.replaceAll(__TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["sep"], '/') : relPath;
|
||||
};
|
||||
const fromPath = (path)=>{
|
||||
return (0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["join"])(/* turbopackIgnore: true */ contextDir, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["sep"] !== '/' ? path.replaceAll('/', __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["sep"]) : path);
|
||||
};
|
||||
// Patch process.env to track which env vars are read
|
||||
const originalEnv = process.env;
|
||||
const readEnvVars = new Set();
|
||||
process.env = new Proxy(originalEnv, {
|
||||
get (target, prop) {
|
||||
if (typeof prop === 'string') {
|
||||
// We register the env var as dependency on the
|
||||
// current transform and all future transforms
|
||||
// since the env var might be cached in module scope
|
||||
// and influence them all
|
||||
readEnvVars.add(prop);
|
||||
}
|
||||
return Reflect.get(target, prop);
|
||||
},
|
||||
set (target, prop, value) {
|
||||
return Reflect.set(target, prop, value);
|
||||
}
|
||||
});
|
||||
function getReadEnvVariables() {
|
||||
return Array.from(readEnvVars);
|
||||
}
|
||||
}),
|
||||
"[externals]/fs [external] (fs, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("fs", () => require("fs"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[externals]/next/dist/compiled/loader-runner [external] (next/dist/compiled/loader-runner, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("next/dist/compiled/loader-runner", () => require("next/dist/compiled/loader-runner"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>transform
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/path [external] (path, cjs)");
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$compiled$2f$stacktrace$2d$parser$2f$index$2e$js__$5b$webpack_loaders$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/compiled/stacktrace-parser/index.js [webpack_loaders] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$index$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/ipc/index.ts [webpack_loaders] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/transforms/transforms.ts [webpack_loaders] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$externals$5d2f$fs__$5b$external$5d$__$28$fs$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/fs [external] (fs, cjs)");
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
const { runLoaders } = __turbopack_context__.r("[externals]/next/dist/compiled/loader-runner [external] (next/dist/compiled/loader-runner, cjs)");
|
||||
const contextDir = process.cwd();
|
||||
const LogType = Object.freeze({
|
||||
error: 'error',
|
||||
warn: 'warn',
|
||||
info: 'info',
|
||||
log: 'log',
|
||||
debug: 'debug',
|
||||
trace: 'trace',
|
||||
group: 'group',
|
||||
groupCollapsed: 'groupCollapsed',
|
||||
groupEnd: 'groupEnd',
|
||||
profile: 'profile',
|
||||
profileEnd: 'profileEnd',
|
||||
time: 'time',
|
||||
clear: 'clear',
|
||||
status: 'status'
|
||||
});
|
||||
const loaderFlag = 'LOADER_EXECUTION';
|
||||
const cutOffByFlag = (stack, flag)=>{
|
||||
const errorStack = stack.split('\n');
|
||||
for(let i = 0; i < errorStack.length; i++){
|
||||
if (errorStack[i].includes(flag)) {
|
||||
errorStack.length = i;
|
||||
}
|
||||
}
|
||||
return errorStack.join('\n');
|
||||
};
|
||||
/**
|
||||
* @param stack stack trace
|
||||
* @returns stack trace without the loader execution flag included
|
||||
*/ const cutOffLoaderExecution = (stack)=>cutOffByFlag(stack, loaderFlag);
|
||||
class DummySpan {
|
||||
traceChild() {
|
||||
return new DummySpan();
|
||||
}
|
||||
traceFn(fn) {
|
||||
return fn(this);
|
||||
}
|
||||
async traceAsyncFn(fn) {
|
||||
return await fn(this);
|
||||
}
|
||||
stop() {
|
||||
return;
|
||||
}
|
||||
}
|
||||
const transform = (ipc, content, name, query, loaders, sourceMap)=>{
|
||||
return new Promise((resolve, reject)=>{
|
||||
const resource = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["resolve"])(contextDir, name);
|
||||
const resourceDir = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["dirname"])(resource);
|
||||
const loadersWithOptions = loaders.map((loader)=>typeof loader === 'string' ? {
|
||||
loader,
|
||||
options: {}
|
||||
} : loader);
|
||||
const logs = [];
|
||||
runLoaders({
|
||||
resource: resource + query,
|
||||
context: {
|
||||
_module: {
|
||||
// For debugging purpose, if someone find context is not full compatible to
|
||||
// webpack they can guess this comes from turbopack
|
||||
__reserved: 'TurbopackContext'
|
||||
},
|
||||
currentTraceSpan: new DummySpan(),
|
||||
rootContext: contextDir,
|
||||
sourceMap,
|
||||
getOptions () {
|
||||
const entry = this.loaders[this.loaderIndex];
|
||||
return entry.options && typeof entry.options === 'object' ? entry.options : {};
|
||||
},
|
||||
fs: {
|
||||
readFile (p, optionsOrCb, maybeCb) {
|
||||
ipc.sendRequest({
|
||||
type: 'trackFileRead',
|
||||
file: (0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["relative"])(contextDir, (0, __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["resolve"])(p))
|
||||
}).then(()=>{
|
||||
__TURBOPACK__imported__module__$5b$externals$5d2f$fs__$5b$external$5d$__$28$fs$2c$__cjs$29$__["default"].readFile(p, optionsOrCb, maybeCb);
|
||||
}, (err)=>{
|
||||
ipc.sendError(err);
|
||||
// sendError is going to stop the process, no need to call callback
|
||||
});
|
||||
}
|
||||
},
|
||||
getResolve: (options)=>{
|
||||
const rustOptions = {
|
||||
aliasFields: undefined,
|
||||
conditionNames: undefined,
|
||||
noPackageJson: false,
|
||||
extensions: undefined,
|
||||
mainFields: undefined,
|
||||
noExportsField: false,
|
||||
mainFiles: undefined,
|
||||
noModules: false,
|
||||
preferRelative: false
|
||||
};
|
||||
if (options.alias) {
|
||||
if (!Array.isArray(options.alias) || options.alias.length > 0) {
|
||||
throw new Error('alias resolve option is not supported');
|
||||
}
|
||||
}
|
||||
if (options.aliasFields) {
|
||||
if (!Array.isArray(options.aliasFields)) {
|
||||
throw new Error('aliasFields resolve option must be an array');
|
||||
}
|
||||
rustOptions.aliasFields = options.aliasFields;
|
||||
}
|
||||
if (options.conditionNames) {
|
||||
if (!Array.isArray(options.conditionNames)) {
|
||||
throw new Error('conditionNames resolve option must be an array');
|
||||
}
|
||||
rustOptions.conditionNames = options.conditionNames;
|
||||
}
|
||||
if (options.descriptionFiles) {
|
||||
if (!Array.isArray(options.descriptionFiles) || options.descriptionFiles.length > 0) {
|
||||
throw new Error('descriptionFiles resolve option is not supported');
|
||||
}
|
||||
rustOptions.noPackageJson = true;
|
||||
}
|
||||
if (options.extensions) {
|
||||
if (!Array.isArray(options.extensions)) {
|
||||
throw new Error('extensions resolve option must be an array');
|
||||
}
|
||||
rustOptions.extensions = options.extensions;
|
||||
}
|
||||
if (options.mainFields) {
|
||||
if (!Array.isArray(options.mainFields)) {
|
||||
throw new Error('mainFields resolve option must be an array');
|
||||
}
|
||||
rustOptions.mainFields = options.mainFields;
|
||||
}
|
||||
if (options.exportsFields) {
|
||||
if (!Array.isArray(options.exportsFields) || options.exportsFields.length > 0) {
|
||||
throw new Error('exportsFields resolve option is not supported');
|
||||
}
|
||||
rustOptions.noExportsField = true;
|
||||
}
|
||||
if (options.mainFiles) {
|
||||
if (!Array.isArray(options.mainFiles)) {
|
||||
throw new Error('mainFiles resolve option must be an array');
|
||||
}
|
||||
rustOptions.mainFiles = options.mainFiles;
|
||||
}
|
||||
if (options.modules) {
|
||||
if (!Array.isArray(options.modules) || options.modules.length > 0) {
|
||||
throw new Error('modules resolve option is not supported');
|
||||
}
|
||||
rustOptions.noModules = true;
|
||||
}
|
||||
if (options.restrictions) {
|
||||
// TODO This is ignored for now
|
||||
}
|
||||
if (options.dependencyType) {
|
||||
// TODO This is ignored for now
|
||||
}
|
||||
if (options.preferRelative) {
|
||||
if (typeof options.preferRelative !== 'boolean') {
|
||||
throw new Error('preferRelative resolve option must be a boolean');
|
||||
}
|
||||
rustOptions.preferRelative = options.preferRelative;
|
||||
}
|
||||
return (lookupPath, request, callback)=>{
|
||||
if (__TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["default"].isAbsolute(request)) {
|
||||
// Relativize absolute requests. Turbopack disallow them in JS code, but here it's
|
||||
// generated programatically and there is a smaller problem of
|
||||
// non-cacheable/non-portable builds.
|
||||
request = __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["default"].relative(lookupPath, request);
|
||||
// On Windows, the path might be still absolute if it's on a different drive. Just
|
||||
// let the resolver throw the error in that case.
|
||||
if (!__TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["default"].isAbsolute(request) && request.split(__TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["default"].sep)[0] !== '..') {
|
||||
request = './' + request;
|
||||
}
|
||||
}
|
||||
const promise = ipc.sendRequest({
|
||||
type: 'resolve',
|
||||
options: rustOptions,
|
||||
lookupPath: (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["toPath"])(lookupPath),
|
||||
request
|
||||
}).then((unknownResult)=>{
|
||||
let result = unknownResult;
|
||||
if (result && typeof result.path === 'string') {
|
||||
return (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["fromPath"])(result.path);
|
||||
} else {
|
||||
throw Error('Expected { path: string } from resolve request');
|
||||
}
|
||||
});
|
||||
if (callback) {
|
||||
promise.then((result)=>callback(undefined, result), (err)=>callback(err)).catch((err)=>{
|
||||
ipc.sendError(err);
|
||||
});
|
||||
} else {
|
||||
return promise;
|
||||
}
|
||||
};
|
||||
},
|
||||
emitWarning: makeErrorEmitter('warning', ipc),
|
||||
emitError: makeErrorEmitter('error', ipc),
|
||||
getLogger (name) {
|
||||
const logFn = (logType, ...args)=>{
|
||||
let trace;
|
||||
switch(logType){
|
||||
case LogType.warn:
|
||||
case LogType.error:
|
||||
case LogType.trace:
|
||||
case LogType.debug:
|
||||
trace = (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$compiled$2f$stacktrace$2d$parser$2f$index$2e$js__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["parse"])(cutOffLoaderExecution(new Error('Trace').stack).split('\n').slice(3).join('\n'));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// Batch logs messages to be sent at the end
|
||||
logs.push({
|
||||
time: Date.now(),
|
||||
logType,
|
||||
args,
|
||||
trace
|
||||
});
|
||||
};
|
||||
let timers;
|
||||
let timersAggregates;
|
||||
// See https://github.com/webpack/webpack/blob/a48c34b34d2d6c44f9b2b221d7baf278d34ac0be/lib/logging/Logger.js#L8
|
||||
return {
|
||||
error: logFn.bind(this, LogType.error),
|
||||
warn: logFn.bind(this, LogType.warn),
|
||||
info: logFn.bind(this, LogType.info),
|
||||
log: logFn.bind(this, LogType.log),
|
||||
debug: logFn.bind(this, LogType.debug),
|
||||
assert: (assertion, ...args)=>{
|
||||
if (!assertion) {
|
||||
logFn(LogType.error, ...args);
|
||||
}
|
||||
},
|
||||
trace: logFn.bind(this, LogType.trace),
|
||||
clear: logFn.bind(this, LogType.clear),
|
||||
status: logFn.bind(this, LogType.status),
|
||||
group: logFn.bind(this, LogType.group),
|
||||
groupCollapsed: logFn.bind(this, LogType.groupCollapsed),
|
||||
groupEnd: logFn.bind(this, LogType.groupEnd),
|
||||
profile: logFn.bind(this, LogType.profile),
|
||||
profileEnd: logFn.bind(this, LogType.profileEnd),
|
||||
time: (label)=>{
|
||||
timers = timers || new Map();
|
||||
timers.set(label, process.hrtime());
|
||||
},
|
||||
timeLog: (label)=>{
|
||||
const prev = timers && timers.get(label);
|
||||
if (!prev) {
|
||||
throw new Error(`No such label '${label}' for WebpackLogger.timeLog()`);
|
||||
}
|
||||
const time = process.hrtime(prev);
|
||||
logFn(LogType.time, [
|
||||
label,
|
||||
...time
|
||||
]);
|
||||
},
|
||||
timeEnd: (label)=>{
|
||||
const prev = timers && timers.get(label);
|
||||
if (!prev) {
|
||||
throw new Error(`No such label '${label}' for WebpackLogger.timeEnd()`);
|
||||
}
|
||||
const time = process.hrtime(prev);
|
||||
/** @type {Map<string | undefined, [number, number]>} */ timers.delete(label);
|
||||
logFn(LogType.time, [
|
||||
label,
|
||||
...time
|
||||
]);
|
||||
},
|
||||
timeAggregate: (label)=>{
|
||||
const prev = timers && timers.get(label);
|
||||
if (!prev) {
|
||||
throw new Error(`No such label '${label}' for WebpackLogger.timeAggregate()`);
|
||||
}
|
||||
const time = process.hrtime(prev);
|
||||
/** @type {Map<string | undefined, [number, number]>} */ timers.delete(label);
|
||||
/** @type {Map<string | undefined, [number, number]>} */ timersAggregates = timersAggregates || new Map();
|
||||
const current = timersAggregates.get(label);
|
||||
if (current !== undefined) {
|
||||
if (time[1] + current[1] > 1e9) {
|
||||
time[0] += current[0] + 1;
|
||||
time[1] = time[1] - 1e9 + current[1];
|
||||
} else {
|
||||
time[0] += current[0];
|
||||
time[1] += current[1];
|
||||
}
|
||||
}
|
||||
timersAggregates.set(label, time);
|
||||
},
|
||||
timeAggregateEnd: (label)=>{
|
||||
if (timersAggregates === undefined) return;
|
||||
const time = timersAggregates.get(label);
|
||||
if (time === undefined) return;
|
||||
timersAggregates.delete(label);
|
||||
logFn(LogType.time, [
|
||||
label,
|
||||
...time
|
||||
]);
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
loaders: loadersWithOptions.map((loader)=>({
|
||||
loader: /*TURBOPACK member replacement*/ __turbopack_context__.x.resolve(loader.loader, {
|
||||
paths: [
|
||||
contextDir,
|
||||
resourceDir
|
||||
]
|
||||
}),
|
||||
options: loader.options
|
||||
})),
|
||||
readResource: (_filename, callback)=>{
|
||||
// TODO assuming that filename === resource, but loaders might change that
|
||||
let data = typeof content === 'string' ? Buffer.from(content, 'utf-8') : Buffer.from(content.binary, 'base64');
|
||||
callback(null, data);
|
||||
}
|
||||
}, (err, result)=>{
|
||||
if (logs.length) {
|
||||
ipc.sendInfo({
|
||||
type: 'log',
|
||||
logs: logs
|
||||
});
|
||||
logs.length = 0;
|
||||
}
|
||||
ipc.sendInfo({
|
||||
type: 'dependencies',
|
||||
envVariables: (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["getReadEnvVariables"])(),
|
||||
filePaths: result.fileDependencies.map(__TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["toPath"]),
|
||||
directories: result.contextDependencies.map((dep)=>[
|
||||
(0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["toPath"])(dep),
|
||||
'**'
|
||||
])
|
||||
});
|
||||
if (err) return reject(err);
|
||||
if (!result.result) return reject(new Error('No result from loaders'));
|
||||
const [source, map] = result.result;
|
||||
resolve({
|
||||
source: Buffer.isBuffer(source) ? {
|
||||
binary: source.toString('base64')
|
||||
} : source,
|
||||
map: typeof map === 'string' ? map : typeof map === 'object' ? JSON.stringify(map) : undefined
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
;
|
||||
function makeErrorEmitter(severity, ipc) {
|
||||
return function(error) {
|
||||
ipc.sendInfo({
|
||||
type: 'emittedError',
|
||||
severity: severity,
|
||||
error: (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$index$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["structuredError"])(error)
|
||||
});
|
||||
};
|
||||
}
|
||||
}),
|
||||
];
|
||||
|
||||
//# sourceMappingURL=%5Broot-of-the-server%5D__6e020478._.js.map
|
||||
File diff suppressed because one or more lines are too long
500
.next/build/chunks/[root-of-the-server]__c7ae8543._.js
Normal file
500
.next/build/chunks/[root-of-the-server]__c7ae8543._.js
Normal file
@@ -0,0 +1,500 @@
|
||||
module.exports = [
|
||||
"[turbopack-node]/globals.ts [webpack_loaders] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
// @ts-ignore
|
||||
process.turbopack = {};
|
||||
}),
|
||||
"[externals]/node:net [external] (node:net, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("node:net", () => require("node:net"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[externals]/node:stream [external] (node:stream, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("node:stream", () => require("node:stream"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[turbopack-node]/compiled/stacktrace-parser/index.js [webpack_loaders] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"parse",
|
||||
()=>parse
|
||||
]);
|
||||
if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/compiled/stacktrace-parser") + "/";
|
||||
var n = "<unknown>";
|
||||
function parse(e) {
|
||||
var r = e.split("\n");
|
||||
return r.reduce(function(e, r) {
|
||||
var n = parseChrome(r) || parseWinjs(r) || parseGecko(r) || parseNode(r) || parseJSC(r);
|
||||
if (n) {
|
||||
e.push(n);
|
||||
}
|
||||
return e;
|
||||
}, []);
|
||||
}
|
||||
var a = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
|
||||
var l = /\((\S*)(?::(\d+))(?::(\d+))\)/;
|
||||
function parseChrome(e) {
|
||||
var r = a.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
var u = r[2] && r[2].indexOf("native") === 0;
|
||||
var t = r[2] && r[2].indexOf("eval") === 0;
|
||||
var i = l.exec(r[2]);
|
||||
if (t && i != null) {
|
||||
r[2] = i[1];
|
||||
r[3] = i[2];
|
||||
r[4] = i[3];
|
||||
}
|
||||
return {
|
||||
file: !u ? r[2] : null,
|
||||
methodName: r[1] || n,
|
||||
arguments: u ? [
|
||||
r[2]
|
||||
] : [],
|
||||
lineNumber: r[3] ? +r[3] : null,
|
||||
column: r[4] ? +r[4] : null
|
||||
};
|
||||
}
|
||||
var u = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
||||
function parseWinjs(e) {
|
||||
var r = u.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
file: r[2],
|
||||
methodName: r[1] || n,
|
||||
arguments: [],
|
||||
lineNumber: +r[3],
|
||||
column: r[4] ? +r[4] : null
|
||||
};
|
||||
}
|
||||
var t = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
|
||||
var i = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
|
||||
function parseGecko(e) {
|
||||
var r = t.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
var a = r[3] && r[3].indexOf(" > eval") > -1;
|
||||
var l = i.exec(r[3]);
|
||||
if (a && l != null) {
|
||||
r[3] = l[1];
|
||||
r[4] = l[2];
|
||||
r[5] = null;
|
||||
}
|
||||
return {
|
||||
file: r[3],
|
||||
methodName: r[1] || n,
|
||||
arguments: r[2] ? r[2].split(",") : [],
|
||||
lineNumber: r[4] ? +r[4] : null,
|
||||
column: r[5] ? +r[5] : null
|
||||
};
|
||||
}
|
||||
var s = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;
|
||||
function parseJSC(e) {
|
||||
var r = s.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
file: r[3],
|
||||
methodName: r[1] || n,
|
||||
arguments: [],
|
||||
lineNumber: +r[4],
|
||||
column: r[5] ? +r[5] : null
|
||||
};
|
||||
}
|
||||
var o = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
||||
function parseNode(e) {
|
||||
var r = o.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
file: r[2],
|
||||
methodName: r[1] || n,
|
||||
arguments: [],
|
||||
lineNumber: +r[3],
|
||||
column: r[4] ? +r[4] : null
|
||||
};
|
||||
}
|
||||
}),
|
||||
"[turbopack-node]/ipc/error.ts [webpack_loaders] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// merged from next.js
|
||||
// https://github.com/vercel/next.js/blob/e657741b9908cf0044aaef959c0c4defb19ed6d8/packages/next/src/lib/is-error.ts
|
||||
// https://github.com/vercel/next.js/blob/e657741b9908cf0044aaef959c0c4defb19ed6d8/packages/next/src/shared/lib/is-plain-object.ts
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>isError,
|
||||
"getProperError",
|
||||
()=>getProperError
|
||||
]);
|
||||
function isError(err) {
|
||||
return typeof err === 'object' && err !== null && 'name' in err && 'message' in err;
|
||||
}
|
||||
function getProperError(err) {
|
||||
if (isError(err)) {
|
||||
return err;
|
||||
}
|
||||
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
||||
;
|
||||
return new Error(isPlainObject(err) ? JSON.stringify(err) : err + '');
|
||||
}
|
||||
function getObjectClassLabel(value) {
|
||||
return Object.prototype.toString.call(value);
|
||||
}
|
||||
function isPlainObject(value) {
|
||||
if (getObjectClassLabel(value) !== '[object Object]') {
|
||||
return false;
|
||||
}
|
||||
const prototype = Object.getPrototypeOf(value);
|
||||
/**
|
||||
* this used to be previously:
|
||||
*
|
||||
* `return prototype === null || prototype === Object.prototype`
|
||||
*
|
||||
* but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.
|
||||
*
|
||||
* It was changed to the current implementation since it's resilient to serialization.
|
||||
*/ return prototype === null || prototype.hasOwnProperty('isPrototypeOf');
|
||||
}
|
||||
}),
|
||||
"[turbopack-node]/ipc/index.ts [webpack_loaders] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"IPC",
|
||||
()=>IPC,
|
||||
"structuredError",
|
||||
()=>structuredError
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$net__$5b$external$5d$__$28$node$3a$net$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/node:net [external] (node:net, cjs)");
|
||||
var __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$stream__$5b$external$5d$__$28$node$3a$stream$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/node:stream [external] (node:stream, cjs)");
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$compiled$2f$stacktrace$2d$parser$2f$index$2e$js__$5b$webpack_loaders$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/compiled/stacktrace-parser/index.js [webpack_loaders] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$error$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/ipc/error.ts [webpack_loaders] (ecmascript)");
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
function structuredError(e) {
|
||||
e = (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$error$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["getProperError"])(e);
|
||||
return {
|
||||
name: e.name,
|
||||
message: e.message,
|
||||
stack: typeof e.stack === 'string' ? (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$compiled$2f$stacktrace$2d$parser$2f$index$2e$js__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["parse"])(e.stack) : [],
|
||||
cause: e.cause ? structuredError((0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$error$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["getProperError"])(e.cause)) : undefined
|
||||
};
|
||||
}
|
||||
function createIpc(port) {
|
||||
const socket = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$net__$5b$external$5d$__$28$node$3a$net$2c$__cjs$29$__["createConnection"])({
|
||||
port,
|
||||
host: '127.0.0.1'
|
||||
});
|
||||
/**
|
||||
* A writable stream that writes to the socket.
|
||||
* We don't write directly to the socket because we need to
|
||||
* handle backpressure and wait for the socket to be drained
|
||||
* before writing more data.
|
||||
*/ const socketWritable = new __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$stream__$5b$external$5d$__$28$node$3a$stream$2c$__cjs$29$__["Writable"]({
|
||||
write (chunk, _enc, cb) {
|
||||
if (socket.write(chunk)) {
|
||||
cb();
|
||||
} else {
|
||||
socket.once('drain', cb);
|
||||
}
|
||||
},
|
||||
final (cb) {
|
||||
socket.end(cb);
|
||||
}
|
||||
});
|
||||
const packetQueue = [];
|
||||
const recvPromiseResolveQueue = [];
|
||||
function pushPacket(packet) {
|
||||
const recvPromiseResolve = recvPromiseResolveQueue.shift();
|
||||
if (recvPromiseResolve != null) {
|
||||
recvPromiseResolve(JSON.parse(packet.toString('utf8')));
|
||||
} else {
|
||||
packetQueue.push(packet);
|
||||
}
|
||||
}
|
||||
let state = {
|
||||
type: 'waiting'
|
||||
};
|
||||
let buffer = Buffer.alloc(0);
|
||||
socket.once('connect', ()=>{
|
||||
socket.setNoDelay(true);
|
||||
socket.on('data', (chunk)=>{
|
||||
buffer = Buffer.concat([
|
||||
buffer,
|
||||
chunk
|
||||
]);
|
||||
loop: while(true){
|
||||
switch(state.type){
|
||||
case 'waiting':
|
||||
{
|
||||
if (buffer.length >= 4) {
|
||||
const length = buffer.readUInt32BE(0);
|
||||
buffer = buffer.subarray(4);
|
||||
state = {
|
||||
type: 'packet',
|
||||
length
|
||||
};
|
||||
} else {
|
||||
break loop;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'packet':
|
||||
{
|
||||
if (buffer.length >= state.length) {
|
||||
const packet = buffer.subarray(0, state.length);
|
||||
buffer = buffer.subarray(state.length);
|
||||
state = {
|
||||
type: 'waiting'
|
||||
};
|
||||
pushPacket(packet);
|
||||
} else {
|
||||
break loop;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
invariant(state, (state)=>`Unknown state type: ${state?.type}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
// When the socket is closed, this process is no longer needed.
|
||||
// This might happen e. g. when parent process is killed or
|
||||
// node.js pool is garbage collected.
|
||||
socket.once('close', ()=>{
|
||||
process.exit(0);
|
||||
});
|
||||
// TODO(lukesandberg): some of the messages being sent are very large and contain lots
|
||||
// of redundant information. Consider adding gzip compression to our stream.
|
||||
function doSend(message) {
|
||||
return new Promise((resolve, reject)=>{
|
||||
// Reserve 4 bytes for our length prefix, we will over-write after encoding.
|
||||
const packet = Buffer.from('0000' + message, 'utf8');
|
||||
packet.writeUInt32BE(packet.length - 4, 0);
|
||||
socketWritable.write(packet, (err)=>{
|
||||
process.stderr.write(`TURBOPACK_OUTPUT_D\n`);
|
||||
process.stdout.write(`TURBOPACK_OUTPUT_D\n`);
|
||||
if (err != null) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
function send(message) {
|
||||
return doSend(JSON.stringify(message));
|
||||
}
|
||||
function sendReady() {
|
||||
return doSend('');
|
||||
}
|
||||
return {
|
||||
async recv () {
|
||||
const packet = packetQueue.shift();
|
||||
if (packet != null) {
|
||||
return JSON.parse(packet.toString('utf8'));
|
||||
}
|
||||
const result = await new Promise((resolve)=>{
|
||||
recvPromiseResolveQueue.push((result)=>{
|
||||
resolve(result);
|
||||
});
|
||||
});
|
||||
return result;
|
||||
},
|
||||
send (message) {
|
||||
return send(message);
|
||||
},
|
||||
sendReady,
|
||||
async sendError (error) {
|
||||
let failed = false;
|
||||
try {
|
||||
await send({
|
||||
type: 'error',
|
||||
...structuredError(error)
|
||||
});
|
||||
} catch (err) {
|
||||
// There's nothing we can do about errors that happen after this point, we can't tell anyone
|
||||
// about them.
|
||||
console.error('failed to send error back to rust:', err);
|
||||
failed = true;
|
||||
}
|
||||
await new Promise((res)=>socket.end(()=>res()));
|
||||
process.exit(failed ? 1 : 0);
|
||||
}
|
||||
};
|
||||
}
|
||||
const PORT = process.argv[2];
|
||||
const IPC = createIpc(parseInt(PORT, 10));
|
||||
process.on('uncaughtException', (err)=>{
|
||||
IPC.sendError(err);
|
||||
});
|
||||
const improveConsole = (name, stream, addStack)=>{
|
||||
// @ts-ignore
|
||||
const original = console[name];
|
||||
// @ts-ignore
|
||||
const stdio = process[stream];
|
||||
// @ts-ignore
|
||||
console[name] = (...args)=>{
|
||||
stdio.write(`TURBOPACK_OUTPUT_B\n`);
|
||||
original(...args);
|
||||
if (addStack) {
|
||||
const stack = new Error().stack?.replace(/^.+\n.+\n/, '') + '\n';
|
||||
stdio.write('TURBOPACK_OUTPUT_S\n');
|
||||
stdio.write(stack);
|
||||
}
|
||||
stdio.write('TURBOPACK_OUTPUT_E\n');
|
||||
};
|
||||
};
|
||||
improveConsole('error', 'stderr', true);
|
||||
improveConsole('warn', 'stderr', true);
|
||||
improveConsole('count', 'stdout', true);
|
||||
improveConsole('trace', 'stderr', false);
|
||||
improveConsole('log', 'stdout', true);
|
||||
improveConsole('group', 'stdout', true);
|
||||
improveConsole('groupCollapsed', 'stdout', true);
|
||||
improveConsole('table', 'stdout', true);
|
||||
improveConsole('debug', 'stdout', true);
|
||||
improveConsole('info', 'stdout', true);
|
||||
improveConsole('dir', 'stdout', true);
|
||||
improveConsole('dirxml', 'stdout', true);
|
||||
improveConsole('timeEnd', 'stdout', true);
|
||||
improveConsole('timeLog', 'stdout', true);
|
||||
improveConsole('timeStamp', 'stdout', true);
|
||||
improveConsole('assert', 'stderr', true);
|
||||
/**
|
||||
* Utility function to ensure all variants of an enum are handled.
|
||||
*/ function invariant(never, computeMessage) {
|
||||
throw new Error(`Invariant: ${computeMessage(never)}`);
|
||||
}
|
||||
}),
|
||||
"[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"run",
|
||||
()=>run
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$index$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/ipc/index.ts [webpack_loaders] (ecmascript)");
|
||||
;
|
||||
const ipc = __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$index$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["IPC"];
|
||||
const queue = [];
|
||||
const run = async (moduleFactory)=>{
|
||||
let nextId = 1;
|
||||
const requests = new Map();
|
||||
const internalIpc = {
|
||||
sendInfo: (message)=>ipc.send({
|
||||
type: 'info',
|
||||
data: message
|
||||
}),
|
||||
sendRequest: (message)=>{
|
||||
const id = nextId++;
|
||||
let resolve, reject;
|
||||
const promise = new Promise((res, rej)=>{
|
||||
resolve = res;
|
||||
reject = rej;
|
||||
});
|
||||
requests.set(id, {
|
||||
resolve,
|
||||
reject
|
||||
});
|
||||
return ipc.send({
|
||||
type: 'request',
|
||||
id,
|
||||
data: message
|
||||
}).then(()=>promise);
|
||||
},
|
||||
sendError: (error)=>{
|
||||
return ipc.sendError(error);
|
||||
}
|
||||
};
|
||||
// Initialize module and send ready message
|
||||
let getValue;
|
||||
try {
|
||||
const module = await moduleFactory();
|
||||
if (typeof module.init === 'function') {
|
||||
await module.init();
|
||||
}
|
||||
getValue = module.default;
|
||||
await ipc.sendReady();
|
||||
} catch (err) {
|
||||
await ipc.sendReady();
|
||||
await ipc.sendError(err);
|
||||
}
|
||||
// Queue handling
|
||||
let isRunning = false;
|
||||
const run = async ()=>{
|
||||
while(queue.length > 0){
|
||||
const args = queue.shift();
|
||||
try {
|
||||
const value = await getValue(internalIpc, ...args);
|
||||
await ipc.send({
|
||||
type: 'end',
|
||||
data: value === undefined ? undefined : JSON.stringify(value, null, 2),
|
||||
duration: 0
|
||||
});
|
||||
} catch (e) {
|
||||
await ipc.sendError(e);
|
||||
}
|
||||
}
|
||||
isRunning = false;
|
||||
};
|
||||
// Communication handling
|
||||
while(true){
|
||||
const msg = await ipc.recv();
|
||||
switch(msg.type){
|
||||
case 'evaluate':
|
||||
{
|
||||
queue.push(msg.args);
|
||||
if (!isRunning) {
|
||||
isRunning = true;
|
||||
run();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'result':
|
||||
{
|
||||
const request = requests.get(msg.id);
|
||||
if (request) {
|
||||
requests.delete(msg.id);
|
||||
if (msg.error) {
|
||||
request.reject(new Error(msg.error));
|
||||
} else {
|
||||
request.resolve(msg.data);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
console.error('unexpected message type', msg.type);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}),
|
||||
"[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)\" } [webpack_loaders] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([]);
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$evaluate$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)");
|
||||
;
|
||||
(0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$evaluate$2e$ts__$5b$webpack_loaders$5d$__$28$ecmascript$29$__["run"])(()=>__turbopack_context__.A("[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript, async loader)"));
|
||||
}),
|
||||
];
|
||||
|
||||
//# sourceMappingURL=%5Broot-of-the-server%5D__c7ae8543._.js.map
|
||||
11
.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map
Normal file
11
.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map
Normal file
File diff suppressed because one or more lines are too long
500
.next/build/chunks/[root-of-the-server]__e38fc557._.js
Normal file
500
.next/build/chunks/[root-of-the-server]__e38fc557._.js
Normal file
@@ -0,0 +1,500 @@
|
||||
module.exports = [
|
||||
"[turbopack-node]/globals.ts [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
// @ts-ignore
|
||||
process.turbopack = {};
|
||||
}),
|
||||
"[externals]/node:net [external] (node:net, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("node:net", () => require("node:net"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[externals]/node:stream [external] (node:stream, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("node:stream", () => require("node:stream"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[turbopack-node]/compiled/stacktrace-parser/index.js [postcss] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"parse",
|
||||
()=>parse
|
||||
]);
|
||||
if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/compiled/stacktrace-parser") + "/";
|
||||
var n = "<unknown>";
|
||||
function parse(e) {
|
||||
var r = e.split("\n");
|
||||
return r.reduce(function(e, r) {
|
||||
var n = parseChrome(r) || parseWinjs(r) || parseGecko(r) || parseNode(r) || parseJSC(r);
|
||||
if (n) {
|
||||
e.push(n);
|
||||
}
|
||||
return e;
|
||||
}, []);
|
||||
}
|
||||
var a = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
|
||||
var l = /\((\S*)(?::(\d+))(?::(\d+))\)/;
|
||||
function parseChrome(e) {
|
||||
var r = a.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
var u = r[2] && r[2].indexOf("native") === 0;
|
||||
var t = r[2] && r[2].indexOf("eval") === 0;
|
||||
var i = l.exec(r[2]);
|
||||
if (t && i != null) {
|
||||
r[2] = i[1];
|
||||
r[3] = i[2];
|
||||
r[4] = i[3];
|
||||
}
|
||||
return {
|
||||
file: !u ? r[2] : null,
|
||||
methodName: r[1] || n,
|
||||
arguments: u ? [
|
||||
r[2]
|
||||
] : [],
|
||||
lineNumber: r[3] ? +r[3] : null,
|
||||
column: r[4] ? +r[4] : null
|
||||
};
|
||||
}
|
||||
var u = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
||||
function parseWinjs(e) {
|
||||
var r = u.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
file: r[2],
|
||||
methodName: r[1] || n,
|
||||
arguments: [],
|
||||
lineNumber: +r[3],
|
||||
column: r[4] ? +r[4] : null
|
||||
};
|
||||
}
|
||||
var t = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
|
||||
var i = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
|
||||
function parseGecko(e) {
|
||||
var r = t.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
var a = r[3] && r[3].indexOf(" > eval") > -1;
|
||||
var l = i.exec(r[3]);
|
||||
if (a && l != null) {
|
||||
r[3] = l[1];
|
||||
r[4] = l[2];
|
||||
r[5] = null;
|
||||
}
|
||||
return {
|
||||
file: r[3],
|
||||
methodName: r[1] || n,
|
||||
arguments: r[2] ? r[2].split(",") : [],
|
||||
lineNumber: r[4] ? +r[4] : null,
|
||||
column: r[5] ? +r[5] : null
|
||||
};
|
||||
}
|
||||
var s = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;
|
||||
function parseJSC(e) {
|
||||
var r = s.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
file: r[3],
|
||||
methodName: r[1] || n,
|
||||
arguments: [],
|
||||
lineNumber: +r[4],
|
||||
column: r[5] ? +r[5] : null
|
||||
};
|
||||
}
|
||||
var o = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
||||
function parseNode(e) {
|
||||
var r = o.exec(e);
|
||||
if (!r) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
file: r[2],
|
||||
methodName: r[1] || n,
|
||||
arguments: [],
|
||||
lineNumber: +r[3],
|
||||
column: r[4] ? +r[4] : null
|
||||
};
|
||||
}
|
||||
}),
|
||||
"[turbopack-node]/ipc/error.ts [postcss] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// merged from next.js
|
||||
// https://github.com/vercel/next.js/blob/e657741b9908cf0044aaef959c0c4defb19ed6d8/packages/next/src/lib/is-error.ts
|
||||
// https://github.com/vercel/next.js/blob/e657741b9908cf0044aaef959c0c4defb19ed6d8/packages/next/src/shared/lib/is-plain-object.ts
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>isError,
|
||||
"getProperError",
|
||||
()=>getProperError
|
||||
]);
|
||||
function isError(err) {
|
||||
return typeof err === 'object' && err !== null && 'name' in err && 'message' in err;
|
||||
}
|
||||
function getProperError(err) {
|
||||
if (isError(err)) {
|
||||
return err;
|
||||
}
|
||||
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
||||
;
|
||||
return new Error(isPlainObject(err) ? JSON.stringify(err) : err + '');
|
||||
}
|
||||
function getObjectClassLabel(value) {
|
||||
return Object.prototype.toString.call(value);
|
||||
}
|
||||
function isPlainObject(value) {
|
||||
if (getObjectClassLabel(value) !== '[object Object]') {
|
||||
return false;
|
||||
}
|
||||
const prototype = Object.getPrototypeOf(value);
|
||||
/**
|
||||
* this used to be previously:
|
||||
*
|
||||
* `return prototype === null || prototype === Object.prototype`
|
||||
*
|
||||
* but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.
|
||||
*
|
||||
* It was changed to the current implementation since it's resilient to serialization.
|
||||
*/ return prototype === null || prototype.hasOwnProperty('isPrototypeOf');
|
||||
}
|
||||
}),
|
||||
"[turbopack-node]/ipc/index.ts [postcss] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"IPC",
|
||||
()=>IPC,
|
||||
"structuredError",
|
||||
()=>structuredError
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$net__$5b$external$5d$__$28$node$3a$net$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/node:net [external] (node:net, cjs)");
|
||||
var __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$stream__$5b$external$5d$__$28$node$3a$stream$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/node:stream [external] (node:stream, cjs)");
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$compiled$2f$stacktrace$2d$parser$2f$index$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/compiled/stacktrace-parser/index.js [postcss] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$error$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/ipc/error.ts [postcss] (ecmascript)");
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
function structuredError(e) {
|
||||
e = (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$error$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["getProperError"])(e);
|
||||
return {
|
||||
name: e.name,
|
||||
message: e.message,
|
||||
stack: typeof e.stack === 'string' ? (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$compiled$2f$stacktrace$2d$parser$2f$index$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["parse"])(e.stack) : [],
|
||||
cause: e.cause ? structuredError((0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$error$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["getProperError"])(e.cause)) : undefined
|
||||
};
|
||||
}
|
||||
function createIpc(port) {
|
||||
const socket = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$net__$5b$external$5d$__$28$node$3a$net$2c$__cjs$29$__["createConnection"])({
|
||||
port,
|
||||
host: '127.0.0.1'
|
||||
});
|
||||
/**
|
||||
* A writable stream that writes to the socket.
|
||||
* We don't write directly to the socket because we need to
|
||||
* handle backpressure and wait for the socket to be drained
|
||||
* before writing more data.
|
||||
*/ const socketWritable = new __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$stream__$5b$external$5d$__$28$node$3a$stream$2c$__cjs$29$__["Writable"]({
|
||||
write (chunk, _enc, cb) {
|
||||
if (socket.write(chunk)) {
|
||||
cb();
|
||||
} else {
|
||||
socket.once('drain', cb);
|
||||
}
|
||||
},
|
||||
final (cb) {
|
||||
socket.end(cb);
|
||||
}
|
||||
});
|
||||
const packetQueue = [];
|
||||
const recvPromiseResolveQueue = [];
|
||||
function pushPacket(packet) {
|
||||
const recvPromiseResolve = recvPromiseResolveQueue.shift();
|
||||
if (recvPromiseResolve != null) {
|
||||
recvPromiseResolve(JSON.parse(packet.toString('utf8')));
|
||||
} else {
|
||||
packetQueue.push(packet);
|
||||
}
|
||||
}
|
||||
let state = {
|
||||
type: 'waiting'
|
||||
};
|
||||
let buffer = Buffer.alloc(0);
|
||||
socket.once('connect', ()=>{
|
||||
socket.setNoDelay(true);
|
||||
socket.on('data', (chunk)=>{
|
||||
buffer = Buffer.concat([
|
||||
buffer,
|
||||
chunk
|
||||
]);
|
||||
loop: while(true){
|
||||
switch(state.type){
|
||||
case 'waiting':
|
||||
{
|
||||
if (buffer.length >= 4) {
|
||||
const length = buffer.readUInt32BE(0);
|
||||
buffer = buffer.subarray(4);
|
||||
state = {
|
||||
type: 'packet',
|
||||
length
|
||||
};
|
||||
} else {
|
||||
break loop;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'packet':
|
||||
{
|
||||
if (buffer.length >= state.length) {
|
||||
const packet = buffer.subarray(0, state.length);
|
||||
buffer = buffer.subarray(state.length);
|
||||
state = {
|
||||
type: 'waiting'
|
||||
};
|
||||
pushPacket(packet);
|
||||
} else {
|
||||
break loop;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
invariant(state, (state)=>`Unknown state type: ${state?.type}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
// When the socket is closed, this process is no longer needed.
|
||||
// This might happen e. g. when parent process is killed or
|
||||
// node.js pool is garbage collected.
|
||||
socket.once('close', ()=>{
|
||||
process.exit(0);
|
||||
});
|
||||
// TODO(lukesandberg): some of the messages being sent are very large and contain lots
|
||||
// of redundant information. Consider adding gzip compression to our stream.
|
||||
function doSend(message) {
|
||||
return new Promise((resolve, reject)=>{
|
||||
// Reserve 4 bytes for our length prefix, we will over-write after encoding.
|
||||
const packet = Buffer.from('0000' + message, 'utf8');
|
||||
packet.writeUInt32BE(packet.length - 4, 0);
|
||||
socketWritable.write(packet, (err)=>{
|
||||
process.stderr.write(`TURBOPACK_OUTPUT_D\n`);
|
||||
process.stdout.write(`TURBOPACK_OUTPUT_D\n`);
|
||||
if (err != null) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
function send(message) {
|
||||
return doSend(JSON.stringify(message));
|
||||
}
|
||||
function sendReady() {
|
||||
return doSend('');
|
||||
}
|
||||
return {
|
||||
async recv () {
|
||||
const packet = packetQueue.shift();
|
||||
if (packet != null) {
|
||||
return JSON.parse(packet.toString('utf8'));
|
||||
}
|
||||
const result = await new Promise((resolve)=>{
|
||||
recvPromiseResolveQueue.push((result)=>{
|
||||
resolve(result);
|
||||
});
|
||||
});
|
||||
return result;
|
||||
},
|
||||
send (message) {
|
||||
return send(message);
|
||||
},
|
||||
sendReady,
|
||||
async sendError (error) {
|
||||
let failed = false;
|
||||
try {
|
||||
await send({
|
||||
type: 'error',
|
||||
...structuredError(error)
|
||||
});
|
||||
} catch (err) {
|
||||
// There's nothing we can do about errors that happen after this point, we can't tell anyone
|
||||
// about them.
|
||||
console.error('failed to send error back to rust:', err);
|
||||
failed = true;
|
||||
}
|
||||
await new Promise((res)=>socket.end(()=>res()));
|
||||
process.exit(failed ? 1 : 0);
|
||||
}
|
||||
};
|
||||
}
|
||||
const PORT = process.argv[2];
|
||||
const IPC = createIpc(parseInt(PORT, 10));
|
||||
process.on('uncaughtException', (err)=>{
|
||||
IPC.sendError(err);
|
||||
});
|
||||
const improveConsole = (name, stream, addStack)=>{
|
||||
// @ts-ignore
|
||||
const original = console[name];
|
||||
// @ts-ignore
|
||||
const stdio = process[stream];
|
||||
// @ts-ignore
|
||||
console[name] = (...args)=>{
|
||||
stdio.write(`TURBOPACK_OUTPUT_B\n`);
|
||||
original(...args);
|
||||
if (addStack) {
|
||||
const stack = new Error().stack?.replace(/^.+\n.+\n/, '') + '\n';
|
||||
stdio.write('TURBOPACK_OUTPUT_S\n');
|
||||
stdio.write(stack);
|
||||
}
|
||||
stdio.write('TURBOPACK_OUTPUT_E\n');
|
||||
};
|
||||
};
|
||||
improveConsole('error', 'stderr', true);
|
||||
improveConsole('warn', 'stderr', true);
|
||||
improveConsole('count', 'stdout', true);
|
||||
improveConsole('trace', 'stderr', false);
|
||||
improveConsole('log', 'stdout', true);
|
||||
improveConsole('group', 'stdout', true);
|
||||
improveConsole('groupCollapsed', 'stdout', true);
|
||||
improveConsole('table', 'stdout', true);
|
||||
improveConsole('debug', 'stdout', true);
|
||||
improveConsole('info', 'stdout', true);
|
||||
improveConsole('dir', 'stdout', true);
|
||||
improveConsole('dirxml', 'stdout', true);
|
||||
improveConsole('timeEnd', 'stdout', true);
|
||||
improveConsole('timeLog', 'stdout', true);
|
||||
improveConsole('timeStamp', 'stdout', true);
|
||||
improveConsole('assert', 'stderr', true);
|
||||
/**
|
||||
* Utility function to ensure all variants of an enum are handled.
|
||||
*/ function invariant(never, computeMessage) {
|
||||
throw new Error(`Invariant: ${computeMessage(never)}`);
|
||||
}
|
||||
}),
|
||||
"[turbopack-node]/ipc/evaluate.ts [postcss] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"run",
|
||||
()=>run
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$index$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/ipc/index.ts [postcss] (ecmascript)");
|
||||
;
|
||||
const ipc = __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$index$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["IPC"];
|
||||
const queue = [];
|
||||
const run = async (moduleFactory)=>{
|
||||
let nextId = 1;
|
||||
const requests = new Map();
|
||||
const internalIpc = {
|
||||
sendInfo: (message)=>ipc.send({
|
||||
type: 'info',
|
||||
data: message
|
||||
}),
|
||||
sendRequest: (message)=>{
|
||||
const id = nextId++;
|
||||
let resolve, reject;
|
||||
const promise = new Promise((res, rej)=>{
|
||||
resolve = res;
|
||||
reject = rej;
|
||||
});
|
||||
requests.set(id, {
|
||||
resolve,
|
||||
reject
|
||||
});
|
||||
return ipc.send({
|
||||
type: 'request',
|
||||
id,
|
||||
data: message
|
||||
}).then(()=>promise);
|
||||
},
|
||||
sendError: (error)=>{
|
||||
return ipc.sendError(error);
|
||||
}
|
||||
};
|
||||
// Initialize module and send ready message
|
||||
let getValue;
|
||||
try {
|
||||
const module = await moduleFactory();
|
||||
if (typeof module.init === 'function') {
|
||||
await module.init();
|
||||
}
|
||||
getValue = module.default;
|
||||
await ipc.sendReady();
|
||||
} catch (err) {
|
||||
await ipc.sendReady();
|
||||
await ipc.sendError(err);
|
||||
}
|
||||
// Queue handling
|
||||
let isRunning = false;
|
||||
const run = async ()=>{
|
||||
while(queue.length > 0){
|
||||
const args = queue.shift();
|
||||
try {
|
||||
const value = await getValue(internalIpc, ...args);
|
||||
await ipc.send({
|
||||
type: 'end',
|
||||
data: value === undefined ? undefined : JSON.stringify(value, null, 2),
|
||||
duration: 0
|
||||
});
|
||||
} catch (e) {
|
||||
await ipc.sendError(e);
|
||||
}
|
||||
}
|
||||
isRunning = false;
|
||||
};
|
||||
// Communication handling
|
||||
while(true){
|
||||
const msg = await ipc.recv();
|
||||
switch(msg.type){
|
||||
case 'evaluate':
|
||||
{
|
||||
queue.push(msg.args);
|
||||
if (!isRunning) {
|
||||
isRunning = true;
|
||||
run();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'result':
|
||||
{
|
||||
const request = requests.get(msg.id);
|
||||
if (request) {
|
||||
requests.delete(msg.id);
|
||||
if (msg.error) {
|
||||
request.reject(new Error(msg.error));
|
||||
} else {
|
||||
request.resolve(msg.data);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
console.error('unexpected message type', msg.type);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}),
|
||||
"[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/postcss.ts { CONFIG => \\\"[project]/postcss.config.cjs [postcss] (ecmascript)\\\" } [postcss] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [postcss] (ecmascript)\" } [postcss] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([]);
|
||||
var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$evaluate$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/ipc/evaluate.ts [postcss] (ecmascript)");
|
||||
;
|
||||
(0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$ipc$2f$evaluate$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["run"])(()=>__turbopack_context__.A('[turbopack-node]/transforms/postcss.ts { CONFIG => "[project]/postcss.config.cjs [postcss] (ecmascript)" } [postcss] (ecmascript, async loader)'));
|
||||
}),
|
||||
];
|
||||
|
||||
//# sourceMappingURL=%5Broot-of-the-server%5D__e38fc557._.js.map
|
||||
11
.next/build/chunks/[root-of-the-server]__e38fc557._.js.map
Normal file
11
.next/build/chunks/[root-of-the-server]__e38fc557._.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,13 @@
|
||||
module.exports = [
|
||||
"[turbopack-node]/transforms/postcss.ts { CONFIG => \"[project]/postcss.config.cjs [postcss] (ecmascript)\" } [postcss] (ecmascript, async loader)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.v((parentImport) => {
|
||||
return Promise.all([
|
||||
"chunks/node_modules__pnpm_6ac99c3d._.js",
|
||||
"chunks/[root-of-the-server]__5d23b8aa._.js"
|
||||
].map((chunk) => __turbopack_context__.l(chunk))).then(() => {
|
||||
return parentImport("[turbopack-node]/transforms/postcss.ts { CONFIG => \"[project]/postcss.config.cjs [postcss] (ecmascript)\" } [postcss] (ecmascript)");
|
||||
});
|
||||
});
|
||||
}),
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
module.exports = [
|
||||
"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript, async loader)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.v((parentImport) => {
|
||||
return Promise.all([
|
||||
"chunks/[root-of-the-server]__6e020478._.js"
|
||||
].map((chunk) => __turbopack_context__.l(chunk))).then(() => {
|
||||
return parentImport("[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)");
|
||||
});
|
||||
});
|
||||
}),
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
795
.next/build/chunks/[turbopack]_runtime.js
Normal file
795
.next/build/chunks/[turbopack]_runtime.js
Normal file
@@ -0,0 +1,795 @@
|
||||
const RUNTIME_PUBLIC_PATH = "chunks/[turbopack]_runtime.js";
|
||||
const RELATIVE_ROOT_PATH = "..";
|
||||
const ASSET_PREFIX = "/";
|
||||
/**
|
||||
* This file contains runtime types and functions that are shared between all
|
||||
* TurboPack ECMAScript runtimes.
|
||||
*
|
||||
* It will be prepended to the runtime code of each runtime.
|
||||
*/ /* eslint-disable @typescript-eslint/no-unused-vars */ /// <reference path="./runtime-types.d.ts" />
|
||||
const REEXPORTED_OBJECTS = new WeakMap();
|
||||
/**
|
||||
* Constructs the `__turbopack_context__` object for a module.
|
||||
*/ function Context(module, exports) {
|
||||
this.m = module;
|
||||
// We need to store this here instead of accessing it from the module object to:
|
||||
// 1. Make it available to factories directly, since we rewrite `this` to
|
||||
// `__turbopack_context__.e` in CJS modules.
|
||||
// 2. Support async modules which rewrite `module.exports` to a promise, so we
|
||||
// can still access the original exports object from functions like
|
||||
// `esmExport`
|
||||
// Ideally we could find a new approach for async modules and drop this property altogether.
|
||||
this.e = exports;
|
||||
}
|
||||
const contextPrototype = Context.prototype;
|
||||
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||
const toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag;
|
||||
function defineProp(obj, name, options) {
|
||||
if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options);
|
||||
}
|
||||
function getOverwrittenModule(moduleCache, id) {
|
||||
let module = moduleCache[id];
|
||||
if (!module) {
|
||||
// This is invoked when a module is merged into another module, thus it wasn't invoked via
|
||||
// instantiateModule and the cache entry wasn't created yet.
|
||||
module = createModuleObject(id);
|
||||
moduleCache[id] = module;
|
||||
}
|
||||
return module;
|
||||
}
|
||||
/**
|
||||
* Creates the module object. Only done here to ensure all module objects have the same shape.
|
||||
*/ function createModuleObject(id) {
|
||||
return {
|
||||
exports: {},
|
||||
error: undefined,
|
||||
id,
|
||||
namespaceObject: undefined
|
||||
};
|
||||
}
|
||||
const BindingTag_Value = 0;
|
||||
/**
|
||||
* Adds the getters to the exports object.
|
||||
*/ function esm(exports, bindings) {
|
||||
defineProp(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
if (toStringTag) defineProp(exports, toStringTag, {
|
||||
value: 'Module'
|
||||
});
|
||||
let i = 0;
|
||||
while(i < bindings.length){
|
||||
const propName = bindings[i++];
|
||||
const tagOrFunction = bindings[i++];
|
||||
if (typeof tagOrFunction === 'number') {
|
||||
if (tagOrFunction === BindingTag_Value) {
|
||||
defineProp(exports, propName, {
|
||||
value: bindings[i++],
|
||||
enumerable: true,
|
||||
writable: false
|
||||
});
|
||||
} else {
|
||||
throw new Error(`unexpected tag: ${tagOrFunction}`);
|
||||
}
|
||||
} else {
|
||||
const getterFn = tagOrFunction;
|
||||
if (typeof bindings[i] === 'function') {
|
||||
const setterFn = bindings[i++];
|
||||
defineProp(exports, propName, {
|
||||
get: getterFn,
|
||||
set: setterFn,
|
||||
enumerable: true
|
||||
});
|
||||
} else {
|
||||
defineProp(exports, propName, {
|
||||
get: getterFn,
|
||||
enumerable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Object.seal(exports);
|
||||
}
|
||||
/**
|
||||
* Makes the module an ESM with exports
|
||||
*/ function esmExport(bindings, id) {
|
||||
let module;
|
||||
let exports;
|
||||
if (id != null) {
|
||||
module = getOverwrittenModule(this.c, id);
|
||||
exports = module.exports;
|
||||
} else {
|
||||
module = this.m;
|
||||
exports = this.e;
|
||||
}
|
||||
module.namespaceObject = exports;
|
||||
esm(exports, bindings);
|
||||
}
|
||||
contextPrototype.s = esmExport;
|
||||
function ensureDynamicExports(module, exports) {
|
||||
let reexportedObjects = REEXPORTED_OBJECTS.get(module);
|
||||
if (!reexportedObjects) {
|
||||
REEXPORTED_OBJECTS.set(module, reexportedObjects = []);
|
||||
module.exports = module.namespaceObject = new Proxy(exports, {
|
||||
get (target, prop) {
|
||||
if (hasOwnProperty.call(target, prop) || prop === 'default' || prop === '__esModule') {
|
||||
return Reflect.get(target, prop);
|
||||
}
|
||||
for (const obj of reexportedObjects){
|
||||
const value = Reflect.get(obj, prop);
|
||||
if (value !== undefined) return value;
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
ownKeys (target) {
|
||||
const keys = Reflect.ownKeys(target);
|
||||
for (const obj of reexportedObjects){
|
||||
for (const key of Reflect.ownKeys(obj)){
|
||||
if (key !== 'default' && !keys.includes(key)) keys.push(key);
|
||||
}
|
||||
}
|
||||
return keys;
|
||||
}
|
||||
});
|
||||
}
|
||||
return reexportedObjects;
|
||||
}
|
||||
/**
|
||||
* Dynamically exports properties from an object
|
||||
*/ function dynamicExport(object, id) {
|
||||
let module;
|
||||
let exports;
|
||||
if (id != null) {
|
||||
module = getOverwrittenModule(this.c, id);
|
||||
exports = module.exports;
|
||||
} else {
|
||||
module = this.m;
|
||||
exports = this.e;
|
||||
}
|
||||
const reexportedObjects = ensureDynamicExports(module, exports);
|
||||
if (typeof object === 'object' && object !== null) {
|
||||
reexportedObjects.push(object);
|
||||
}
|
||||
}
|
||||
contextPrototype.j = dynamicExport;
|
||||
function exportValue(value, id) {
|
||||
let module;
|
||||
if (id != null) {
|
||||
module = getOverwrittenModule(this.c, id);
|
||||
} else {
|
||||
module = this.m;
|
||||
}
|
||||
module.exports = value;
|
||||
}
|
||||
contextPrototype.v = exportValue;
|
||||
function exportNamespace(namespace, id) {
|
||||
let module;
|
||||
if (id != null) {
|
||||
module = getOverwrittenModule(this.c, id);
|
||||
} else {
|
||||
module = this.m;
|
||||
}
|
||||
module.exports = module.namespaceObject = namespace;
|
||||
}
|
||||
contextPrototype.n = exportNamespace;
|
||||
function createGetter(obj, key) {
|
||||
return ()=>obj[key];
|
||||
}
|
||||
/**
|
||||
* @returns prototype of the object
|
||||
*/ const getProto = Object.getPrototypeOf ? (obj)=>Object.getPrototypeOf(obj) : (obj)=>obj.__proto__;
|
||||
/** Prototypes that are not expanded for exports */ const LEAF_PROTOTYPES = [
|
||||
null,
|
||||
getProto({}),
|
||||
getProto([]),
|
||||
getProto(getProto)
|
||||
];
|
||||
/**
|
||||
* @param raw
|
||||
* @param ns
|
||||
* @param allowExportDefault
|
||||
* * `false`: will have the raw module as default export
|
||||
* * `true`: will have the default property as default export
|
||||
*/ function interopEsm(raw, ns, allowExportDefault) {
|
||||
const bindings = [];
|
||||
let defaultLocation = -1;
|
||||
for(let current = raw; (typeof current === 'object' || typeof current === 'function') && !LEAF_PROTOTYPES.includes(current); current = getProto(current)){
|
||||
for (const key of Object.getOwnPropertyNames(current)){
|
||||
bindings.push(key, createGetter(raw, key));
|
||||
if (defaultLocation === -1 && key === 'default') {
|
||||
defaultLocation = bindings.length - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
// this is not really correct
|
||||
// we should set the `default` getter if the imported module is a `.cjs file`
|
||||
if (!(allowExportDefault && defaultLocation >= 0)) {
|
||||
// Replace the binding with one for the namespace itself in order to preserve iteration order.
|
||||
if (defaultLocation >= 0) {
|
||||
// Replace the getter with the value
|
||||
bindings.splice(defaultLocation, 1, BindingTag_Value, raw);
|
||||
} else {
|
||||
bindings.push('default', BindingTag_Value, raw);
|
||||
}
|
||||
}
|
||||
esm(ns, bindings);
|
||||
return ns;
|
||||
}
|
||||
function createNS(raw) {
|
||||
if (typeof raw === 'function') {
|
||||
return function(...args) {
|
||||
return raw.apply(this, args);
|
||||
};
|
||||
} else {
|
||||
return Object.create(null);
|
||||
}
|
||||
}
|
||||
function esmImport(id) {
|
||||
const module = getOrInstantiateModuleFromParent(id, this.m);
|
||||
// any ES module has to have `module.namespaceObject` defined.
|
||||
if (module.namespaceObject) return module.namespaceObject;
|
||||
// only ESM can be an async module, so we don't need to worry about exports being a promise here.
|
||||
const raw = module.exports;
|
||||
return module.namespaceObject = interopEsm(raw, createNS(raw), raw && raw.__esModule);
|
||||
}
|
||||
contextPrototype.i = esmImport;
|
||||
function asyncLoader(moduleId) {
|
||||
const loader = this.r(moduleId);
|
||||
return loader(esmImport.bind(this));
|
||||
}
|
||||
contextPrototype.A = asyncLoader;
|
||||
// Add a simple runtime require so that environments without one can still pass
|
||||
// `typeof require` CommonJS checks so that exports are correctly registered.
|
||||
const runtimeRequire = // @ts-ignore
|
||||
typeof require === 'function' ? require : function require1() {
|
||||
throw new Error('Unexpected use of runtime require');
|
||||
};
|
||||
contextPrototype.t = runtimeRequire;
|
||||
function commonJsRequire(id) {
|
||||
return getOrInstantiateModuleFromParent(id, this.m).exports;
|
||||
}
|
||||
contextPrototype.r = commonJsRequire;
|
||||
/**
|
||||
* Remove fragments and query parameters since they are never part of the context map keys
|
||||
*
|
||||
* This matches how we parse patterns at resolving time. Arguably we should only do this for
|
||||
* strings passed to `import` but the resolve does it for `import` and `require` and so we do
|
||||
* here as well.
|
||||
*/ function parseRequest(request) {
|
||||
// Per the URI spec fragments can contain `?` characters, so we should trim it off first
|
||||
// https://datatracker.ietf.org/doc/html/rfc3986#section-3.5
|
||||
const hashIndex = request.indexOf('#');
|
||||
if (hashIndex !== -1) {
|
||||
request = request.substring(0, hashIndex);
|
||||
}
|
||||
const queryIndex = request.indexOf('?');
|
||||
if (queryIndex !== -1) {
|
||||
request = request.substring(0, queryIndex);
|
||||
}
|
||||
return request;
|
||||
}
|
||||
/**
|
||||
* `require.context` and require/import expression runtime.
|
||||
*/ function moduleContext(map) {
|
||||
function moduleContext(id) {
|
||||
id = parseRequest(id);
|
||||
if (hasOwnProperty.call(map, id)) {
|
||||
return map[id].module();
|
||||
}
|
||||
const e = new Error(`Cannot find module '${id}'`);
|
||||
e.code = 'MODULE_NOT_FOUND';
|
||||
throw e;
|
||||
}
|
||||
moduleContext.keys = ()=>{
|
||||
return Object.keys(map);
|
||||
};
|
||||
moduleContext.resolve = (id)=>{
|
||||
id = parseRequest(id);
|
||||
if (hasOwnProperty.call(map, id)) {
|
||||
return map[id].id();
|
||||
}
|
||||
const e = new Error(`Cannot find module '${id}'`);
|
||||
e.code = 'MODULE_NOT_FOUND';
|
||||
throw e;
|
||||
};
|
||||
moduleContext.import = async (id)=>{
|
||||
return await moduleContext(id);
|
||||
};
|
||||
return moduleContext;
|
||||
}
|
||||
contextPrototype.f = moduleContext;
|
||||
/**
|
||||
* Returns the path of a chunk defined by its data.
|
||||
*/ function getChunkPath(chunkData) {
|
||||
return typeof chunkData === 'string' ? chunkData : chunkData.path;
|
||||
}
|
||||
function isPromise(maybePromise) {
|
||||
return maybePromise != null && typeof maybePromise === 'object' && 'then' in maybePromise && typeof maybePromise.then === 'function';
|
||||
}
|
||||
function isAsyncModuleExt(obj) {
|
||||
return turbopackQueues in obj;
|
||||
}
|
||||
function createPromise() {
|
||||
let resolve;
|
||||
let reject;
|
||||
const promise = new Promise((res, rej)=>{
|
||||
reject = rej;
|
||||
resolve = res;
|
||||
});
|
||||
return {
|
||||
promise,
|
||||
resolve: resolve,
|
||||
reject: reject
|
||||
};
|
||||
}
|
||||
// Load the CompressedmoduleFactories of a chunk into the `moduleFactories` Map.
|
||||
// The CompressedModuleFactories format is
|
||||
// - 1 or more module ids
|
||||
// - a module factory function
|
||||
// So walking this is a little complex but the flat structure is also fast to
|
||||
// traverse, we can use `typeof` operators to distinguish the two cases.
|
||||
function installCompressedModuleFactories(chunkModules, offset, moduleFactories, newModuleId) {
|
||||
let i = offset;
|
||||
while(i < chunkModules.length){
|
||||
let moduleId = chunkModules[i];
|
||||
let end = i + 1;
|
||||
// Find our factory function
|
||||
while(end < chunkModules.length && typeof chunkModules[end] !== 'function'){
|
||||
end++;
|
||||
}
|
||||
if (end === chunkModules.length) {
|
||||
throw new Error('malformed chunk format, expected a factory function');
|
||||
}
|
||||
// Each chunk item has a 'primary id' and optional additional ids. If the primary id is already
|
||||
// present we know all the additional ids are also present, so we don't need to check.
|
||||
if (!moduleFactories.has(moduleId)) {
|
||||
const moduleFactoryFn = chunkModules[end];
|
||||
applyModuleFactoryName(moduleFactoryFn);
|
||||
newModuleId?.(moduleId);
|
||||
for(; i < end; i++){
|
||||
moduleId = chunkModules[i];
|
||||
moduleFactories.set(moduleId, moduleFactoryFn);
|
||||
}
|
||||
}
|
||||
i = end + 1; // end is pointing at the last factory advance to the next id or the end of the array.
|
||||
}
|
||||
}
|
||||
// everything below is adapted from webpack
|
||||
// https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13
|
||||
const turbopackQueues = Symbol('turbopack queues');
|
||||
const turbopackExports = Symbol('turbopack exports');
|
||||
const turbopackError = Symbol('turbopack error');
|
||||
function resolveQueue(queue) {
|
||||
if (queue && queue.status !== 1) {
|
||||
queue.status = 1;
|
||||
queue.forEach((fn)=>fn.queueCount--);
|
||||
queue.forEach((fn)=>fn.queueCount-- ? fn.queueCount++ : fn());
|
||||
}
|
||||
}
|
||||
function wrapDeps(deps) {
|
||||
return deps.map((dep)=>{
|
||||
if (dep !== null && typeof dep === 'object') {
|
||||
if (isAsyncModuleExt(dep)) return dep;
|
||||
if (isPromise(dep)) {
|
||||
const queue = Object.assign([], {
|
||||
status: 0
|
||||
});
|
||||
const obj = {
|
||||
[turbopackExports]: {},
|
||||
[turbopackQueues]: (fn)=>fn(queue)
|
||||
};
|
||||
dep.then((res)=>{
|
||||
obj[turbopackExports] = res;
|
||||
resolveQueue(queue);
|
||||
}, (err)=>{
|
||||
obj[turbopackError] = err;
|
||||
resolveQueue(queue);
|
||||
});
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
return {
|
||||
[turbopackExports]: dep,
|
||||
[turbopackQueues]: ()=>{}
|
||||
};
|
||||
});
|
||||
}
|
||||
function asyncModule(body, hasAwait) {
|
||||
const module = this.m;
|
||||
const queue = hasAwait ? Object.assign([], {
|
||||
status: -1
|
||||
}) : undefined;
|
||||
const depQueues = new Set();
|
||||
const { resolve, reject, promise: rawPromise } = createPromise();
|
||||
const promise = Object.assign(rawPromise, {
|
||||
[turbopackExports]: module.exports,
|
||||
[turbopackQueues]: (fn)=>{
|
||||
queue && fn(queue);
|
||||
depQueues.forEach(fn);
|
||||
promise['catch'](()=>{});
|
||||
}
|
||||
});
|
||||
const attributes = {
|
||||
get () {
|
||||
return promise;
|
||||
},
|
||||
set (v) {
|
||||
// Calling `esmExport` leads to this.
|
||||
if (v !== promise) {
|
||||
promise[turbopackExports] = v;
|
||||
}
|
||||
}
|
||||
};
|
||||
Object.defineProperty(module, 'exports', attributes);
|
||||
Object.defineProperty(module, 'namespaceObject', attributes);
|
||||
function handleAsyncDependencies(deps) {
|
||||
const currentDeps = wrapDeps(deps);
|
||||
const getResult = ()=>currentDeps.map((d)=>{
|
||||
if (d[turbopackError]) throw d[turbopackError];
|
||||
return d[turbopackExports];
|
||||
});
|
||||
const { promise, resolve } = createPromise();
|
||||
const fn = Object.assign(()=>resolve(getResult), {
|
||||
queueCount: 0
|
||||
});
|
||||
function fnQueue(q) {
|
||||
if (q !== queue && !depQueues.has(q)) {
|
||||
depQueues.add(q);
|
||||
if (q && q.status === 0) {
|
||||
fn.queueCount++;
|
||||
q.push(fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
currentDeps.map((dep)=>dep[turbopackQueues](fnQueue));
|
||||
return fn.queueCount ? promise : getResult();
|
||||
}
|
||||
function asyncResult(err) {
|
||||
if (err) {
|
||||
reject(promise[turbopackError] = err);
|
||||
} else {
|
||||
resolve(promise[turbopackExports]);
|
||||
}
|
||||
resolveQueue(queue);
|
||||
}
|
||||
body(handleAsyncDependencies, asyncResult);
|
||||
if (queue && queue.status === -1) {
|
||||
queue.status = 0;
|
||||
}
|
||||
}
|
||||
contextPrototype.a = asyncModule;
|
||||
/**
|
||||
* A pseudo "fake" URL object to resolve to its relative path.
|
||||
*
|
||||
* When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this
|
||||
* runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid
|
||||
* hydration mismatch.
|
||||
*
|
||||
* This is based on webpack's existing implementation:
|
||||
* https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js
|
||||
*/ const relativeURL = function relativeURL(inputUrl) {
|
||||
const realUrl = new URL(inputUrl, 'x:/');
|
||||
const values = {};
|
||||
for(const key in realUrl)values[key] = realUrl[key];
|
||||
values.href = inputUrl;
|
||||
values.pathname = inputUrl.replace(/[?#].*/, '');
|
||||
values.origin = values.protocol = '';
|
||||
values.toString = values.toJSON = (..._args)=>inputUrl;
|
||||
for(const key in values)Object.defineProperty(this, key, {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
value: values[key]
|
||||
});
|
||||
};
|
||||
relativeURL.prototype = URL.prototype;
|
||||
contextPrototype.U = relativeURL;
|
||||
/**
|
||||
* Utility function to ensure all variants of an enum are handled.
|
||||
*/ function invariant(never, computeMessage) {
|
||||
throw new Error(`Invariant: ${computeMessage(never)}`);
|
||||
}
|
||||
/**
|
||||
* A stub function to make `require` available but non-functional in ESM.
|
||||
*/ function requireStub(_moduleId) {
|
||||
throw new Error('dynamic usage of require is not supported');
|
||||
}
|
||||
contextPrototype.z = requireStub;
|
||||
// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.
|
||||
contextPrototype.g = globalThis;
|
||||
function applyModuleFactoryName(factory) {
|
||||
// Give the module factory a nice name to improve stack traces.
|
||||
Object.defineProperty(factory, 'name', {
|
||||
value: 'module evaluation'
|
||||
});
|
||||
}
|
||||
/// <reference path="../shared/runtime-utils.ts" />
|
||||
/// A 'base' utilities to support runtime can have externals.
|
||||
/// Currently this is for node.js / edge runtime both.
|
||||
/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead.
|
||||
async function externalImport(id) {
|
||||
let raw;
|
||||
try {
|
||||
raw = await import(id);
|
||||
} catch (err) {
|
||||
// TODO(alexkirsz) This can happen when a client-side module tries to load
|
||||
// an external module we don't provide a shim for (e.g. querystring, url).
|
||||
// For now, we fail semi-silently, but in the future this should be a
|
||||
// compilation error.
|
||||
throw new Error(`Failed to load external module ${id}: ${err}`);
|
||||
}
|
||||
if (raw && raw.__esModule && raw.default && 'default' in raw.default) {
|
||||
return interopEsm(raw.default, createNS(raw), true);
|
||||
}
|
||||
return raw;
|
||||
}
|
||||
contextPrototype.y = externalImport;
|
||||
function externalRequire(id, thunk, esm = false) {
|
||||
let raw;
|
||||
try {
|
||||
raw = thunk();
|
||||
} catch (err) {
|
||||
// TODO(alexkirsz) This can happen when a client-side module tries to load
|
||||
// an external module we don't provide a shim for (e.g. querystring, url).
|
||||
// For now, we fail semi-silently, but in the future this should be a
|
||||
// compilation error.
|
||||
throw new Error(`Failed to load external module ${id}: ${err}`);
|
||||
}
|
||||
if (!esm || raw.__esModule) {
|
||||
return raw;
|
||||
}
|
||||
return interopEsm(raw, createNS(raw), true);
|
||||
}
|
||||
externalRequire.resolve = (id, options)=>{
|
||||
return require.resolve(id, options);
|
||||
};
|
||||
contextPrototype.x = externalRequire;
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */ const path = require('path');
|
||||
const relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.');
|
||||
// Compute the relative path to the `distDir`.
|
||||
const relativePathToDistRoot = path.join(relativePathToRuntimeRoot, RELATIVE_ROOT_PATH);
|
||||
const RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot);
|
||||
// Compute the absolute path to the root, by stripping distDir from the absolute path to this file.
|
||||
const ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot);
|
||||
/**
|
||||
* Returns an absolute path to the given module path.
|
||||
* Module path should be relative, either path to a file or a directory.
|
||||
*
|
||||
* This fn allows to calculate an absolute path for some global static values, such as
|
||||
* `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time.
|
||||
* See ImportMetaBinding::code_generation for the usage.
|
||||
*/ function resolveAbsolutePath(modulePath) {
|
||||
if (modulePath) {
|
||||
return path.join(ABSOLUTE_ROOT, modulePath);
|
||||
}
|
||||
return ABSOLUTE_ROOT;
|
||||
}
|
||||
Context.prototype.P = resolveAbsolutePath;
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */ /// <reference path="../shared/runtime-utils.ts" />
|
||||
function readWebAssemblyAsResponse(path) {
|
||||
const { createReadStream } = require('fs');
|
||||
const { Readable } = require('stream');
|
||||
const stream = createReadStream(path);
|
||||
// @ts-ignore unfortunately there's a slight type mismatch with the stream.
|
||||
return new Response(Readable.toWeb(stream), {
|
||||
headers: {
|
||||
'content-type': 'application/wasm'
|
||||
}
|
||||
});
|
||||
}
|
||||
async function compileWebAssemblyFromPath(path) {
|
||||
const response = readWebAssemblyAsResponse(path);
|
||||
return await WebAssembly.compileStreaming(response);
|
||||
}
|
||||
async function instantiateWebAssemblyFromPath(path, importsObj) {
|
||||
const response = readWebAssemblyAsResponse(path);
|
||||
const { instance } = await WebAssembly.instantiateStreaming(response, importsObj);
|
||||
return instance.exports;
|
||||
}
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */ /// <reference path="../shared/runtime-utils.ts" />
|
||||
/// <reference path="../shared-node/base-externals-utils.ts" />
|
||||
/// <reference path="../shared-node/node-externals-utils.ts" />
|
||||
/// <reference path="../shared-node/node-wasm-utils.ts" />
|
||||
var SourceType = /*#__PURE__*/ function(SourceType) {
|
||||
/**
|
||||
* The module was instantiated because it was included in an evaluated chunk's
|
||||
* runtime.
|
||||
* SourceData is a ChunkPath.
|
||||
*/ SourceType[SourceType["Runtime"] = 0] = "Runtime";
|
||||
/**
|
||||
* The module was instantiated because a parent module imported it.
|
||||
* SourceData is a ModuleId.
|
||||
*/ SourceType[SourceType["Parent"] = 1] = "Parent";
|
||||
return SourceType;
|
||||
}(SourceType || {});
|
||||
process.env.TURBOPACK = '1';
|
||||
const nodeContextPrototype = Context.prototype;
|
||||
const url = require('url');
|
||||
const moduleFactories = new Map();
|
||||
nodeContextPrototype.M = moduleFactories;
|
||||
const moduleCache = Object.create(null);
|
||||
nodeContextPrototype.c = moduleCache;
|
||||
/**
|
||||
* Returns an absolute path to the given module's id.
|
||||
*/ function resolvePathFromModule(moduleId) {
|
||||
const exported = this.r(moduleId);
|
||||
const exportedPath = exported?.default ?? exported;
|
||||
if (typeof exportedPath !== 'string') {
|
||||
return exported;
|
||||
}
|
||||
const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length);
|
||||
const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix);
|
||||
return url.pathToFileURL(resolved).href;
|
||||
}
|
||||
nodeContextPrototype.R = resolvePathFromModule;
|
||||
function loadRuntimeChunk(sourcePath, chunkData) {
|
||||
if (typeof chunkData === 'string') {
|
||||
loadRuntimeChunkPath(sourcePath, chunkData);
|
||||
} else {
|
||||
loadRuntimeChunkPath(sourcePath, chunkData.path);
|
||||
}
|
||||
}
|
||||
const loadedChunks = new Set();
|
||||
const unsupportedLoadChunk = Promise.resolve(undefined);
|
||||
const loadedChunk = Promise.resolve(undefined);
|
||||
const chunkCache = new Map();
|
||||
function clearChunkCache() {
|
||||
chunkCache.clear();
|
||||
}
|
||||
function loadRuntimeChunkPath(sourcePath, chunkPath) {
|
||||
if (!isJs(chunkPath)) {
|
||||
// We only support loading JS chunks in Node.js.
|
||||
// This branch can be hit when trying to load a CSS chunk.
|
||||
return;
|
||||
}
|
||||
if (loadedChunks.has(chunkPath)) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const resolved = path.resolve(RUNTIME_ROOT, chunkPath);
|
||||
const chunkModules = require(resolved);
|
||||
installCompressedModuleFactories(chunkModules, 0, moduleFactories);
|
||||
loadedChunks.add(chunkPath);
|
||||
} catch (cause) {
|
||||
let errorMessage = `Failed to load chunk ${chunkPath}`;
|
||||
if (sourcePath) {
|
||||
errorMessage += ` from runtime for chunk ${sourcePath}`;
|
||||
}
|
||||
const error = new Error(errorMessage, {
|
||||
cause
|
||||
});
|
||||
error.name = 'ChunkLoadError';
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
function loadChunkAsync(chunkData) {
|
||||
const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path;
|
||||
if (!isJs(chunkPath)) {
|
||||
// We only support loading JS chunks in Node.js.
|
||||
// This branch can be hit when trying to load a CSS chunk.
|
||||
return unsupportedLoadChunk;
|
||||
}
|
||||
let entry = chunkCache.get(chunkPath);
|
||||
if (entry === undefined) {
|
||||
try {
|
||||
// resolve to an absolute path to simplify `require` handling
|
||||
const resolved = path.resolve(RUNTIME_ROOT, chunkPath);
|
||||
// TODO: consider switching to `import()` to enable concurrent chunk loading and async file io
|
||||
// However this is incompatible with hot reloading (since `import` doesn't use the require cache)
|
||||
const chunkModules = require(resolved);
|
||||
installCompressedModuleFactories(chunkModules, 0, moduleFactories);
|
||||
entry = loadedChunk;
|
||||
} catch (cause) {
|
||||
const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`;
|
||||
const error = new Error(errorMessage, {
|
||||
cause
|
||||
});
|
||||
error.name = 'ChunkLoadError';
|
||||
// Cache the failure promise, future requests will also get this same rejection
|
||||
entry = Promise.reject(error);
|
||||
}
|
||||
chunkCache.set(chunkPath, entry);
|
||||
}
|
||||
// TODO: Return an instrumented Promise that React can use instead of relying on referential equality.
|
||||
return entry;
|
||||
}
|
||||
contextPrototype.l = loadChunkAsync;
|
||||
function loadChunkAsyncByUrl(chunkUrl) {
|
||||
const path1 = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT));
|
||||
return loadChunkAsync.call(this, path1);
|
||||
}
|
||||
contextPrototype.L = loadChunkAsyncByUrl;
|
||||
function loadWebAssembly(chunkPath, _edgeModule, imports) {
|
||||
const resolved = path.resolve(RUNTIME_ROOT, chunkPath);
|
||||
return instantiateWebAssemblyFromPath(resolved, imports);
|
||||
}
|
||||
contextPrototype.w = loadWebAssembly;
|
||||
function loadWebAssemblyModule(chunkPath, _edgeModule) {
|
||||
const resolved = path.resolve(RUNTIME_ROOT, chunkPath);
|
||||
return compileWebAssemblyFromPath(resolved);
|
||||
}
|
||||
contextPrototype.u = loadWebAssemblyModule;
|
||||
function getWorkerBlobURL(_chunks) {
|
||||
throw new Error('Worker blobs are not implemented yet for Node.js');
|
||||
}
|
||||
nodeContextPrototype.b = getWorkerBlobURL;
|
||||
function instantiateModule(id, sourceType, sourceData) {
|
||||
const moduleFactory = moduleFactories.get(id);
|
||||
if (typeof moduleFactory !== 'function') {
|
||||
// This can happen if modules incorrectly handle HMR disposes/updates,
|
||||
// e.g. when they keep a `setTimeout` around which still executes old code
|
||||
// and contains e.g. a `require("something")` call.
|
||||
let instantiationReason;
|
||||
switch(sourceType){
|
||||
case 0:
|
||||
instantiationReason = `as a runtime entry of chunk ${sourceData}`;
|
||||
break;
|
||||
case 1:
|
||||
instantiationReason = `because it was required from module ${sourceData}`;
|
||||
break;
|
||||
default:
|
||||
invariant(sourceType, (sourceType)=>`Unknown source type: ${sourceType}`);
|
||||
}
|
||||
throw new Error(`Module ${id} was instantiated ${instantiationReason}, but the module factory is not available.`);
|
||||
}
|
||||
const module1 = createModuleObject(id);
|
||||
const exports = module1.exports;
|
||||
moduleCache[id] = module1;
|
||||
const context = new Context(module1, exports);
|
||||
// NOTE(alexkirsz) This can fail when the module encounters a runtime error.
|
||||
try {
|
||||
moduleFactory(context, module1, exports);
|
||||
} catch (error) {
|
||||
module1.error = error;
|
||||
throw error;
|
||||
}
|
||||
module1.loaded = true;
|
||||
if (module1.namespaceObject && module1.exports !== module1.namespaceObject) {
|
||||
// in case of a circular dependency: cjs1 -> esm2 -> cjs1
|
||||
interopEsm(module1.exports, module1.namespaceObject);
|
||||
}
|
||||
return module1;
|
||||
}
|
||||
/**
|
||||
* Retrieves a module from the cache, or instantiate it if it is not cached.
|
||||
*/ // @ts-ignore
|
||||
function getOrInstantiateModuleFromParent(id, sourceModule) {
|
||||
const module1 = moduleCache[id];
|
||||
if (module1) {
|
||||
if (module1.error) {
|
||||
throw module1.error;
|
||||
}
|
||||
return module1;
|
||||
}
|
||||
return instantiateModule(id, 1, sourceModule.id);
|
||||
}
|
||||
/**
|
||||
* Instantiates a runtime module.
|
||||
*/ function instantiateRuntimeModule(chunkPath, moduleId) {
|
||||
return instantiateModule(moduleId, 0, chunkPath);
|
||||
}
|
||||
/**
|
||||
* Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached.
|
||||
*/ // @ts-ignore TypeScript doesn't separate this module space from the browser runtime
|
||||
function getOrInstantiateRuntimeModule(chunkPath, moduleId) {
|
||||
const module1 = moduleCache[moduleId];
|
||||
if (module1) {
|
||||
if (module1.error) {
|
||||
throw module1.error;
|
||||
}
|
||||
return module1;
|
||||
}
|
||||
return instantiateRuntimeModule(chunkPath, moduleId);
|
||||
}
|
||||
const regexJsUrl = /\.js(?:\?[^#]*)?(?:#.*)?$/;
|
||||
/**
|
||||
* Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.
|
||||
*/ function isJs(chunkUrlOrPath) {
|
||||
return regexJsUrl.test(chunkUrlOrPath);
|
||||
}
|
||||
module.exports = (sourcePath)=>({
|
||||
m: (id)=>getOrInstantiateRuntimeModule(sourcePath, id),
|
||||
c: (chunkData)=>loadRuntimeChunk(sourcePath, chunkData)
|
||||
});
|
||||
|
||||
|
||||
//# sourceMappingURL=%5Bturbopack%5D_runtime.js.map
|
||||
10
.next/build/chunks/[turbopack]_runtime.js.map
Normal file
10
.next/build/chunks/[turbopack]_runtime.js.map
Normal file
File diff suppressed because one or more lines are too long
6765
.next/build/chunks/node_modules__pnpm_6ac99c3d._.js
Normal file
6765
.next/build/chunks/node_modules__pnpm_6ac99c3d._.js
Normal file
File diff suppressed because it is too large
Load Diff
47
.next/build/chunks/node_modules__pnpm_6ac99c3d._.js.map
Normal file
47
.next/build/chunks/node_modules__pnpm_6ac99c3d._.js.map
Normal file
File diff suppressed because one or more lines are too long
1
.next/build/package.json
Normal file
1
.next/build/package.json
Normal file
@@ -0,0 +1 @@
|
||||
{"type": "commonjs"}
|
||||
6
.next/build/postcss.js
Normal file
6
.next/build/postcss.js
Normal file
@@ -0,0 +1,6 @@
|
||||
var R=require("./chunks/[turbopack]_runtime.js")("postcss.js")
|
||||
R.c("chunks/[turbopack-node]_transforms_postcss_ts_bc2fbbe3._.js")
|
||||
R.c("chunks/[root-of-the-server]__e38fc557._.js")
|
||||
R.m("[turbopack-node]/globals.ts [postcss] (ecmascript)")
|
||||
R.m("[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/postcss.ts { CONFIG => \\\"[project]/postcss.config.cjs [postcss] (ecmascript)\\\" } [postcss] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [postcss] (ecmascript)\" } [postcss] (ecmascript)")
|
||||
module.exports=R.m("[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/postcss.ts { CONFIG => \\\"[project]/postcss.config.cjs [postcss] (ecmascript)\\\" } [postcss] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [postcss] (ecmascript)\" } [postcss] (ecmascript)").exports
|
||||
5
.next/build/postcss.js.map
Normal file
5
.next/build/postcss.js.map
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
6
.next/build/webpack-loaders.js
Normal file
6
.next/build/webpack-loaders.js
Normal file
@@ -0,0 +1,6 @@
|
||||
var R=require("./chunks/[turbopack]_runtime.js")("webpack-loaders.js")
|
||||
R.c("chunks/[turbopack-node]_transforms_webpack-loaders_ts_1efa112f._.js")
|
||||
R.c("chunks/[root-of-the-server]__c7ae8543._.js")
|
||||
R.m("[turbopack-node]/globals.ts [webpack_loaders] (ecmascript)")
|
||||
R.m("[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)\" } [webpack_loaders] (ecmascript)")
|
||||
module.exports=R.m("[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)\" } [webpack_loaders] (ecmascript)").exports
|
||||
5
.next/build/webpack-loaders.js.map
Normal file
5
.next/build/webpack-loaders.js.map
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
1
.next/cache/.previewinfo
vendored
Normal file
1
.next/cache/.previewinfo
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"previewModeId":"9ef510819b99a8435cd382f35c9632e6","previewModeSigningKey":"bb31ca30c44dc89a1234fd0e0b19fd2b82d662542edb3f4345e2e7ffb9b63ede","previewModeEncryptionKey":"d066df98f41672b98551bb77b6a7b772ff055c419cdeb19125350f85865a64e7","expireAt":1779352470638}
|
||||
1
.next/cache/.rscinfo
vendored
Normal file
1
.next/cache/.rscinfo
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"encryption.key":"LTQvj9nZBjpE+5fg6OJSaaPRmdQyOwNVqrQxsrqOTGw=","encryption.expire_at":1779352470629}
|
||||
6
.next/diagnostics/build-diagnostics.json
Normal file
6
.next/diagnostics/build-diagnostics.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"buildStage": "static-generation",
|
||||
"buildOptions": {
|
||||
"useBuildWorker": "false"
|
||||
}
|
||||
}
|
||||
1
.next/diagnostics/framework.json
Normal file
1
.next/diagnostics/framework.json
Normal file
@@ -0,0 +1 @@
|
||||
{"name":"Next.js","version":"16.1.6"}
|
||||
6
.next/export-marker.json
Normal file
6
.next/export-marker.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"version": 1,
|
||||
"hasExportPathMap": false,
|
||||
"exportTrailingSlash": false,
|
||||
"isNextImageImported": false
|
||||
}
|
||||
12
.next/fallback-build-manifest.json
Normal file
12
.next/fallback-build-manifest.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"pages": {
|
||||
"/_app": []
|
||||
},
|
||||
"devFiles": [],
|
||||
"polyfillFiles": [],
|
||||
"lowPriorityFiles": [
|
||||
"static/IXTVC4h58-GoEIlInIL1G/_ssgManifest.js",
|
||||
"static/IXTVC4h58-GoEIlInIL1G/_buildManifest.js"
|
||||
],
|
||||
"rootMainFiles": []
|
||||
}
|
||||
101
.next/images-manifest.json
Normal file
101
.next/images-manifest.json
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"version": 1,
|
||||
"images": {
|
||||
"deviceSizes": [
|
||||
640,
|
||||
750,
|
||||
828,
|
||||
1080,
|
||||
1200,
|
||||
1920,
|
||||
2048,
|
||||
3840
|
||||
],
|
||||
"imageSizes": [
|
||||
32,
|
||||
48,
|
||||
64,
|
||||
96,
|
||||
128,
|
||||
256,
|
||||
384
|
||||
],
|
||||
"path": "/_next/image",
|
||||
"loader": "default",
|
||||
"loaderFile": "",
|
||||
"domains": [],
|
||||
"disableStaticImages": false,
|
||||
"minimumCacheTTL": 14400,
|
||||
"formats": [
|
||||
"image/webp"
|
||||
],
|
||||
"maximumRedirects": 3,
|
||||
"maximumResponseBody": 50000000,
|
||||
"dangerouslyAllowLocalIP": false,
|
||||
"dangerouslyAllowSVG": false,
|
||||
"contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
|
||||
"contentDispositionType": "attachment",
|
||||
"localPatterns": [
|
||||
{
|
||||
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$",
|
||||
"search": ""
|
||||
}
|
||||
],
|
||||
"remotePatterns": [
|
||||
{
|
||||
"protocol": "https",
|
||||
"hostname": "^(?:^(?:e\\-tib\\.com)$)$",
|
||||
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$"
|
||||
},
|
||||
{
|
||||
"protocol": "https",
|
||||
"hostname": "^(?:(?!\\.)(?=.)[^/]*?\\.e-tib\\.com)$",
|
||||
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "^(?:^(?:e\\-tib\\.com)$)$",
|
||||
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "^(?:(?!\\.)(?=.)[^/]*?\\.e-tib\\.com)$",
|
||||
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "^(?:^(?:etib\\.localhost)$)$",
|
||||
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "^(?:^(?:localhost)$)$",
|
||||
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$"
|
||||
}
|
||||
],
|
||||
"qualities": [
|
||||
25,
|
||||
50,
|
||||
75,
|
||||
100
|
||||
],
|
||||
"unoptimized": false,
|
||||
"sizes": [
|
||||
640,
|
||||
750,
|
||||
828,
|
||||
1080,
|
||||
1200,
|
||||
1920,
|
||||
2048,
|
||||
3840,
|
||||
32,
|
||||
48,
|
||||
64,
|
||||
96,
|
||||
128,
|
||||
256,
|
||||
384
|
||||
]
|
||||
}
|
||||
}
|
||||
1
.next/next-minimal-server.js.nft.json
Normal file
1
.next/next-minimal-server.js.nft.json
Normal file
File diff suppressed because one or more lines are too long
1
.next/next-server.js.nft.json
Normal file
1
.next/next-server.js.nft.json
Normal file
File diff suppressed because one or more lines are too long
1
.next/node_modules/import-in-the-middle-138cd032e4b029f3
generated
vendored
Symbolic link
1
.next/node_modules/import-in-the-middle-138cd032e4b029f3
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../node_modules/.pnpm/import-in-the-middle@3.0.0/node_modules/import-in-the-middle
|
||||
1
.next/node_modules/import-in-the-middle-6ecbfda1283b1532
generated
vendored
Symbolic link
1
.next/node_modules/import-in-the-middle-6ecbfda1283b1532
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../node_modules/.pnpm/import-in-the-middle@2.0.6/node_modules/import-in-the-middle
|
||||
1
.next/node_modules/next-mdx-remote-38ab1b696f56808a
generated
vendored
Symbolic link
1
.next/node_modules/next-mdx-remote-38ab1b696f56808a
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../node_modules/.pnpm/next-mdx-remote@5.0.0_@types+react@19.2.14_react@19.2.4/node_modules/next-mdx-remote
|
||||
1
.next/node_modules/pino-2e79642258e38174
generated
vendored
Symbolic link
1
.next/node_modules/pino-2e79642258e38174
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../node_modules/.pnpm/pino@10.3.1/node_modules/pino
|
||||
1
.next/node_modules/prettier-6252915918e48d75
generated
vendored
Symbolic link
1
.next/node_modules/prettier-6252915918e48d75
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../node_modules/.pnpm/prettier@3.4.2/node_modules/prettier
|
||||
1
.next/node_modules/require-in-the-middle-a99415fa67232f7f
generated
vendored
Symbolic link
1
.next/node_modules/require-in-the-middle-a99415fa67232f7f
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../node_modules/.pnpm/require-in-the-middle@8.0.1/node_modules/require-in-the-middle
|
||||
1
.next/package.json
Normal file
1
.next/package.json
Normal file
@@ -0,0 +1 @@
|
||||
{"type": "commonjs"}
|
||||
143
.next/prerender-manifest.json
Normal file
143
.next/prerender-manifest.json
Normal file
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"version": 4,
|
||||
"routes": {
|
||||
"/_global-error": {
|
||||
"experimentalBypassFor": [
|
||||
{
|
||||
"type": "header",
|
||||
"key": "next-action"
|
||||
},
|
||||
{
|
||||
"type": "header",
|
||||
"key": "content-type",
|
||||
"value": "multipart/form-data;.*"
|
||||
}
|
||||
],
|
||||
"initialRevalidateSeconds": false,
|
||||
"srcRoute": "/_global-error",
|
||||
"dataRoute": "/_global-error.rsc",
|
||||
"allowHeader": [
|
||||
"host",
|
||||
"x-matched-path",
|
||||
"x-prerender-revalidate",
|
||||
"x-prerender-revalidate-if-generated",
|
||||
"x-next-revalidated-tags",
|
||||
"x-next-revalidate-tag-token"
|
||||
]
|
||||
},
|
||||
"/_not-found": {
|
||||
"initialStatus": 404,
|
||||
"experimentalBypassFor": [
|
||||
{
|
||||
"type": "header",
|
||||
"key": "next-action"
|
||||
},
|
||||
{
|
||||
"type": "header",
|
||||
"key": "content-type",
|
||||
"value": "multipart/form-data;.*"
|
||||
}
|
||||
],
|
||||
"initialRevalidateSeconds": false,
|
||||
"srcRoute": "/_not-found",
|
||||
"dataRoute": "/_not-found.rsc",
|
||||
"allowHeader": [
|
||||
"host",
|
||||
"x-matched-path",
|
||||
"x-prerender-revalidate",
|
||||
"x-prerender-revalidate-if-generated",
|
||||
"x-next-revalidated-tags",
|
||||
"x-next-revalidate-tag-token"
|
||||
]
|
||||
},
|
||||
"/manifest.webmanifest": {
|
||||
"initialHeaders": {
|
||||
"cache-control": "public, max-age=0, must-revalidate",
|
||||
"content-type": "application/manifest+json",
|
||||
"x-next-cache-tags": "_N_T_/layout,_N_T_/manifest.webmanifest/layout,_N_T_/manifest.webmanifest/route,_N_T_/manifest.webmanifest"
|
||||
},
|
||||
"experimentalBypassFor": [
|
||||
{
|
||||
"type": "header",
|
||||
"key": "next-action"
|
||||
},
|
||||
{
|
||||
"type": "header",
|
||||
"key": "content-type",
|
||||
"value": "multipart/form-data;.*"
|
||||
}
|
||||
],
|
||||
"initialRevalidateSeconds": false,
|
||||
"srcRoute": "/manifest.webmanifest",
|
||||
"dataRoute": null,
|
||||
"allowHeader": [
|
||||
"host",
|
||||
"x-matched-path",
|
||||
"x-prerender-revalidate",
|
||||
"x-prerender-revalidate-if-generated",
|
||||
"x-next-revalidated-tags",
|
||||
"x-next-revalidate-tag-token"
|
||||
]
|
||||
},
|
||||
"/robots.txt": {
|
||||
"initialHeaders": {
|
||||
"cache-control": "public, max-age=0, must-revalidate",
|
||||
"content-type": "text/plain",
|
||||
"x-next-cache-tags": "_N_T_/layout,_N_T_/robots.txt/layout,_N_T_/robots.txt/route,_N_T_/robots.txt"
|
||||
},
|
||||
"experimentalBypassFor": [
|
||||
{
|
||||
"type": "header",
|
||||
"key": "next-action"
|
||||
},
|
||||
{
|
||||
"type": "header",
|
||||
"key": "content-type",
|
||||
"value": "multipart/form-data;.*"
|
||||
}
|
||||
],
|
||||
"initialRevalidateSeconds": false,
|
||||
"srcRoute": "/robots.txt",
|
||||
"dataRoute": null,
|
||||
"allowHeader": [
|
||||
"host",
|
||||
"x-matched-path",
|
||||
"x-prerender-revalidate",
|
||||
"x-prerender-revalidate-if-generated",
|
||||
"x-next-revalidated-tags",
|
||||
"x-next-revalidate-tag-token"
|
||||
]
|
||||
},
|
||||
"/test": {
|
||||
"experimentalBypassFor": [
|
||||
{
|
||||
"type": "header",
|
||||
"key": "next-action"
|
||||
},
|
||||
{
|
||||
"type": "header",
|
||||
"key": "content-type",
|
||||
"value": "multipart/form-data;.*"
|
||||
}
|
||||
],
|
||||
"initialRevalidateSeconds": false,
|
||||
"srcRoute": "/test",
|
||||
"dataRoute": "/test.rsc",
|
||||
"allowHeader": [
|
||||
"host",
|
||||
"x-matched-path",
|
||||
"x-prerender-revalidate",
|
||||
"x-prerender-revalidate-if-generated",
|
||||
"x-next-revalidated-tags",
|
||||
"x-next-revalidate-tag-token"
|
||||
]
|
||||
}
|
||||
},
|
||||
"dynamicRoutes": {},
|
||||
"notFoundRoutes": [],
|
||||
"preview": {
|
||||
"previewModeId": "9ef510819b99a8435cd382f35c9632e6",
|
||||
"previewModeSigningKey": "bb31ca30c44dc89a1234fd0e0b19fd2b82d662542edb3f4345e2e7ffb9b63ede",
|
||||
"previewModeEncryptionKey": "d066df98f41672b98551bb77b6a7b772ff055c419cdeb19125350f85865a64e7"
|
||||
}
|
||||
}
|
||||
896
.next/required-server-files.js
Normal file
896
.next/required-server-files.js
Normal file
@@ -0,0 +1,896 @@
|
||||
self.__SERVER_FILES_MANIFEST={
|
||||
"version": 1,
|
||||
"config": {
|
||||
"env": {
|
||||
"_sentryRewriteFramesDistDir": ".next",
|
||||
"_sentryRewriteFramesAssetPrefixPath": "",
|
||||
"_sentryRelease": "ab5cc38c97e5f73d6e821465b90d199fb6e6edc9"
|
||||
},
|
||||
"typescript": {
|
||||
"ignoreBuildErrors": false
|
||||
},
|
||||
"typedRoutes": false,
|
||||
"distDir": ".next",
|
||||
"cleanDistDir": true,
|
||||
"assetPrefix": "",
|
||||
"cacheMaxMemorySize": 52428800,
|
||||
"configOrigin": "next.config.mjs",
|
||||
"useFileSystemPublicRoutes": true,
|
||||
"generateEtags": true,
|
||||
"pageExtensions": [
|
||||
"tsx",
|
||||
"ts",
|
||||
"jsx",
|
||||
"js"
|
||||
],
|
||||
"poweredByHeader": true,
|
||||
"compress": true,
|
||||
"images": {
|
||||
"deviceSizes": [
|
||||
640,
|
||||
750,
|
||||
828,
|
||||
1080,
|
||||
1200,
|
||||
1920,
|
||||
2048,
|
||||
3840
|
||||
],
|
||||
"imageSizes": [
|
||||
32,
|
||||
48,
|
||||
64,
|
||||
96,
|
||||
128,
|
||||
256,
|
||||
384
|
||||
],
|
||||
"path": "/_next/image",
|
||||
"loader": "default",
|
||||
"loaderFile": "",
|
||||
"domains": [],
|
||||
"disableStaticImages": false,
|
||||
"minimumCacheTTL": 14400,
|
||||
"formats": [
|
||||
"image/webp"
|
||||
],
|
||||
"maximumRedirects": 3,
|
||||
"maximumResponseBody": 50000000,
|
||||
"dangerouslyAllowLocalIP": false,
|
||||
"dangerouslyAllowSVG": false,
|
||||
"contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
|
||||
"contentDispositionType": "attachment",
|
||||
"localPatterns": [
|
||||
{
|
||||
"pathname": "**",
|
||||
"search": ""
|
||||
}
|
||||
],
|
||||
"remotePatterns": [
|
||||
{
|
||||
"protocol": "https",
|
||||
"hostname": "e-tib.com"
|
||||
},
|
||||
{
|
||||
"protocol": "https",
|
||||
"hostname": "*.e-tib.com"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "e-tib.com"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "*.e-tib.com"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "etib.localhost"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "localhost"
|
||||
}
|
||||
],
|
||||
"qualities": [
|
||||
25,
|
||||
50,
|
||||
75,
|
||||
100
|
||||
],
|
||||
"unoptimized": false
|
||||
},
|
||||
"devIndicators": {
|
||||
"position": "bottom-left"
|
||||
},
|
||||
"onDemandEntries": {
|
||||
"maxInactiveAge": 300000,
|
||||
"pagesBufferLength": 2
|
||||
},
|
||||
"basePath": "",
|
||||
"sassOptions": {},
|
||||
"trailingSlash": false,
|
||||
"i18n": null,
|
||||
"productionBrowserSourceMaps": false,
|
||||
"excludeDefaultMomentLocales": true,
|
||||
"reactProductionProfiling": false,
|
||||
"reactStrictMode": false,
|
||||
"reactMaxHeadersLength": 6000,
|
||||
"httpAgentOptions": {
|
||||
"keepAlive": true
|
||||
},
|
||||
"logging": {
|
||||
"fetches": {
|
||||
"fullUrl": true
|
||||
}
|
||||
},
|
||||
"compiler": {},
|
||||
"expireTime": 31536000,
|
||||
"staticPageGenerationTimeout": 60,
|
||||
"output": "standalone",
|
||||
"modularizeImports": {
|
||||
"@mui/icons-material": {
|
||||
"transform": "@mui/icons-material/{{member}}"
|
||||
},
|
||||
"lodash": {
|
||||
"transform": "lodash/{{member}}"
|
||||
}
|
||||
},
|
||||
"outputFileTracingRoot": "/Volumes/Alpha SSD/Coding/e-tib.com",
|
||||
"cacheComponents": false,
|
||||
"cacheLife": {
|
||||
"default": {
|
||||
"stale": 300,
|
||||
"revalidate": 900,
|
||||
"expire": 4294967294
|
||||
},
|
||||
"seconds": {
|
||||
"stale": 30,
|
||||
"revalidate": 1,
|
||||
"expire": 60
|
||||
},
|
||||
"minutes": {
|
||||
"stale": 300,
|
||||
"revalidate": 60,
|
||||
"expire": 3600
|
||||
},
|
||||
"hours": {
|
||||
"stale": 300,
|
||||
"revalidate": 3600,
|
||||
"expire": 86400
|
||||
},
|
||||
"days": {
|
||||
"stale": 300,
|
||||
"revalidate": 86400,
|
||||
"expire": 604800
|
||||
},
|
||||
"weeks": {
|
||||
"stale": 300,
|
||||
"revalidate": 604800,
|
||||
"expire": 2592000
|
||||
},
|
||||
"max": {
|
||||
"stale": 300,
|
||||
"revalidate": 2592000,
|
||||
"expire": 31536000
|
||||
}
|
||||
},
|
||||
"cacheHandlers": {},
|
||||
"experimental": {
|
||||
"useSkewCookie": false,
|
||||
"cssChunking": true,
|
||||
"multiZoneDraftMode": false,
|
||||
"appNavFailHandling": false,
|
||||
"prerenderEarlyExit": true,
|
||||
"serverMinification": true,
|
||||
"linkNoTouchStart": false,
|
||||
"caseSensitiveRoutes": false,
|
||||
"dynamicOnHover": false,
|
||||
"preloadEntriesOnStart": true,
|
||||
"clientRouterFilter": true,
|
||||
"clientRouterFilterRedirects": false,
|
||||
"fetchCacheKeyPrefix": "",
|
||||
"proxyPrefetch": "flexible",
|
||||
"optimisticClientCache": true,
|
||||
"manualClientBasePath": false,
|
||||
"cpus": 15,
|
||||
"memoryBasedWorkersCount": true,
|
||||
"imgOptConcurrency": null,
|
||||
"imgOptTimeoutInSeconds": 7,
|
||||
"imgOptMaxInputPixels": 268402689,
|
||||
"imgOptSequentialRead": null,
|
||||
"imgOptSkipMetadata": null,
|
||||
"isrFlushToDisk": true,
|
||||
"workerThreads": false,
|
||||
"optimizeCss": false,
|
||||
"nextScriptWorkers": false,
|
||||
"scrollRestoration": false,
|
||||
"externalDir": false,
|
||||
"disableOptimizedLoading": false,
|
||||
"gzipSize": true,
|
||||
"craCompat": false,
|
||||
"esmExternals": true,
|
||||
"fullySpecified": false,
|
||||
"swcTraceProfiling": false,
|
||||
"forceSwcTransforms": false,
|
||||
"largePageDataBytes": 128000,
|
||||
"typedEnv": false,
|
||||
"clientTraceMetadata": [
|
||||
"baggage",
|
||||
"sentry-trace"
|
||||
],
|
||||
"parallelServerCompiles": false,
|
||||
"parallelServerBuildTraces": false,
|
||||
"ppr": false,
|
||||
"authInterrupts": false,
|
||||
"webpackMemoryOptimizations": false,
|
||||
"optimizeServerReact": true,
|
||||
"viewTransition": false,
|
||||
"removeUncaughtErrorAndRejectionListeners": false,
|
||||
"validateRSCRequestHeaders": false,
|
||||
"staleTimes": {
|
||||
"dynamic": 0,
|
||||
"static": 300
|
||||
},
|
||||
"reactDebugChannel": false,
|
||||
"serverComponentsHmrCache": true,
|
||||
"staticGenerationMaxConcurrency": 8,
|
||||
"staticGenerationMinPagesPerWorker": 25,
|
||||
"transitionIndicator": false,
|
||||
"inlineCss": false,
|
||||
"useCache": false,
|
||||
"globalNotFound": false,
|
||||
"browserDebugInfoInTerminal": false,
|
||||
"lockDistDir": true,
|
||||
"isolatedDevBuild": true,
|
||||
"proxyClientMaxBodySize": 10485760,
|
||||
"hideLogsAfterAbort": false,
|
||||
"mcpServer": true,
|
||||
"turbopackFileSystemCacheForDev": true,
|
||||
"turbopackFileSystemCacheForBuild": false,
|
||||
"turbopackInferModuleSideEffects": false,
|
||||
"optimizePackageImports": [
|
||||
"lucide-react",
|
||||
"framer-motion",
|
||||
"@/components/ui",
|
||||
"@sentry/nextjs",
|
||||
"react-hook-form",
|
||||
"zod",
|
||||
"date-fns",
|
||||
"lodash-es",
|
||||
"ramda",
|
||||
"antd",
|
||||
"react-bootstrap",
|
||||
"ahooks",
|
||||
"@ant-design/icons",
|
||||
"@headlessui/react",
|
||||
"@headlessui-float/react",
|
||||
"@heroicons/react/20/solid",
|
||||
"@heroicons/react/24/solid",
|
||||
"@heroicons/react/24/outline",
|
||||
"@visx/visx",
|
||||
"@tremor/react",
|
||||
"rxjs",
|
||||
"@mui/material",
|
||||
"@mui/icons-material",
|
||||
"recharts",
|
||||
"react-use",
|
||||
"effect",
|
||||
"@effect/schema",
|
||||
"@effect/platform",
|
||||
"@effect/platform-node",
|
||||
"@effect/platform-browser",
|
||||
"@effect/platform-bun",
|
||||
"@effect/sql",
|
||||
"@effect/sql-mssql",
|
||||
"@effect/sql-mysql2",
|
||||
"@effect/sql-pg",
|
||||
"@effect/sql-sqlite-node",
|
||||
"@effect/sql-sqlite-bun",
|
||||
"@effect/sql-sqlite-wasm",
|
||||
"@effect/sql-sqlite-react-native",
|
||||
"@effect/rpc",
|
||||
"@effect/rpc-http",
|
||||
"@effect/typeclass",
|
||||
"@effect/experimental",
|
||||
"@effect/opentelemetry",
|
||||
"@material-ui/core",
|
||||
"@material-ui/icons",
|
||||
"@tabler/icons-react",
|
||||
"mui-core",
|
||||
"react-icons/ai",
|
||||
"react-icons/bi",
|
||||
"react-icons/bs",
|
||||
"react-icons/cg",
|
||||
"react-icons/ci",
|
||||
"react-icons/di",
|
||||
"react-icons/fa",
|
||||
"react-icons/fa6",
|
||||
"react-icons/fc",
|
||||
"react-icons/fi",
|
||||
"react-icons/gi",
|
||||
"react-icons/go",
|
||||
"react-icons/gr",
|
||||
"react-icons/hi",
|
||||
"react-icons/hi2",
|
||||
"react-icons/im",
|
||||
"react-icons/io",
|
||||
"react-icons/io5",
|
||||
"react-icons/lia",
|
||||
"react-icons/lib",
|
||||
"react-icons/lu",
|
||||
"react-icons/md",
|
||||
"react-icons/pi",
|
||||
"react-icons/ri",
|
||||
"react-icons/rx",
|
||||
"react-icons/si",
|
||||
"react-icons/sl",
|
||||
"react-icons/tb",
|
||||
"react-icons/tfi",
|
||||
"react-icons/ti",
|
||||
"react-icons/vsc",
|
||||
"react-icons/wi"
|
||||
],
|
||||
"serverActions": {
|
||||
"allowedOrigins": [
|
||||
"*.e-tib.com",
|
||||
"*.branch.e-tib.com",
|
||||
"localhost:3000",
|
||||
"etib.localhost"
|
||||
]
|
||||
},
|
||||
"trustHostHeader": false,
|
||||
"isExperimentalCompile": false
|
||||
},
|
||||
"htmlLimitedBots": "[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight",
|
||||
"bundlePagesRouterDependencies": false,
|
||||
"configFileName": "next.config.mjs",
|
||||
"turbopack": {
|
||||
"resolveAlias": {
|
||||
"next-intl/config": "./i18n/request.ts",
|
||||
"next-mdx-import-source-file": "@vercel/turbopack-next/mdx-import-source"
|
||||
},
|
||||
"debugIds": true,
|
||||
"rules": {
|
||||
"**/instrumentation-client.*": {
|
||||
"condition": {
|
||||
"not": "foreign"
|
||||
},
|
||||
"loaders": [
|
||||
{
|
||||
"loader": "/Volumes/Alpha SSD/Coding/e-tib.com/node_modules/.pnpm/@sentry+nextjs@10.47.0_@opentelemetry+context-async-hooks@2.6.1_@opentelemetry+api@1.9._592068e1ec60e8e26228b1be96d6d8d5/node_modules/@sentry/nextjs/build/cjs/config/loaders/valueInjectionLoader.js",
|
||||
"options": {
|
||||
"values": {
|
||||
"_sentryRouteManifest": "{\"dynamicRoutes\":[{\"path\":\"/:locale\",\"regex\":\"^/([^/]+)$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/:slug\",\"regex\":\"^/([^/]+)/([^/]+)$\",\"paramNames\":[\"locale\",\"slug\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/blog\",\"regex\":\"^/([^/]+)/blog$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/blog/:slug\",\"regex\":\"^/([^/]+)/blog/([^/]+)$\",\"paramNames\":[\"locale\",\"slug\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/contact\",\"regex\":\"^/([^/]+)/contact$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/team\",\"regex\":\"^/([^/]+)/team$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/test\",\"regex\":\"^/([^/]+)/test$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true}],\"staticRoutes\":[{\"path\":\"/test\"}],\"isrRoutes\":[\"/:locale/contact\"]}",
|
||||
"_sentryNextJsVersion": "16.1.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"**/instrumentation.*": {
|
||||
"condition": {
|
||||
"not": "foreign"
|
||||
},
|
||||
"loaders": [
|
||||
{
|
||||
"loader": "/Volumes/Alpha SSD/Coding/e-tib.com/node_modules/.pnpm/@sentry+nextjs@10.47.0_@opentelemetry+context-async-hooks@2.6.1_@opentelemetry+api@1.9._592068e1ec60e8e26228b1be96d6d8d5/node_modules/@sentry/nextjs/build/cjs/config/loaders/valueInjectionLoader.js",
|
||||
"options": {
|
||||
"values": {
|
||||
"__SENTRY_SERVER_MODULES__": {
|
||||
"@mintel/mail": "1.9.5",
|
||||
"@mintel/next-config": "1.9.5",
|
||||
"@mintel/next-feedback": "1.9.5",
|
||||
"@mintel/next-utils": "1.9.5",
|
||||
"@next/mdx": "^16.1.6",
|
||||
"@react-email/components": "1.0.8",
|
||||
"@react-pdf/renderer": "^4.3.2",
|
||||
"@react-three/drei": "^10.7.7",
|
||||
"@react-three/fiber": "^9.5.0",
|
||||
"@sentry/nextjs": "^10.39.0",
|
||||
"@types/recharts": "^2.0.1",
|
||||
"axios": "^1.13.5",
|
||||
"clsx": "^2.1.1",
|
||||
"framer-motion": "^12.34.0",
|
||||
"graphql": "^16.12.0",
|
||||
"gray-matter": "^4.0.3",
|
||||
"i18next": "^25.7.3",
|
||||
"import-in-the-middle": "^1.11.0",
|
||||
"ioredis": "^5.9.3",
|
||||
"jsdom": "^27.4.0",
|
||||
"leaflet": "^1.9.4",
|
||||
"next": "16.1.6",
|
||||
"next-i18next": "^15.4.3",
|
||||
"next-intl": "^4.8.2",
|
||||
"next-mdx-remote": "^5.0.0",
|
||||
"nodemailer": "^8.0.7",
|
||||
"pdf-lib": "^1.17.1",
|
||||
"pino": "^10.3.0",
|
||||
"pino-pretty": "^13.1.3",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4",
|
||||
"react-email": "^5.2.5",
|
||||
"react-leaflet": "^4.2.1",
|
||||
"react-markdown": "^10.1.0",
|
||||
"recharts": "^3.7.0",
|
||||
"rehype-raw": "^7.0.0",
|
||||
"remark-gfm": "^4.0.1",
|
||||
"require-in-the-middle": "^8.0.1",
|
||||
"resend": "^3.5.0",
|
||||
"schema-dts": "^1.1.5",
|
||||
"sharp": "^0.34.5",
|
||||
"svg-to-pdfkit": "^0.1.8",
|
||||
"tailwind-merge": "^3.4.0",
|
||||
"three": "^0.183.1",
|
||||
"xlsx": "npm:@e965/xlsx@^0.20.3",
|
||||
"zod": "3.25.76",
|
||||
"@commitlint/cli": "^20.4.0",
|
||||
"@commitlint/config-conventional": "^20.4.0",
|
||||
"@cspell/dict-de-de": "^4.1.2",
|
||||
"@lhci/cli": "^0.15.1",
|
||||
"@mintel/eslint-config": "^1.9.0",
|
||||
"@mintel/tsconfig": "^1.9.0",
|
||||
"@next/bundle-analyzer": "^16.1.6",
|
||||
"@tailwindcss/cli": "^4.1.18",
|
||||
"@tailwindcss/postcss": "^4.1.18",
|
||||
"@types/geojson": "^7946.0.16",
|
||||
"@types/leaflet": "^1.9.21",
|
||||
"@types/node": "^22.19.3",
|
||||
"@types/nodemailer": "^7.0.5",
|
||||
"@types/react": "^19.2.7",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@types/sharp": "^0.31.1",
|
||||
"@types/three": "^0.183.1",
|
||||
"@vitejs/plugin-react": "^5.1.4",
|
||||
"@vitest/ui": "^4.0.16",
|
||||
"autoprefixer": "^10.4.23",
|
||||
"cheerio": "^1.2.0",
|
||||
"critters": "^0.0.25",
|
||||
"cspell": "^9.6.4",
|
||||
"dotenv": "^17.3.1",
|
||||
"eslint": "^9.18.0",
|
||||
"happy-dom": "^20.6.1",
|
||||
"html-validate": "^10.8.0",
|
||||
"husky": "^9.1.7",
|
||||
"lint-staged": "^16.2.7",
|
||||
"lucide-react": "^0.563.0",
|
||||
"pa11y-ci": "^4.0.1",
|
||||
"pdf-parse": "^2.4.5",
|
||||
"postcss": "^8.5.6",
|
||||
"prettier": "^3.8.1",
|
||||
"puppeteer": "^24.37.3",
|
||||
"sass": "^1.97.1",
|
||||
"start-server-and-test": "^2.1.3",
|
||||
"tailwindcss": "^4.1.18",
|
||||
"tsx": "^4.21.0",
|
||||
"turbo": "^2.8.10",
|
||||
"typescript": "^5.7.2",
|
||||
"vitest": "^4.0.16",
|
||||
"xlsx-cli": "^1.1.3"
|
||||
},
|
||||
"_sentryNextJsVersion": "16.1.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"{*,next-mdx-rule}": [
|
||||
{
|
||||
"loaders": [
|
||||
{
|
||||
"loader": "/Volumes/Alpha SSD/Coding/e-tib.com/node_modules/.pnpm/@next+mdx@16.2.4_@mdx-js+react@3.1.1_@types+react@19.2.14_react@19.2.4_/node_modules/@next/mdx/mdx-js-loader.js",
|
||||
"options": {
|
||||
"providerImportSource": "next-mdx-import-source-file"
|
||||
}
|
||||
}
|
||||
],
|
||||
"as": "*.tsx",
|
||||
"condition": {
|
||||
"path": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"root": "/Volumes/Alpha SSD/Coding/e-tib.com"
|
||||
},
|
||||
"transpilePackages": [
|
||||
"react-image-crop",
|
||||
"@react-three/fiber"
|
||||
],
|
||||
"serverExternalPackages": [
|
||||
"amqplib",
|
||||
"connect",
|
||||
"dataloader",
|
||||
"express",
|
||||
"generic-pool",
|
||||
"graphql",
|
||||
"@hapi/hapi",
|
||||
"ioredis",
|
||||
"kafkajs",
|
||||
"koa",
|
||||
"lru-memoizer",
|
||||
"mongodb",
|
||||
"mongoose",
|
||||
"mysql",
|
||||
"mysql2",
|
||||
"knex",
|
||||
"pg",
|
||||
"pg-pool",
|
||||
"@node-redis/client",
|
||||
"@redis/client",
|
||||
"redis",
|
||||
"tedious"
|
||||
],
|
||||
"distDirRoot": ".next",
|
||||
"_originalRewrites": {
|
||||
"beforeFiles": [
|
||||
{
|
||||
"source": "/:locale/datasheets/:path*",
|
||||
"destination": "/api/datasheets/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/:locale/brochures/:path*",
|
||||
"destination": "/api/brochures/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/datasheets/:path*",
|
||||
"destination": "/api/datasheets/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/brochures/:path*",
|
||||
"destination": "/api/brochures/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte",
|
||||
"destination": "/de/products"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/:path*",
|
||||
"destination": "/de/products/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/de/kontakt",
|
||||
"destination": "/de/contact"
|
||||
},
|
||||
{
|
||||
"source": "/en/produkte",
|
||||
"destination": "/en/products"
|
||||
},
|
||||
{
|
||||
"source": "/en/produkte/:path*",
|
||||
"destination": "/en/products/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/en/kontakt",
|
||||
"destination": "/en/contact"
|
||||
},
|
||||
{
|
||||
"source": "/en/impressum",
|
||||
"destination": "/en/legal-notice"
|
||||
},
|
||||
{
|
||||
"source": "/en/datenschutz",
|
||||
"destination": "/en/privacy-policy"
|
||||
},
|
||||
{
|
||||
"source": "/en/agbs",
|
||||
"destination": "/en/terms"
|
||||
}
|
||||
],
|
||||
"afterFiles": [],
|
||||
"fallback": []
|
||||
},
|
||||
"_originalRedirects": [
|
||||
{
|
||||
"source": "/blog",
|
||||
"destination": "/de/blog",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/contact",
|
||||
"destination": "/de/contact",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/team",
|
||||
"destination": "/de/team",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products",
|
||||
"destination": "/de/products",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/100-renewable-energy-only-with-the-right-cable-infrastructure.html",
|
||||
"destination": "/de/blog/100-renewable-energy-only-with-the-right-cable-infrastructure",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/billion-euro-package-for-infrastructure-the-cable-boom-is-coming.html",
|
||||
"destination": "/de/blog/billion-euro-package-for-infrastructure-the-cable-boom-is-coming",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-abbreviations-decoded-the-key-to-choosing-the-right-cable.html",
|
||||
"destination": "/de/blog/cable-abbreviations-decoded-the-key-to-choosing-the-right-cable",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-drum-quality-the-foundation-of-cable-reliability.html",
|
||||
"destination": "/de/blog/cable-drum-quality-the-foundation-of-cable-reliability",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-drum-safety-ensuring-smooth-operations-and-accident-free-environments.html",
|
||||
"destination": "/de/blog/cable-drum-safety-ensuring-smooth-operations-and-accident-free-environments",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/climate-neutral-by-2050-what-we-need-to-do-to-achieve-this-goal.html",
|
||||
"destination": "/de/blog/climate-neutral-by-2050-what-we-need-to-do-to-achieve-this-goal",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/cost-comparison-copper-vs-aluminum-cables-in-wind-farms-which-is-worthwhile-in-the-long-term.html",
|
||||
"destination": "/de/blog/cost-comparison-copper-vs-aluminum-cables-in-wind-farms-which-is-worthwhile-in-the-long-term",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/expanding-the-grid-by-2025-building-the-foundation-for-a-successful-energy-transition.html",
|
||||
"destination": "/de/blog/expanding-the-grid-by-2025-building-the-foundation-for-a-successful-energy-transition",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/eye-opening-realities-of-green-energy-transformation.html",
|
||||
"destination": "/de/blog/eye-opening-realities-of-green-energy-transformation",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/focus-on-wind-farm-construction-three-typical-cable-challenges.html",
|
||||
"destination": "/de/blog/focus-on-wind-farm-construction-three-typical-cable-challenges",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/from-smart-to-sustainable-this-is-what-the-energy-industry-will-look-like-in-the-near-future.html",
|
||||
"destination": "/de/blog/from-smart-to-sustainable-this-is-what-the-energy-industry-will-look-like-in-the-near-future",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/green-energy-starts-underground-and-with-a-plan.html",
|
||||
"destination": "/de/blog/green-energy-starts-underground-and-with-a-plan",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-the-cable-industry-is-driving-sustainability-and-renewable-energies-forward.html",
|
||||
"destination": "/de/blog/how-the-cable-industry-is-driving-sustainability-and-renewable-energies-forward",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-the-right-cables-quietly-power-the-green-energy-revolution.html",
|
||||
"destination": "/de/blog/how-the-right-cables-quietly-power-the-green-energy-revolution",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-to-choose-the-right-cable-for-your-next-project.html",
|
||||
"destination": "/de/blog/how-to-choose-the-right-cable-for-your-next-project",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/is-wind-energy-really-enough-a-deeper-dive-behind-the-headlines.html",
|
||||
"destination": "/de/blog/is-wind-energy-really-enough-a-deeper-dive-behind-the-headlines",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/etib-in-the-directory-of-wind-energy-2025.html",
|
||||
"destination": "/de/blog/etib-in-the-directory-of-wind-energy-2025",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/na2xsf2y-three-conductor-medium-voltage-cable-available.html",
|
||||
"destination": "/de/blog/na2xsf2y-three-conductor-medium-voltage-cable-available",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/recycling-of-cable-drums-sustainability-in-wind-power-projects.html",
|
||||
"destination": "/de/blog/recycling-of-cable-drums-sustainability-in-wind-power-projects",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/securing-the-future-with-h1z2z2-k-our-solar-cable-for-intersolar-2025.html",
|
||||
"destination": "/de/blog/securing-the-future-with-h1z2z2-k-our-solar-cable-for-intersolar-2025",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-art-of-cable-logistics-moving-the-backbone-of-modern-energy-networks.html",
|
||||
"destination": "/de/blog/the-art-of-cable-logistics-moving-the-backbone-of-modern-energy-networks",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-best-underground-cables-for-wind-power-and-solar-order-from-us-now.html",
|
||||
"destination": "/de/blog/the-best-underground-cables-for-wind-power-and-solar-order-from-us-now",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-perfect-cable-inquiry-how-to-save-yourself-unnecessary-queries.html",
|
||||
"destination": "/de/blog/the-perfect-cable-inquiry-how-to-save-yourself-unnecessary-queries",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/this-what-you-need-to-know-about-renewable-energies-in-2025.html",
|
||||
"destination": "/de/blog/this-what-you-need-to-know-about-renewable-energies-in-2025",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/welcome-to-the-future-of-etib-our-new-website-is-live.html",
|
||||
"destination": "/de/blog/welcome-to-the-future-of-etib-our-new-website-is-live",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/what-makes-a-first-class-cable-find-out-here.html",
|
||||
"destination": "/de/blog/what-makes-a-first-class-cable-find-out-here",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/which-cables-for-wind-power-differences-from-low-to-extra-high-voltage-explained-2.html",
|
||||
"destination": "/de/blog/which-cables-for-wind-power-differences-from-low-to-extra-high-voltage-explained-2",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/why-the-n2xsf2y-is-the-ideal-cable-for-your-energy-project.html",
|
||||
"destination": "/de/blog/why-the-n2xsf2y-is-the-ideal-cable-for-your-energy-project",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/why-wind-farm-grid-connection-cables-must-withstand-extreme-loads.html",
|
||||
"destination": "/de/blog/why-wind-farm-grid-connection-cables-must-withstand-extreme-loads",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/high-voltage-cables/n2xsfl2y",
|
||||
"destination": "/de/products/n2xsfl2y-hv",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/high-voltage-cables/na2xsfl2y-3",
|
||||
"destination": "/de/products/na2xsfl2y-hv",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/n2x2y",
|
||||
"destination": "/de/products/n2x2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/n2xy",
|
||||
"destination": "/de/products/n2xy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/na2x2y",
|
||||
"destination": "/de/products/na2x2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/na2xy",
|
||||
"destination": "/de/products/na2xy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nay2y",
|
||||
"destination": "/de/products/nay2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/naycwy",
|
||||
"destination": "/de/products/naycwy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nayy",
|
||||
"destination": "/de/products/nayy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/ny2y",
|
||||
"destination": "/de/products/ny2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nycwy",
|
||||
"destination": "/de/products/nycwy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nyy",
|
||||
"destination": "/de/products/nyy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xs2y",
|
||||
"destination": "/de/products/n2xs2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xsf2y",
|
||||
"destination": "/de/products/n2xsf2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xsfl2y-3",
|
||||
"destination": "/de/products/n2xsfl2y-mv",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xs2y",
|
||||
"destination": "/de/products/na2xs2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsf2y",
|
||||
"destination": "/de/products/na2xsf2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsfl2y",
|
||||
"destination": "/de/products/na2xsfl2y-mv",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsy",
|
||||
"destination": "/de/products/na2xsy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/solar-cables/h1z2z2-k",
|
||||
"destination": "/de/products/solar-cables/h1z2z2-k",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/solarkabel/h1z2z2-k",
|
||||
"destination": "/de/produkte/solarkabel/h1z2z2-k",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/niederspannungskabel/naycwy-2",
|
||||
"destination": "/de/produkte/niederspannungskabel/naycwy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/niederspannungskabel/ny2y-2",
|
||||
"destination": "/de/produkte/niederspannungskabel/ny2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/vcf/klaus-mintel",
|
||||
"destination": "/klaus-mintel.vcf",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/vcf/michael-bodemer",
|
||||
"destination": "/michael-bodemer.vcf",
|
||||
"permanent": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"appDir": "/Volumes/Alpha SSD/Coding/e-tib.com",
|
||||
"relativeAppDir": "",
|
||||
"files": [
|
||||
".next/routes-manifest.json",
|
||||
".next/server/pages-manifest.json",
|
||||
".next/build-manifest.json",
|
||||
".next/prerender-manifest.json",
|
||||
".next/server/functions-config-manifest.json",
|
||||
".next/server/middleware-manifest.json",
|
||||
".next/server/middleware-build-manifest.js",
|
||||
".next/server/app-paths-manifest.json",
|
||||
".next/app-path-routes-manifest.json",
|
||||
".next/server/server-reference-manifest.js",
|
||||
".next/server/server-reference-manifest.json",
|
||||
".next/BUILD_ID",
|
||||
".next/server/next-font-manifest.js",
|
||||
".next/server/next-font-manifest.json",
|
||||
".next/required-server-files.json"
|
||||
],
|
||||
"ignore": []
|
||||
}
|
||||
896
.next/required-server-files.json
Normal file
896
.next/required-server-files.json
Normal file
@@ -0,0 +1,896 @@
|
||||
{
|
||||
"version": 1,
|
||||
"config": {
|
||||
"env": {
|
||||
"_sentryRewriteFramesDistDir": ".next",
|
||||
"_sentryRewriteFramesAssetPrefixPath": "",
|
||||
"_sentryRelease": "ab5cc38c97e5f73d6e821465b90d199fb6e6edc9"
|
||||
},
|
||||
"typescript": {
|
||||
"ignoreBuildErrors": false
|
||||
},
|
||||
"typedRoutes": false,
|
||||
"distDir": ".next",
|
||||
"cleanDistDir": true,
|
||||
"assetPrefix": "",
|
||||
"cacheMaxMemorySize": 52428800,
|
||||
"configOrigin": "next.config.mjs",
|
||||
"useFileSystemPublicRoutes": true,
|
||||
"generateEtags": true,
|
||||
"pageExtensions": [
|
||||
"tsx",
|
||||
"ts",
|
||||
"jsx",
|
||||
"js"
|
||||
],
|
||||
"poweredByHeader": true,
|
||||
"compress": true,
|
||||
"images": {
|
||||
"deviceSizes": [
|
||||
640,
|
||||
750,
|
||||
828,
|
||||
1080,
|
||||
1200,
|
||||
1920,
|
||||
2048,
|
||||
3840
|
||||
],
|
||||
"imageSizes": [
|
||||
32,
|
||||
48,
|
||||
64,
|
||||
96,
|
||||
128,
|
||||
256,
|
||||
384
|
||||
],
|
||||
"path": "/_next/image",
|
||||
"loader": "default",
|
||||
"loaderFile": "",
|
||||
"domains": [],
|
||||
"disableStaticImages": false,
|
||||
"minimumCacheTTL": 14400,
|
||||
"formats": [
|
||||
"image/webp"
|
||||
],
|
||||
"maximumRedirects": 3,
|
||||
"maximumResponseBody": 50000000,
|
||||
"dangerouslyAllowLocalIP": false,
|
||||
"dangerouslyAllowSVG": false,
|
||||
"contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
|
||||
"contentDispositionType": "attachment",
|
||||
"localPatterns": [
|
||||
{
|
||||
"pathname": "**",
|
||||
"search": ""
|
||||
}
|
||||
],
|
||||
"remotePatterns": [
|
||||
{
|
||||
"protocol": "https",
|
||||
"hostname": "e-tib.com"
|
||||
},
|
||||
{
|
||||
"protocol": "https",
|
||||
"hostname": "*.e-tib.com"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "e-tib.com"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "*.e-tib.com"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "etib.localhost"
|
||||
},
|
||||
{
|
||||
"protocol": "http",
|
||||
"hostname": "localhost"
|
||||
}
|
||||
],
|
||||
"qualities": [
|
||||
25,
|
||||
50,
|
||||
75,
|
||||
100
|
||||
],
|
||||
"unoptimized": false
|
||||
},
|
||||
"devIndicators": {
|
||||
"position": "bottom-left"
|
||||
},
|
||||
"onDemandEntries": {
|
||||
"maxInactiveAge": 300000,
|
||||
"pagesBufferLength": 2
|
||||
},
|
||||
"basePath": "",
|
||||
"sassOptions": {},
|
||||
"trailingSlash": false,
|
||||
"i18n": null,
|
||||
"productionBrowserSourceMaps": false,
|
||||
"excludeDefaultMomentLocales": true,
|
||||
"reactProductionProfiling": false,
|
||||
"reactStrictMode": false,
|
||||
"reactMaxHeadersLength": 6000,
|
||||
"httpAgentOptions": {
|
||||
"keepAlive": true
|
||||
},
|
||||
"logging": {
|
||||
"fetches": {
|
||||
"fullUrl": true
|
||||
}
|
||||
},
|
||||
"compiler": {},
|
||||
"expireTime": 31536000,
|
||||
"staticPageGenerationTimeout": 60,
|
||||
"output": "standalone",
|
||||
"modularizeImports": {
|
||||
"@mui/icons-material": {
|
||||
"transform": "@mui/icons-material/{{member}}"
|
||||
},
|
||||
"lodash": {
|
||||
"transform": "lodash/{{member}}"
|
||||
}
|
||||
},
|
||||
"outputFileTracingRoot": "/Volumes/Alpha SSD/Coding/e-tib.com",
|
||||
"cacheComponents": false,
|
||||
"cacheLife": {
|
||||
"default": {
|
||||
"stale": 300,
|
||||
"revalidate": 900,
|
||||
"expire": 4294967294
|
||||
},
|
||||
"seconds": {
|
||||
"stale": 30,
|
||||
"revalidate": 1,
|
||||
"expire": 60
|
||||
},
|
||||
"minutes": {
|
||||
"stale": 300,
|
||||
"revalidate": 60,
|
||||
"expire": 3600
|
||||
},
|
||||
"hours": {
|
||||
"stale": 300,
|
||||
"revalidate": 3600,
|
||||
"expire": 86400
|
||||
},
|
||||
"days": {
|
||||
"stale": 300,
|
||||
"revalidate": 86400,
|
||||
"expire": 604800
|
||||
},
|
||||
"weeks": {
|
||||
"stale": 300,
|
||||
"revalidate": 604800,
|
||||
"expire": 2592000
|
||||
},
|
||||
"max": {
|
||||
"stale": 300,
|
||||
"revalidate": 2592000,
|
||||
"expire": 31536000
|
||||
}
|
||||
},
|
||||
"cacheHandlers": {},
|
||||
"experimental": {
|
||||
"useSkewCookie": false,
|
||||
"cssChunking": true,
|
||||
"multiZoneDraftMode": false,
|
||||
"appNavFailHandling": false,
|
||||
"prerenderEarlyExit": true,
|
||||
"serverMinification": true,
|
||||
"linkNoTouchStart": false,
|
||||
"caseSensitiveRoutes": false,
|
||||
"dynamicOnHover": false,
|
||||
"preloadEntriesOnStart": true,
|
||||
"clientRouterFilter": true,
|
||||
"clientRouterFilterRedirects": false,
|
||||
"fetchCacheKeyPrefix": "",
|
||||
"proxyPrefetch": "flexible",
|
||||
"optimisticClientCache": true,
|
||||
"manualClientBasePath": false,
|
||||
"cpus": 15,
|
||||
"memoryBasedWorkersCount": true,
|
||||
"imgOptConcurrency": null,
|
||||
"imgOptTimeoutInSeconds": 7,
|
||||
"imgOptMaxInputPixels": 268402689,
|
||||
"imgOptSequentialRead": null,
|
||||
"imgOptSkipMetadata": null,
|
||||
"isrFlushToDisk": true,
|
||||
"workerThreads": false,
|
||||
"optimizeCss": false,
|
||||
"nextScriptWorkers": false,
|
||||
"scrollRestoration": false,
|
||||
"externalDir": false,
|
||||
"disableOptimizedLoading": false,
|
||||
"gzipSize": true,
|
||||
"craCompat": false,
|
||||
"esmExternals": true,
|
||||
"fullySpecified": false,
|
||||
"swcTraceProfiling": false,
|
||||
"forceSwcTransforms": false,
|
||||
"largePageDataBytes": 128000,
|
||||
"typedEnv": false,
|
||||
"clientTraceMetadata": [
|
||||
"baggage",
|
||||
"sentry-trace"
|
||||
],
|
||||
"parallelServerCompiles": false,
|
||||
"parallelServerBuildTraces": false,
|
||||
"ppr": false,
|
||||
"authInterrupts": false,
|
||||
"webpackMemoryOptimizations": false,
|
||||
"optimizeServerReact": true,
|
||||
"viewTransition": false,
|
||||
"removeUncaughtErrorAndRejectionListeners": false,
|
||||
"validateRSCRequestHeaders": false,
|
||||
"staleTimes": {
|
||||
"dynamic": 0,
|
||||
"static": 300
|
||||
},
|
||||
"reactDebugChannel": false,
|
||||
"serverComponentsHmrCache": true,
|
||||
"staticGenerationMaxConcurrency": 8,
|
||||
"staticGenerationMinPagesPerWorker": 25,
|
||||
"transitionIndicator": false,
|
||||
"inlineCss": false,
|
||||
"useCache": false,
|
||||
"globalNotFound": false,
|
||||
"browserDebugInfoInTerminal": false,
|
||||
"lockDistDir": true,
|
||||
"isolatedDevBuild": true,
|
||||
"proxyClientMaxBodySize": 10485760,
|
||||
"hideLogsAfterAbort": false,
|
||||
"mcpServer": true,
|
||||
"turbopackFileSystemCacheForDev": true,
|
||||
"turbopackFileSystemCacheForBuild": false,
|
||||
"turbopackInferModuleSideEffects": false,
|
||||
"optimizePackageImports": [
|
||||
"lucide-react",
|
||||
"framer-motion",
|
||||
"@/components/ui",
|
||||
"@sentry/nextjs",
|
||||
"react-hook-form",
|
||||
"zod",
|
||||
"date-fns",
|
||||
"lodash-es",
|
||||
"ramda",
|
||||
"antd",
|
||||
"react-bootstrap",
|
||||
"ahooks",
|
||||
"@ant-design/icons",
|
||||
"@headlessui/react",
|
||||
"@headlessui-float/react",
|
||||
"@heroicons/react/20/solid",
|
||||
"@heroicons/react/24/solid",
|
||||
"@heroicons/react/24/outline",
|
||||
"@visx/visx",
|
||||
"@tremor/react",
|
||||
"rxjs",
|
||||
"@mui/material",
|
||||
"@mui/icons-material",
|
||||
"recharts",
|
||||
"react-use",
|
||||
"effect",
|
||||
"@effect/schema",
|
||||
"@effect/platform",
|
||||
"@effect/platform-node",
|
||||
"@effect/platform-browser",
|
||||
"@effect/platform-bun",
|
||||
"@effect/sql",
|
||||
"@effect/sql-mssql",
|
||||
"@effect/sql-mysql2",
|
||||
"@effect/sql-pg",
|
||||
"@effect/sql-sqlite-node",
|
||||
"@effect/sql-sqlite-bun",
|
||||
"@effect/sql-sqlite-wasm",
|
||||
"@effect/sql-sqlite-react-native",
|
||||
"@effect/rpc",
|
||||
"@effect/rpc-http",
|
||||
"@effect/typeclass",
|
||||
"@effect/experimental",
|
||||
"@effect/opentelemetry",
|
||||
"@material-ui/core",
|
||||
"@material-ui/icons",
|
||||
"@tabler/icons-react",
|
||||
"mui-core",
|
||||
"react-icons/ai",
|
||||
"react-icons/bi",
|
||||
"react-icons/bs",
|
||||
"react-icons/cg",
|
||||
"react-icons/ci",
|
||||
"react-icons/di",
|
||||
"react-icons/fa",
|
||||
"react-icons/fa6",
|
||||
"react-icons/fc",
|
||||
"react-icons/fi",
|
||||
"react-icons/gi",
|
||||
"react-icons/go",
|
||||
"react-icons/gr",
|
||||
"react-icons/hi",
|
||||
"react-icons/hi2",
|
||||
"react-icons/im",
|
||||
"react-icons/io",
|
||||
"react-icons/io5",
|
||||
"react-icons/lia",
|
||||
"react-icons/lib",
|
||||
"react-icons/lu",
|
||||
"react-icons/md",
|
||||
"react-icons/pi",
|
||||
"react-icons/ri",
|
||||
"react-icons/rx",
|
||||
"react-icons/si",
|
||||
"react-icons/sl",
|
||||
"react-icons/tb",
|
||||
"react-icons/tfi",
|
||||
"react-icons/ti",
|
||||
"react-icons/vsc",
|
||||
"react-icons/wi"
|
||||
],
|
||||
"serverActions": {
|
||||
"allowedOrigins": [
|
||||
"*.e-tib.com",
|
||||
"*.branch.e-tib.com",
|
||||
"localhost:3000",
|
||||
"etib.localhost"
|
||||
]
|
||||
},
|
||||
"trustHostHeader": false,
|
||||
"isExperimentalCompile": false
|
||||
},
|
||||
"htmlLimitedBots": "[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight",
|
||||
"bundlePagesRouterDependencies": false,
|
||||
"configFileName": "next.config.mjs",
|
||||
"turbopack": {
|
||||
"resolveAlias": {
|
||||
"next-intl/config": "./i18n/request.ts",
|
||||
"next-mdx-import-source-file": "@vercel/turbopack-next/mdx-import-source"
|
||||
},
|
||||
"debugIds": true,
|
||||
"rules": {
|
||||
"**/instrumentation-client.*": {
|
||||
"condition": {
|
||||
"not": "foreign"
|
||||
},
|
||||
"loaders": [
|
||||
{
|
||||
"loader": "/Volumes/Alpha SSD/Coding/e-tib.com/node_modules/.pnpm/@sentry+nextjs@10.47.0_@opentelemetry+context-async-hooks@2.6.1_@opentelemetry+api@1.9._592068e1ec60e8e26228b1be96d6d8d5/node_modules/@sentry/nextjs/build/cjs/config/loaders/valueInjectionLoader.js",
|
||||
"options": {
|
||||
"values": {
|
||||
"_sentryRouteManifest": "{\"dynamicRoutes\":[{\"path\":\"/:locale\",\"regex\":\"^/([^/]+)$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/:slug\",\"regex\":\"^/([^/]+)/([^/]+)$\",\"paramNames\":[\"locale\",\"slug\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/blog\",\"regex\":\"^/([^/]+)/blog$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/blog/:slug\",\"regex\":\"^/([^/]+)/blog/([^/]+)$\",\"paramNames\":[\"locale\",\"slug\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/contact\",\"regex\":\"^/([^/]+)/contact$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/team\",\"regex\":\"^/([^/]+)/team$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true},{\"path\":\"/:locale/test\",\"regex\":\"^/([^/]+)/test$\",\"paramNames\":[\"locale\"],\"hasOptionalPrefix\":true}],\"staticRoutes\":[{\"path\":\"/test\"}],\"isrRoutes\":[\"/:locale/contact\"]}",
|
||||
"_sentryNextJsVersion": "16.1.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"**/instrumentation.*": {
|
||||
"condition": {
|
||||
"not": "foreign"
|
||||
},
|
||||
"loaders": [
|
||||
{
|
||||
"loader": "/Volumes/Alpha SSD/Coding/e-tib.com/node_modules/.pnpm/@sentry+nextjs@10.47.0_@opentelemetry+context-async-hooks@2.6.1_@opentelemetry+api@1.9._592068e1ec60e8e26228b1be96d6d8d5/node_modules/@sentry/nextjs/build/cjs/config/loaders/valueInjectionLoader.js",
|
||||
"options": {
|
||||
"values": {
|
||||
"__SENTRY_SERVER_MODULES__": {
|
||||
"@mintel/mail": "1.9.5",
|
||||
"@mintel/next-config": "1.9.5",
|
||||
"@mintel/next-feedback": "1.9.5",
|
||||
"@mintel/next-utils": "1.9.5",
|
||||
"@next/mdx": "^16.1.6",
|
||||
"@react-email/components": "1.0.8",
|
||||
"@react-pdf/renderer": "^4.3.2",
|
||||
"@react-three/drei": "^10.7.7",
|
||||
"@react-three/fiber": "^9.5.0",
|
||||
"@sentry/nextjs": "^10.39.0",
|
||||
"@types/recharts": "^2.0.1",
|
||||
"axios": "^1.13.5",
|
||||
"clsx": "^2.1.1",
|
||||
"framer-motion": "^12.34.0",
|
||||
"graphql": "^16.12.0",
|
||||
"gray-matter": "^4.0.3",
|
||||
"i18next": "^25.7.3",
|
||||
"import-in-the-middle": "^1.11.0",
|
||||
"ioredis": "^5.9.3",
|
||||
"jsdom": "^27.4.0",
|
||||
"leaflet": "^1.9.4",
|
||||
"next": "16.1.6",
|
||||
"next-i18next": "^15.4.3",
|
||||
"next-intl": "^4.8.2",
|
||||
"next-mdx-remote": "^5.0.0",
|
||||
"nodemailer": "^8.0.7",
|
||||
"pdf-lib": "^1.17.1",
|
||||
"pino": "^10.3.0",
|
||||
"pino-pretty": "^13.1.3",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4",
|
||||
"react-email": "^5.2.5",
|
||||
"react-leaflet": "^4.2.1",
|
||||
"react-markdown": "^10.1.0",
|
||||
"recharts": "^3.7.0",
|
||||
"rehype-raw": "^7.0.0",
|
||||
"remark-gfm": "^4.0.1",
|
||||
"require-in-the-middle": "^8.0.1",
|
||||
"resend": "^3.5.0",
|
||||
"schema-dts": "^1.1.5",
|
||||
"sharp": "^0.34.5",
|
||||
"svg-to-pdfkit": "^0.1.8",
|
||||
"tailwind-merge": "^3.4.0",
|
||||
"three": "^0.183.1",
|
||||
"xlsx": "npm:@e965/xlsx@^0.20.3",
|
||||
"zod": "3.25.76",
|
||||
"@commitlint/cli": "^20.4.0",
|
||||
"@commitlint/config-conventional": "^20.4.0",
|
||||
"@cspell/dict-de-de": "^4.1.2",
|
||||
"@lhci/cli": "^0.15.1",
|
||||
"@mintel/eslint-config": "^1.9.0",
|
||||
"@mintel/tsconfig": "^1.9.0",
|
||||
"@next/bundle-analyzer": "^16.1.6",
|
||||
"@tailwindcss/cli": "^4.1.18",
|
||||
"@tailwindcss/postcss": "^4.1.18",
|
||||
"@types/geojson": "^7946.0.16",
|
||||
"@types/leaflet": "^1.9.21",
|
||||
"@types/node": "^22.19.3",
|
||||
"@types/nodemailer": "^7.0.5",
|
||||
"@types/react": "^19.2.7",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@types/sharp": "^0.31.1",
|
||||
"@types/three": "^0.183.1",
|
||||
"@vitejs/plugin-react": "^5.1.4",
|
||||
"@vitest/ui": "^4.0.16",
|
||||
"autoprefixer": "^10.4.23",
|
||||
"cheerio": "^1.2.0",
|
||||
"critters": "^0.0.25",
|
||||
"cspell": "^9.6.4",
|
||||
"dotenv": "^17.3.1",
|
||||
"eslint": "^9.18.0",
|
||||
"happy-dom": "^20.6.1",
|
||||
"html-validate": "^10.8.0",
|
||||
"husky": "^9.1.7",
|
||||
"lint-staged": "^16.2.7",
|
||||
"lucide-react": "^0.563.0",
|
||||
"pa11y-ci": "^4.0.1",
|
||||
"pdf-parse": "^2.4.5",
|
||||
"postcss": "^8.5.6",
|
||||
"prettier": "^3.8.1",
|
||||
"puppeteer": "^24.37.3",
|
||||
"sass": "^1.97.1",
|
||||
"start-server-and-test": "^2.1.3",
|
||||
"tailwindcss": "^4.1.18",
|
||||
"tsx": "^4.21.0",
|
||||
"turbo": "^2.8.10",
|
||||
"typescript": "^5.7.2",
|
||||
"vitest": "^4.0.16",
|
||||
"xlsx-cli": "^1.1.3"
|
||||
},
|
||||
"_sentryNextJsVersion": "16.1.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"{*,next-mdx-rule}": [
|
||||
{
|
||||
"loaders": [
|
||||
{
|
||||
"loader": "/Volumes/Alpha SSD/Coding/e-tib.com/node_modules/.pnpm/@next+mdx@16.2.4_@mdx-js+react@3.1.1_@types+react@19.2.14_react@19.2.4_/node_modules/@next/mdx/mdx-js-loader.js",
|
||||
"options": {
|
||||
"providerImportSource": "next-mdx-import-source-file"
|
||||
}
|
||||
}
|
||||
],
|
||||
"as": "*.tsx",
|
||||
"condition": {
|
||||
"path": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"root": "/Volumes/Alpha SSD/Coding/e-tib.com"
|
||||
},
|
||||
"transpilePackages": [
|
||||
"react-image-crop",
|
||||
"@react-three/fiber"
|
||||
],
|
||||
"serverExternalPackages": [
|
||||
"amqplib",
|
||||
"connect",
|
||||
"dataloader",
|
||||
"express",
|
||||
"generic-pool",
|
||||
"graphql",
|
||||
"@hapi/hapi",
|
||||
"ioredis",
|
||||
"kafkajs",
|
||||
"koa",
|
||||
"lru-memoizer",
|
||||
"mongodb",
|
||||
"mongoose",
|
||||
"mysql",
|
||||
"mysql2",
|
||||
"knex",
|
||||
"pg",
|
||||
"pg-pool",
|
||||
"@node-redis/client",
|
||||
"@redis/client",
|
||||
"redis",
|
||||
"tedious"
|
||||
],
|
||||
"distDirRoot": ".next",
|
||||
"_originalRewrites": {
|
||||
"beforeFiles": [
|
||||
{
|
||||
"source": "/:locale/datasheets/:path*",
|
||||
"destination": "/api/datasheets/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/:locale/brochures/:path*",
|
||||
"destination": "/api/brochures/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/datasheets/:path*",
|
||||
"destination": "/api/datasheets/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/brochures/:path*",
|
||||
"destination": "/api/brochures/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte",
|
||||
"destination": "/de/products"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/:path*",
|
||||
"destination": "/de/products/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/de/kontakt",
|
||||
"destination": "/de/contact"
|
||||
},
|
||||
{
|
||||
"source": "/en/produkte",
|
||||
"destination": "/en/products"
|
||||
},
|
||||
{
|
||||
"source": "/en/produkte/:path*",
|
||||
"destination": "/en/products/:path*"
|
||||
},
|
||||
{
|
||||
"source": "/en/kontakt",
|
||||
"destination": "/en/contact"
|
||||
},
|
||||
{
|
||||
"source": "/en/impressum",
|
||||
"destination": "/en/legal-notice"
|
||||
},
|
||||
{
|
||||
"source": "/en/datenschutz",
|
||||
"destination": "/en/privacy-policy"
|
||||
},
|
||||
{
|
||||
"source": "/en/agbs",
|
||||
"destination": "/en/terms"
|
||||
}
|
||||
],
|
||||
"afterFiles": [],
|
||||
"fallback": []
|
||||
},
|
||||
"_originalRedirects": [
|
||||
{
|
||||
"source": "/blog",
|
||||
"destination": "/de/blog",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/contact",
|
||||
"destination": "/de/contact",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/team",
|
||||
"destination": "/de/team",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products",
|
||||
"destination": "/de/products",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/100-renewable-energy-only-with-the-right-cable-infrastructure.html",
|
||||
"destination": "/de/blog/100-renewable-energy-only-with-the-right-cable-infrastructure",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/billion-euro-package-for-infrastructure-the-cable-boom-is-coming.html",
|
||||
"destination": "/de/blog/billion-euro-package-for-infrastructure-the-cable-boom-is-coming",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-abbreviations-decoded-the-key-to-choosing-the-right-cable.html",
|
||||
"destination": "/de/blog/cable-abbreviations-decoded-the-key-to-choosing-the-right-cable",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-drum-quality-the-foundation-of-cable-reliability.html",
|
||||
"destination": "/de/blog/cable-drum-quality-the-foundation-of-cable-reliability",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-drum-safety-ensuring-smooth-operations-and-accident-free-environments.html",
|
||||
"destination": "/de/blog/cable-drum-safety-ensuring-smooth-operations-and-accident-free-environments",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/climate-neutral-by-2050-what-we-need-to-do-to-achieve-this-goal.html",
|
||||
"destination": "/de/blog/climate-neutral-by-2050-what-we-need-to-do-to-achieve-this-goal",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/cost-comparison-copper-vs-aluminum-cables-in-wind-farms-which-is-worthwhile-in-the-long-term.html",
|
||||
"destination": "/de/blog/cost-comparison-copper-vs-aluminum-cables-in-wind-farms-which-is-worthwhile-in-the-long-term",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/expanding-the-grid-by-2025-building-the-foundation-for-a-successful-energy-transition.html",
|
||||
"destination": "/de/blog/expanding-the-grid-by-2025-building-the-foundation-for-a-successful-energy-transition",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/eye-opening-realities-of-green-energy-transformation.html",
|
||||
"destination": "/de/blog/eye-opening-realities-of-green-energy-transformation",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/focus-on-wind-farm-construction-three-typical-cable-challenges.html",
|
||||
"destination": "/de/blog/focus-on-wind-farm-construction-three-typical-cable-challenges",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/from-smart-to-sustainable-this-is-what-the-energy-industry-will-look-like-in-the-near-future.html",
|
||||
"destination": "/de/blog/from-smart-to-sustainable-this-is-what-the-energy-industry-will-look-like-in-the-near-future",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/green-energy-starts-underground-and-with-a-plan.html",
|
||||
"destination": "/de/blog/green-energy-starts-underground-and-with-a-plan",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-the-cable-industry-is-driving-sustainability-and-renewable-energies-forward.html",
|
||||
"destination": "/de/blog/how-the-cable-industry-is-driving-sustainability-and-renewable-energies-forward",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-the-right-cables-quietly-power-the-green-energy-revolution.html",
|
||||
"destination": "/de/blog/how-the-right-cables-quietly-power-the-green-energy-revolution",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-to-choose-the-right-cable-for-your-next-project.html",
|
||||
"destination": "/de/blog/how-to-choose-the-right-cable-for-your-next-project",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/is-wind-energy-really-enough-a-deeper-dive-behind-the-headlines.html",
|
||||
"destination": "/de/blog/is-wind-energy-really-enough-a-deeper-dive-behind-the-headlines",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/etib-in-the-directory-of-wind-energy-2025.html",
|
||||
"destination": "/de/blog/etib-in-the-directory-of-wind-energy-2025",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/na2xsf2y-three-conductor-medium-voltage-cable-available.html",
|
||||
"destination": "/de/blog/na2xsf2y-three-conductor-medium-voltage-cable-available",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/recycling-of-cable-drums-sustainability-in-wind-power-projects.html",
|
||||
"destination": "/de/blog/recycling-of-cable-drums-sustainability-in-wind-power-projects",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/securing-the-future-with-h1z2z2-k-our-solar-cable-for-intersolar-2025.html",
|
||||
"destination": "/de/blog/securing-the-future-with-h1z2z2-k-our-solar-cable-for-intersolar-2025",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-art-of-cable-logistics-moving-the-backbone-of-modern-energy-networks.html",
|
||||
"destination": "/de/blog/the-art-of-cable-logistics-moving-the-backbone-of-modern-energy-networks",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-best-underground-cables-for-wind-power-and-solar-order-from-us-now.html",
|
||||
"destination": "/de/blog/the-best-underground-cables-for-wind-power-and-solar-order-from-us-now",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-perfect-cable-inquiry-how-to-save-yourself-unnecessary-queries.html",
|
||||
"destination": "/de/blog/the-perfect-cable-inquiry-how-to-save-yourself-unnecessary-queries",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/this-what-you-need-to-know-about-renewable-energies-in-2025.html",
|
||||
"destination": "/de/blog/this-what-you-need-to-know-about-renewable-energies-in-2025",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/welcome-to-the-future-of-etib-our-new-website-is-live.html",
|
||||
"destination": "/de/blog/welcome-to-the-future-of-etib-our-new-website-is-live",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/what-makes-a-first-class-cable-find-out-here.html",
|
||||
"destination": "/de/blog/what-makes-a-first-class-cable-find-out-here",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/which-cables-for-wind-power-differences-from-low-to-extra-high-voltage-explained-2.html",
|
||||
"destination": "/de/blog/which-cables-for-wind-power-differences-from-low-to-extra-high-voltage-explained-2",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/why-the-n2xsf2y-is-the-ideal-cable-for-your-energy-project.html",
|
||||
"destination": "/de/blog/why-the-n2xsf2y-is-the-ideal-cable-for-your-energy-project",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/posts/why-wind-farm-grid-connection-cables-must-withstand-extreme-loads.html",
|
||||
"destination": "/de/blog/why-wind-farm-grid-connection-cables-must-withstand-extreme-loads",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/high-voltage-cables/n2xsfl2y",
|
||||
"destination": "/de/products/n2xsfl2y-hv",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/high-voltage-cables/na2xsfl2y-3",
|
||||
"destination": "/de/products/na2xsfl2y-hv",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/n2x2y",
|
||||
"destination": "/de/products/n2x2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/n2xy",
|
||||
"destination": "/de/products/n2xy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/na2x2y",
|
||||
"destination": "/de/products/na2x2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/na2xy",
|
||||
"destination": "/de/products/na2xy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nay2y",
|
||||
"destination": "/de/products/nay2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/naycwy",
|
||||
"destination": "/de/products/naycwy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nayy",
|
||||
"destination": "/de/products/nayy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/ny2y",
|
||||
"destination": "/de/products/ny2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nycwy",
|
||||
"destination": "/de/products/nycwy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nyy",
|
||||
"destination": "/de/products/nyy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xs2y",
|
||||
"destination": "/de/products/n2xs2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xsf2y",
|
||||
"destination": "/de/products/n2xsf2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xsfl2y-3",
|
||||
"destination": "/de/products/n2xsfl2y-mv",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xs2y",
|
||||
"destination": "/de/products/na2xs2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsf2y",
|
||||
"destination": "/de/products/na2xsf2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsfl2y",
|
||||
"destination": "/de/products/na2xsfl2y-mv",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsy",
|
||||
"destination": "/de/products/na2xsy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/products/solar-cables/h1z2z2-k",
|
||||
"destination": "/de/products/solar-cables/h1z2z2-k",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/solarkabel/h1z2z2-k",
|
||||
"destination": "/de/produkte/solarkabel/h1z2z2-k",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/niederspannungskabel/naycwy-2",
|
||||
"destination": "/de/produkte/niederspannungskabel/naycwy",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/niederspannungskabel/ny2y-2",
|
||||
"destination": "/de/produkte/niederspannungskabel/ny2y",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/vcf/klaus-mintel",
|
||||
"destination": "/klaus-mintel.vcf",
|
||||
"permanent": true
|
||||
},
|
||||
{
|
||||
"source": "/vcf/michael-bodemer",
|
||||
"destination": "/michael-bodemer.vcf",
|
||||
"permanent": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"appDir": "/Volumes/Alpha SSD/Coding/e-tib.com",
|
||||
"relativeAppDir": "",
|
||||
"files": [
|
||||
".next/routes-manifest.json",
|
||||
".next/server/pages-manifest.json",
|
||||
".next/build-manifest.json",
|
||||
".next/prerender-manifest.json",
|
||||
".next/server/functions-config-manifest.json",
|
||||
".next/server/middleware-manifest.json",
|
||||
".next/server/middleware-build-manifest.js",
|
||||
".next/server/app-paths-manifest.json",
|
||||
".next/app-path-routes-manifest.json",
|
||||
".next/server/server-reference-manifest.js",
|
||||
".next/server/server-reference-manifest.json",
|
||||
".next/BUILD_ID",
|
||||
".next/server/next-font-manifest.js",
|
||||
".next/server/next-font-manifest.json",
|
||||
".next/required-server-files.json"
|
||||
],
|
||||
"ignore": []
|
||||
}
|
||||
664
.next/routes-manifest.json
Normal file
664
.next/routes-manifest.json
Normal file
@@ -0,0 +1,664 @@
|
||||
{
|
||||
"version": 3,
|
||||
"pages404": true,
|
||||
"appType": "app",
|
||||
"caseSensitive": false,
|
||||
"basePath": "",
|
||||
"redirects": [
|
||||
{
|
||||
"source": "/:path+/",
|
||||
"destination": "/:path+",
|
||||
"internal": true,
|
||||
"priority": true,
|
||||
"statusCode": 308,
|
||||
"regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"
|
||||
},
|
||||
{
|
||||
"source": "/blog",
|
||||
"destination": "/de/blog",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/blog(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/contact",
|
||||
"destination": "/de/contact",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/contact(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/team",
|
||||
"destination": "/de/team",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/team(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products",
|
||||
"destination": "/de/products",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/100-renewable-energy-only-with-the-right-cable-infrastructure.html",
|
||||
"destination": "/de/blog/100-renewable-energy-only-with-the-right-cable-infrastructure",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/100-renewable-energy-only-with-the-right-cable-infrastructure\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/billion-euro-package-for-infrastructure-the-cable-boom-is-coming.html",
|
||||
"destination": "/de/blog/billion-euro-package-for-infrastructure-the-cable-boom-is-coming",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/billion-euro-package-for-infrastructure-the-cable-boom-is-coming\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-abbreviations-decoded-the-key-to-choosing-the-right-cable.html",
|
||||
"destination": "/de/blog/cable-abbreviations-decoded-the-key-to-choosing-the-right-cable",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/cable-abbreviations-decoded-the-key-to-choosing-the-right-cable\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-drum-quality-the-foundation-of-cable-reliability.html",
|
||||
"destination": "/de/blog/cable-drum-quality-the-foundation-of-cable-reliability",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/cable-drum-quality-the-foundation-of-cable-reliability\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/cable-drum-safety-ensuring-smooth-operations-and-accident-free-environments.html",
|
||||
"destination": "/de/blog/cable-drum-safety-ensuring-smooth-operations-and-accident-free-environments",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/cable-drum-safety-ensuring-smooth-operations-and-accident-free-environments\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/climate-neutral-by-2050-what-we-need-to-do-to-achieve-this-goal.html",
|
||||
"destination": "/de/blog/climate-neutral-by-2050-what-we-need-to-do-to-achieve-this-goal",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/climate-neutral-by-2050-what-we-need-to-do-to-achieve-this-goal\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/cost-comparison-copper-vs-aluminum-cables-in-wind-farms-which-is-worthwhile-in-the-long-term.html",
|
||||
"destination": "/de/blog/cost-comparison-copper-vs-aluminum-cables-in-wind-farms-which-is-worthwhile-in-the-long-term",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/cost-comparison-copper-vs-aluminum-cables-in-wind-farms-which-is-worthwhile-in-the-long-term\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/expanding-the-grid-by-2025-building-the-foundation-for-a-successful-energy-transition.html",
|
||||
"destination": "/de/blog/expanding-the-grid-by-2025-building-the-foundation-for-a-successful-energy-transition",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/expanding-the-grid-by-2025-building-the-foundation-for-a-successful-energy-transition\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/eye-opening-realities-of-green-energy-transformation.html",
|
||||
"destination": "/de/blog/eye-opening-realities-of-green-energy-transformation",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/eye-opening-realities-of-green-energy-transformation\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/focus-on-wind-farm-construction-three-typical-cable-challenges.html",
|
||||
"destination": "/de/blog/focus-on-wind-farm-construction-three-typical-cable-challenges",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/focus-on-wind-farm-construction-three-typical-cable-challenges\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/from-smart-to-sustainable-this-is-what-the-energy-industry-will-look-like-in-the-near-future.html",
|
||||
"destination": "/de/blog/from-smart-to-sustainable-this-is-what-the-energy-industry-will-look-like-in-the-near-future",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/from-smart-to-sustainable-this-is-what-the-energy-industry-will-look-like-in-the-near-future\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/green-energy-starts-underground-and-with-a-plan.html",
|
||||
"destination": "/de/blog/green-energy-starts-underground-and-with-a-plan",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/green-energy-starts-underground-and-with-a-plan\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-the-cable-industry-is-driving-sustainability-and-renewable-energies-forward.html",
|
||||
"destination": "/de/blog/how-the-cable-industry-is-driving-sustainability-and-renewable-energies-forward",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/how-the-cable-industry-is-driving-sustainability-and-renewable-energies-forward\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-the-right-cables-quietly-power-the-green-energy-revolution.html",
|
||||
"destination": "/de/blog/how-the-right-cables-quietly-power-the-green-energy-revolution",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/how-the-right-cables-quietly-power-the-green-energy-revolution\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/how-to-choose-the-right-cable-for-your-next-project.html",
|
||||
"destination": "/de/blog/how-to-choose-the-right-cable-for-your-next-project",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/how-to-choose-the-right-cable-for-your-next-project\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/is-wind-energy-really-enough-a-deeper-dive-behind-the-headlines.html",
|
||||
"destination": "/de/blog/is-wind-energy-really-enough-a-deeper-dive-behind-the-headlines",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/is-wind-energy-really-enough-a-deeper-dive-behind-the-headlines\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/etib-in-the-directory-of-wind-energy-2025.html",
|
||||
"destination": "/de/blog/etib-in-the-directory-of-wind-energy-2025",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/etib-in-the-directory-of-wind-energy-2025\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/na2xsf2y-three-conductor-medium-voltage-cable-available.html",
|
||||
"destination": "/de/blog/na2xsf2y-three-conductor-medium-voltage-cable-available",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/na2xsf2y-three-conductor-medium-voltage-cable-available\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/recycling-of-cable-drums-sustainability-in-wind-power-projects.html",
|
||||
"destination": "/de/blog/recycling-of-cable-drums-sustainability-in-wind-power-projects",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/recycling-of-cable-drums-sustainability-in-wind-power-projects\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/securing-the-future-with-h1z2z2-k-our-solar-cable-for-intersolar-2025.html",
|
||||
"destination": "/de/blog/securing-the-future-with-h1z2z2-k-our-solar-cable-for-intersolar-2025",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/securing-the-future-with-h1z2z2-k-our-solar-cable-for-intersolar-2025\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-art-of-cable-logistics-moving-the-backbone-of-modern-energy-networks.html",
|
||||
"destination": "/de/blog/the-art-of-cable-logistics-moving-the-backbone-of-modern-energy-networks",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/the-art-of-cable-logistics-moving-the-backbone-of-modern-energy-networks\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-best-underground-cables-for-wind-power-and-solar-order-from-us-now.html",
|
||||
"destination": "/de/blog/the-best-underground-cables-for-wind-power-and-solar-order-from-us-now",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/the-best-underground-cables-for-wind-power-and-solar-order-from-us-now\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/the-perfect-cable-inquiry-how-to-save-yourself-unnecessary-queries.html",
|
||||
"destination": "/de/blog/the-perfect-cable-inquiry-how-to-save-yourself-unnecessary-queries",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/the-perfect-cable-inquiry-how-to-save-yourself-unnecessary-queries\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/this-what-you-need-to-know-about-renewable-energies-in-2025.html",
|
||||
"destination": "/de/blog/this-what-you-need-to-know-about-renewable-energies-in-2025",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/this-what-you-need-to-know-about-renewable-energies-in-2025\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/welcome-to-the-future-of-etib-our-new-website-is-live.html",
|
||||
"destination": "/de/blog/welcome-to-the-future-of-etib-our-new-website-is-live",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/welcome-to-the-future-of-etib-our-new-website-is-live\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/what-makes-a-first-class-cable-find-out-here.html",
|
||||
"destination": "/de/blog/what-makes-a-first-class-cable-find-out-here",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/what-makes-a-first-class-cable-find-out-here\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/which-cables-for-wind-power-differences-from-low-to-extra-high-voltage-explained-2.html",
|
||||
"destination": "/de/blog/which-cables-for-wind-power-differences-from-low-to-extra-high-voltage-explained-2",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/which-cables-for-wind-power-differences-from-low-to-extra-high-voltage-explained-2\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/why-the-n2xsf2y-is-the-ideal-cable-for-your-energy-project.html",
|
||||
"destination": "/de/blog/why-the-n2xsf2y-is-the-ideal-cable-for-your-energy-project",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/why-the-n2xsf2y-is-the-ideal-cable-for-your-energy-project\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/posts/why-wind-farm-grid-connection-cables-must-withstand-extreme-loads.html",
|
||||
"destination": "/de/blog/why-wind-farm-grid-connection-cables-must-withstand-extreme-loads",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/posts/why-wind-farm-grid-connection-cables-must-withstand-extreme-loads\\.html(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/high-voltage-cables/n2xsfl2y",
|
||||
"destination": "/de/products/n2xsfl2y-hv",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/high-voltage-cables/n2xsfl2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/high-voltage-cables/na2xsfl2y-3",
|
||||
"destination": "/de/products/na2xsfl2y-hv",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/high-voltage-cables/na2xsfl2y-3(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/n2x2y",
|
||||
"destination": "/de/products/n2x2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/n2x2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/n2xy",
|
||||
"destination": "/de/products/n2xy",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/n2xy(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/na2x2y",
|
||||
"destination": "/de/products/na2x2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/na2x2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/na2xy",
|
||||
"destination": "/de/products/na2xy",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/na2xy(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nay2y",
|
||||
"destination": "/de/products/nay2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/nay2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/naycwy",
|
||||
"destination": "/de/products/naycwy",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/naycwy(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nayy",
|
||||
"destination": "/de/products/nayy",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/nayy(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/ny2y",
|
||||
"destination": "/de/products/ny2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/ny2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nycwy",
|
||||
"destination": "/de/products/nycwy",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/nycwy(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/low-voltage-cables/nyy",
|
||||
"destination": "/de/products/nyy",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/low-voltage-cables/nyy(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xs2y",
|
||||
"destination": "/de/products/n2xs2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/medium-voltage-cables/n2xs2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xsf2y",
|
||||
"destination": "/de/products/n2xsf2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/medium-voltage-cables/n2xsf2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/n2xsfl2y-3",
|
||||
"destination": "/de/products/n2xsfl2y-mv",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/medium-voltage-cables/n2xsfl2y-3(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xs2y",
|
||||
"destination": "/de/products/na2xs2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/medium-voltage-cables/na2xs2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsf2y",
|
||||
"destination": "/de/products/na2xsf2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/medium-voltage-cables/na2xsf2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsfl2y",
|
||||
"destination": "/de/products/na2xsfl2y-mv",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/medium-voltage-cables/na2xsfl2y(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/power-cables/medium-voltage-cables/na2xsy",
|
||||
"destination": "/de/products/na2xsy",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/power-cables/medium-voltage-cables/na2xsy(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/products/solar-cables/h1z2z2-k",
|
||||
"destination": "/de/products/solar-cables/h1z2z2-k",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/products/solar-cables/h1z2z2-k(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/solarkabel/h1z2z2-k",
|
||||
"destination": "/de/produkte/solarkabel/h1z2z2-k",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/de/produkte/stromkabel/solarkabel/h1z2z2-k(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/niederspannungskabel/naycwy-2",
|
||||
"destination": "/de/produkte/niederspannungskabel/naycwy",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/de/produkte/stromkabel/niederspannungskabel/naycwy-2(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/stromkabel/niederspannungskabel/ny2y-2",
|
||||
"destination": "/de/produkte/niederspannungskabel/ny2y",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/de/produkte/stromkabel/niederspannungskabel/ny2y-2(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/vcf/klaus-mintel",
|
||||
"destination": "/klaus-mintel.vcf",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/vcf/klaus-mintel(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/vcf/michael-bodemer",
|
||||
"destination": "/michael-bodemer.vcf",
|
||||
"statusCode": 308,
|
||||
"regex": "^(?!/_next)/vcf/michael-bodemer(?:/)?$"
|
||||
}
|
||||
],
|
||||
"headers": [
|
||||
{
|
||||
"source": "/:path*",
|
||||
"headers": [
|
||||
{
|
||||
"key": "Content-Security-Policy",
|
||||
"value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://analytics.infra.mintel.me; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: blob: https://e-tib.com https://staging.e-tib.com https://testing.e-tib.com http://etib.localhost https://www.gravatar.com https://gravatar.com https://*.tile.openstreetmap.org https://tile.openstreetmap.org https://unpkg.com; connect-src 'self' https://analytics.infra.mintel.me https://errors.infra.mintel.me https://raw.githack.com https://raw.githubusercontent.com; frame-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests;"
|
||||
},
|
||||
{
|
||||
"key": "X-Frame-Options",
|
||||
"value": "DENY"
|
||||
},
|
||||
{
|
||||
"key": "X-Content-Type-Options",
|
||||
"value": "nosniff"
|
||||
},
|
||||
{
|
||||
"key": "Referrer-Policy",
|
||||
"value": "strict-origin-when-cross-origin"
|
||||
},
|
||||
{
|
||||
"key": "Permissions-Policy",
|
||||
"value": "camera=(), microphone=(), geolocation=(), interest-cohort=()"
|
||||
},
|
||||
{
|
||||
"key": "Strict-Transport-Security",
|
||||
"value": "max-age=63072000; includeSubDomains; preload"
|
||||
}
|
||||
],
|
||||
"regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
|
||||
}
|
||||
],
|
||||
"rewrites": {
|
||||
"beforeFiles": [
|
||||
{
|
||||
"source": "/:locale/datasheets/:path*",
|
||||
"destination": "/api/datasheets/:path*",
|
||||
"regex": "^(?:/([^/]+?))/datasheets(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/:locale/brochures/:path*",
|
||||
"destination": "/api/brochures/:path*",
|
||||
"regex": "^(?:/([^/]+?))/brochures(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/datasheets/:path*",
|
||||
"destination": "/api/datasheets/:path*",
|
||||
"regex": "^/datasheets(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/brochures/:path*",
|
||||
"destination": "/api/brochures/:path*",
|
||||
"regex": "^/brochures(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte",
|
||||
"destination": "/de/products",
|
||||
"regex": "^/de/produkte(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/de/produkte/:path*",
|
||||
"destination": "/de/products/:path*",
|
||||
"regex": "^/de/produkte(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/de/kontakt",
|
||||
"destination": "/de/contact",
|
||||
"regex": "^/de/kontakt(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/en/produkte",
|
||||
"destination": "/en/products",
|
||||
"regex": "^/en/produkte(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/en/produkte/:path*",
|
||||
"destination": "/en/products/:path*",
|
||||
"regex": "^/en/produkte(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/en/kontakt",
|
||||
"destination": "/en/contact",
|
||||
"regex": "^/en/kontakt(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/en/impressum",
|
||||
"destination": "/en/legal-notice",
|
||||
"regex": "^/en/impressum(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/en/datenschutz",
|
||||
"destination": "/en/privacy-policy",
|
||||
"regex": "^/en/datenschutz(?:/)?$"
|
||||
},
|
||||
{
|
||||
"source": "/en/agbs",
|
||||
"destination": "/en/terms",
|
||||
"regex": "^/en/agbs(?:/)?$"
|
||||
}
|
||||
],
|
||||
"afterFiles": [],
|
||||
"fallback": []
|
||||
},
|
||||
"dynamicRoutes": [
|
||||
{
|
||||
"page": "/[locale]",
|
||||
"regex": "^/([^/]+?)(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/blog",
|
||||
"regex": "^/([^/]+?)/blog(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/blog(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/blog/opengraph-image",
|
||||
"regex": "^/([^/]+?)/blog/opengraph\\-image(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/blog/opengraph\\-image(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/blog/[slug]",
|
||||
"regex": "^/([^/]+?)/blog/([^/]+?)(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale",
|
||||
"nxtPslug": "nxtPslug"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/blog/(?<nxtPslug>[^/]+?)(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/blog/[slug]/opengraph-image",
|
||||
"regex": "^/([^/]+?)/blog/([^/]+?)/opengraph\\-image(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale",
|
||||
"nxtPslug": "nxtPslug"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/blog/(?<nxtPslug>[^/]+?)/opengraph\\-image(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/contact",
|
||||
"regex": "^/([^/]+?)/contact(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/contact(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/contact/opengraph-image",
|
||||
"regex": "^/([^/]+?)/contact/opengraph\\-image(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/contact/opengraph\\-image(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/opengraph-image",
|
||||
"regex": "^/([^/]+?)/opengraph\\-image(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/opengraph\\-image(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/team",
|
||||
"regex": "^/([^/]+?)/team(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/team(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/team/opengraph-image",
|
||||
"regex": "^/([^/]+?)/team/opengraph\\-image(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/team/opengraph\\-image(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/test",
|
||||
"regex": "^/([^/]+?)/test(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/test(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/[slug]",
|
||||
"regex": "^/([^/]+?)/([^/]+?)(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale",
|
||||
"nxtPslug": "nxtPslug"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/(?<nxtPslug>[^/]+?)(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/[locale]/[slug]/opengraph-image",
|
||||
"regex": "^/([^/]+?)/([^/]+?)/opengraph\\-image(?:/)?$",
|
||||
"routeKeys": {
|
||||
"nxtPlocale": "nxtPlocale",
|
||||
"nxtPslug": "nxtPslug"
|
||||
},
|
||||
"namedRegex": "^/(?<nxtPlocale>[^/]+?)/(?<nxtPslug>[^/]+?)/opengraph\\-image(?:/)?$"
|
||||
}
|
||||
],
|
||||
"staticRoutes": [
|
||||
{
|
||||
"page": "/_global-error",
|
||||
"regex": "^/_global\\-error(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/_global\\-error(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/_not-found",
|
||||
"regex": "^/_not\\-found(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/_not\\-found(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/api/feedback",
|
||||
"regex": "^/api/feedback(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/api/feedback(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/api/save-session",
|
||||
"regex": "^/api/save\\-session(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/api/save\\-session(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/api/whoami",
|
||||
"regex": "^/api/whoami(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/api/whoami(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/health",
|
||||
"regex": "^/health(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/health(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/manifest.webmanifest",
|
||||
"regex": "^/manifest\\.webmanifest(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/manifest\\.webmanifest(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/robots.txt",
|
||||
"regex": "^/robots\\.txt(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/robots\\.txt(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/sitemap.xml",
|
||||
"regex": "^/sitemap\\.xml(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/sitemap\\.xml(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/stats/api/send",
|
||||
"regex": "^/stats/api/send(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/stats/api/send(?:/)?$"
|
||||
},
|
||||
{
|
||||
"page": "/test",
|
||||
"regex": "^/test(?:/)?$",
|
||||
"routeKeys": {},
|
||||
"namedRegex": "^/test(?:/)?$"
|
||||
}
|
||||
],
|
||||
"dataRoutes": [],
|
||||
"rsc": {
|
||||
"header": "rsc",
|
||||
"varyHeader": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
|
||||
"prefetchHeader": "next-router-prefetch",
|
||||
"didPostponeHeader": "x-nextjs-postponed",
|
||||
"contentTypeHeader": "text/x-component",
|
||||
"suffix": ".rsc",
|
||||
"prefetchSegmentHeader": "next-router-segment-prefetch",
|
||||
"prefetchSegmentSuffix": ".segment.rsc",
|
||||
"prefetchSegmentDirSuffix": ".segments",
|
||||
"clientParamParsing": false,
|
||||
"dynamicRSCPrerender": false
|
||||
},
|
||||
"rewriteHeaders": {
|
||||
"pathHeader": "x-nextjs-rewritten-path",
|
||||
"queryHeader": "x-nextjs-rewritten-query"
|
||||
}
|
||||
}
|
||||
26
.next/server/app-paths-manifest.json
Normal file
26
.next/server/app-paths-manifest.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"/[locale]/[slug]/opengraph-image/route": "app/[locale]/[slug]/opengraph-image/route.js",
|
||||
"/[locale]/[slug]/page": "app/[locale]/[slug]/page.js",
|
||||
"/[locale]/blog/[slug]/opengraph-image/route": "app/[locale]/blog/[slug]/opengraph-image/route.js",
|
||||
"/[locale]/blog/[slug]/page": "app/[locale]/blog/[slug]/page.js",
|
||||
"/[locale]/blog/opengraph-image/route": "app/[locale]/blog/opengraph-image/route.js",
|
||||
"/[locale]/blog/page": "app/[locale]/blog/page.js",
|
||||
"/[locale]/contact/opengraph-image/route": "app/[locale]/contact/opengraph-image/route.js",
|
||||
"/[locale]/contact/page": "app/[locale]/contact/page.js",
|
||||
"/[locale]/opengraph-image/route": "app/[locale]/opengraph-image/route.js",
|
||||
"/[locale]/page": "app/[locale]/page.js",
|
||||
"/[locale]/team/opengraph-image/route": "app/[locale]/team/opengraph-image/route.js",
|
||||
"/[locale]/team/page": "app/[locale]/team/page.js",
|
||||
"/[locale]/test/page": "app/[locale]/test/page.js",
|
||||
"/_global-error/page": "app/_global-error/page.js",
|
||||
"/_not-found/page": "app/_not-found/page.js",
|
||||
"/api/feedback/route": "app/api/feedback/route.js",
|
||||
"/api/save-session/route": "app/api/save-session/route.js",
|
||||
"/api/whoami/route": "app/api/whoami/route.js",
|
||||
"/health/route": "app/health/route.js",
|
||||
"/manifest.webmanifest/route": "app/manifest.webmanifest/route.js",
|
||||
"/robots.txt/route": "app/robots.txt/route.js",
|
||||
"/sitemap.xml/route": "app/sitemap.xml/route.js",
|
||||
"/stats/api/send/route": "app/stats/api/send/route.js",
|
||||
"/test/page": "app/test/page.js"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
var R=require("../../../../chunks/[turbopack]_runtime.js")("server/app/[locale]/[slug]/opengraph-image/route.js")
|
||||
R.c("server/chunks/5e5d0_@opentelemetry_api_build_esm_4abfcf1f._.js")
|
||||
R.c("server/chunks/[root-of-the-server]__20157e5c._.js")
|
||||
R.c("server/chunks/node_modules__pnpm_5f245e3a._.js")
|
||||
R.c("server/chunks/[root-of-the-server]__5a599130._.js")
|
||||
R.c("server/chunks/_next-internal_server_app_[locale]_[slug]_opengraph-image_route_actions_956fc20e.js")
|
||||
R.m(610156)
|
||||
module.exports=R.m(610156).exports
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"/[locale]/[slug]/opengraph-image/route": "app/[locale]/[slug]/opengraph-image/route.js"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"devFiles": [],
|
||||
"ampDevFiles": [],
|
||||
"polyfillFiles": [
|
||||
"static/chunks/a6dad97d9634a72d.js"
|
||||
],
|
||||
"lowPriorityFiles": [],
|
||||
"rootMainFiles": [],
|
||||
"pages": {},
|
||||
"ampFirstPages": []
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"node": {},
|
||||
"edge": {}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
|
||||
globalThis.__RSC_MANIFEST["/[locale]/[slug]/opengraph-image/route"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"rscModuleMapping":{},"edgeRscModuleMapping":{},"entryCSSFiles":{},"entryJSFiles":{}}
|
||||
32
.next/server/app/[locale]/[slug]/page.js
Normal file
32
.next/server/app/[locale]/[slug]/page.js
Normal file
@@ -0,0 +1,32 @@
|
||||
var R=require("../../../chunks/ssr/[turbopack]_runtime.js")("server/app/[locale]/[slug]/page.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__eb368494._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__03e78303._.js")
|
||||
R.c("server/chunks/ssr/_ddd43d26._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_9c02c43c._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__5bd1b04a._.js")
|
||||
R.c("server/chunks/ssr/5e5d0_@opentelemetry_api_build_esm_f7b039e6._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_d9f52090._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_e98c316f._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__f153a21f._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_668db2a3._.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_20ad9314._.js")
|
||||
R.c("server/chunks/ssr/3c3e1_next-intl_dist_esm_production_server_react-server_getConfig_8e5b989d.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_66399b09._.js")
|
||||
R.c("server/chunks/ssr/_b76d0ab2._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_b54e3ae0._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__bae78d21._.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_329a8f51._.js")
|
||||
R.c("server/chunks/ssr/app_global-error_tsx_9170b7a0._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_9ea24689._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_builtin_forbidden_fcf22647.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_builtin_unauthorized_242673a5.js")
|
||||
R.c("server/chunks/ssr/_88d60384._.js")
|
||||
R.c("server/chunks/ssr/_536bc82a._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__bc75933a._.js")
|
||||
R.c("server/chunks/ssr/_df4aec0b._.js")
|
||||
R.c("server/chunks/ssr/app_[locale]_error_tsx_37c0341f._.js")
|
||||
R.c("server/chunks/ssr/_49a7ffbe._.js")
|
||||
R.c("server/chunks/ssr/components_4d1233ab._.js")
|
||||
R.c("server/chunks/ssr/_next-internal_server_app_[locale]_[slug]_page_actions_d8822895.js")
|
||||
R.m(602253)
|
||||
module.exports=R.m(602253).exports
|
||||
5
.next/server/app/[locale]/[slug]/page.js.map
Normal file
5
.next/server/app/[locale]/[slug]/page.js.map
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
1
.next/server/app/[locale]/[slug]/page.js.nft.json
Normal file
1
.next/server/app/[locale]/[slug]/page.js.nft.json
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"/[locale]/[slug]/page": "app/[locale]/[slug]/page.js"
|
||||
}
|
||||
18
.next/server/app/[locale]/[slug]/page/build-manifest.json
Normal file
18
.next/server/app/[locale]/[slug]/page/build-manifest.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"devFiles": [],
|
||||
"ampDevFiles": [],
|
||||
"polyfillFiles": [
|
||||
"static/chunks/a6dad97d9634a72d.js"
|
||||
],
|
||||
"lowPriorityFiles": [],
|
||||
"rootMainFiles": [
|
||||
"static/chunks/c68fc807b9365f18.js",
|
||||
"static/chunks/f51290069c969e8a.js",
|
||||
"static/chunks/29297b02a438a66e.js",
|
||||
"static/chunks/fd7b24483a212e2f.js",
|
||||
"static/chunks/b62c08cc490fef16.js",
|
||||
"static/chunks/turbopack-e5b78b2a7c8f1f21.js"
|
||||
],
|
||||
"pages": {},
|
||||
"ampFirstPages": []
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"pages": {},
|
||||
"app": {
|
||||
"[project]/app/[locale]/[slug]/page": [
|
||||
"static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2"
|
||||
]
|
||||
},
|
||||
"appUsingSizeAdjust": true,
|
||||
"pagesUsingSizeAdjust": false
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"565071": {
|
||||
"id": 565071,
|
||||
"files": [
|
||||
"static/chunks/cb3e0df7793813f7.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"248785": {
|
||||
"id": 248785,
|
||||
"files": [
|
||||
"static/chunks/ec661024edade06b.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"950648": {
|
||||
"id": 950648,
|
||||
"files": [
|
||||
"static/chunks/680ec3222525daac.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"566137": {
|
||||
"id": 566137,
|
||||
"files": [
|
||||
"static/chunks/0a765fb53d81ccec.js",
|
||||
"static/chunks/c9e4534297dc4d54.js",
|
||||
"static/chunks/9c4a690cd48e1298.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"node": {},
|
||||
"edge": {}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
var R=require("../../../../../chunks/[turbopack]_runtime.js")("server/app/[locale]/blog/[slug]/opengraph-image/route.js")
|
||||
R.c("server/chunks/5e5d0_@opentelemetry_api_build_esm_4abfcf1f._.js")
|
||||
R.c("server/chunks/[root-of-the-server]__408e4812._.js")
|
||||
R.c("server/chunks/_47244db0._.js")
|
||||
R.c("server/chunks/[root-of-the-server]__5a599130._.js")
|
||||
R.c("server/chunks/node_modules__pnpm_5f245e3a._.js")
|
||||
R.c("server/chunks/ce889_server_app_[locale]_blog_[slug]_opengraph-image_route_actions_6f6ec724.js")
|
||||
R.m(407930)
|
||||
module.exports=R.m(407930).exports
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"/[locale]/blog/[slug]/opengraph-image/route": "app/[locale]/blog/[slug]/opengraph-image/route.js"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"devFiles": [],
|
||||
"ampDevFiles": [],
|
||||
"polyfillFiles": [
|
||||
"static/chunks/a6dad97d9634a72d.js"
|
||||
],
|
||||
"lowPriorityFiles": [],
|
||||
"rootMainFiles": [],
|
||||
"pages": {},
|
||||
"ampFirstPages": []
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"node": {},
|
||||
"edge": {}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
|
||||
globalThis.__RSC_MANIFEST["/[locale]/blog/[slug]/opengraph-image/route"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"rscModuleMapping":{},"edgeRscModuleMapping":{},"entryCSSFiles":{},"entryJSFiles":{}}
|
||||
32
.next/server/app/[locale]/blog/[slug]/page.js
Normal file
32
.next/server/app/[locale]/blog/[slug]/page.js
Normal file
@@ -0,0 +1,32 @@
|
||||
var R=require("../../../../chunks/ssr/[turbopack]_runtime.js")("server/app/[locale]/blog/[slug]/page.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__ba65f140._.js")
|
||||
R.c("server/chunks/ssr/_ed7052e7._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_9c02c43c._.js")
|
||||
R.c("server/chunks/ssr/_cbda2ac7._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__5bd1b04a._.js")
|
||||
R.c("server/chunks/ssr/5e5d0_@opentelemetry_api_build_esm_f7b039e6._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_d9f52090._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_e98c316f._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__f153a21f._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_668db2a3._.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_20ad9314._.js")
|
||||
R.c("server/chunks/ssr/3c3e1_next-intl_dist_esm_production_server_react-server_getConfig_8e5b989d.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_66399b09._.js")
|
||||
R.c("server/chunks/ssr/_b76d0ab2._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_b54e3ae0._.js")
|
||||
R.c("server/chunks/ssr/app_[locale]_blog_opengraph-image--metadata_6372a955.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__ec303f7a._.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_329a8f51._.js")
|
||||
R.c("server/chunks/ssr/_df4aec0b._.js")
|
||||
R.c("server/chunks/ssr/app_global-error_tsx_9170b7a0._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_9ea24689._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_builtin_forbidden_fcf22647.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_builtin_unauthorized_242673a5.js")
|
||||
R.c("server/chunks/ssr/_4e0f57e0._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__bc75933a._.js")
|
||||
R.c("server/chunks/ssr/app_[locale]_error_tsx_37c0341f._.js")
|
||||
R.c("server/chunks/ssr/_49a7ffbe._.js")
|
||||
R.c("server/chunks/ssr/components_4d1233ab._.js")
|
||||
R.c("server/chunks/ssr/_next-internal_server_app_[locale]_blog_[slug]_page_actions_acb43cb8.js")
|
||||
R.m(986905)
|
||||
module.exports=R.m(986905).exports
|
||||
5
.next/server/app/[locale]/blog/[slug]/page.js.map
Normal file
5
.next/server/app/[locale]/blog/[slug]/page.js.map
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
1
.next/server/app/[locale]/blog/[slug]/page.js.nft.json
Normal file
1
.next/server/app/[locale]/blog/[slug]/page.js.nft.json
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"/[locale]/blog/[slug]/page": "app/[locale]/blog/[slug]/page.js"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"devFiles": [],
|
||||
"ampDevFiles": [],
|
||||
"polyfillFiles": [
|
||||
"static/chunks/a6dad97d9634a72d.js"
|
||||
],
|
||||
"lowPriorityFiles": [],
|
||||
"rootMainFiles": [
|
||||
"static/chunks/c68fc807b9365f18.js",
|
||||
"static/chunks/f51290069c969e8a.js",
|
||||
"static/chunks/29297b02a438a66e.js",
|
||||
"static/chunks/fd7b24483a212e2f.js",
|
||||
"static/chunks/b62c08cc490fef16.js",
|
||||
"static/chunks/turbopack-e5b78b2a7c8f1f21.js"
|
||||
],
|
||||
"pages": {},
|
||||
"ampFirstPages": []
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"pages": {},
|
||||
"app": {
|
||||
"[project]/app/[locale]/blog/[slug]/page": [
|
||||
"static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2"
|
||||
]
|
||||
},
|
||||
"appUsingSizeAdjust": true,
|
||||
"pagesUsingSizeAdjust": false
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"565071": {
|
||||
"id": 565071,
|
||||
"files": [
|
||||
"static/chunks/cb3e0df7793813f7.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"248785": {
|
||||
"id": 248785,
|
||||
"files": [
|
||||
"static/chunks/ec661024edade06b.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"950648": {
|
||||
"id": 950648,
|
||||
"files": [
|
||||
"static/chunks/680ec3222525daac.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"566137": {
|
||||
"id": 566137,
|
||||
"files": [
|
||||
"static/chunks/0a765fb53d81ccec.js",
|
||||
"static/chunks/c9e4534297dc4d54.js",
|
||||
"static/chunks/9c4a690cd48e1298.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"node": {},
|
||||
"edge": {}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
9
.next/server/app/[locale]/blog/opengraph-image/route.js
Normal file
9
.next/server/app/[locale]/blog/opengraph-image/route.js
Normal file
@@ -0,0 +1,9 @@
|
||||
var R=require("../../../../chunks/[turbopack]_runtime.js")("server/app/[locale]/blog/opengraph-image/route.js")
|
||||
R.c("server/chunks/5e5d0_@opentelemetry_api_build_esm_4abfcf1f._.js")
|
||||
R.c("server/chunks/[root-of-the-server]__9b3e435b._.js")
|
||||
R.c("server/chunks/node_modules__pnpm_b4ece637._.js")
|
||||
R.c("server/chunks/[root-of-the-server]__5a599130._.js")
|
||||
R.c("server/chunks/node_modules__pnpm_8760e3f8._.js")
|
||||
R.c("server/chunks/_next-internal_server_app_[locale]_blog_opengraph-image_route_actions_1cfb5ed9.js")
|
||||
R.m(657772)
|
||||
module.exports=R.m(657772).exports
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"/[locale]/blog/opengraph-image/route": "app/[locale]/blog/opengraph-image/route.js"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"devFiles": [],
|
||||
"ampDevFiles": [],
|
||||
"polyfillFiles": [
|
||||
"static/chunks/a6dad97d9634a72d.js"
|
||||
],
|
||||
"lowPriorityFiles": [],
|
||||
"rootMainFiles": [],
|
||||
"pages": {},
|
||||
"ampFirstPages": []
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"node": {},
|
||||
"edge": {}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
|
||||
globalThis.__RSC_MANIFEST["/[locale]/blog/opengraph-image/route"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"rscModuleMapping":{},"edgeRscModuleMapping":{},"entryCSSFiles":{},"entryJSFiles":{}}
|
||||
31
.next/server/app/[locale]/blog/page.js
Normal file
31
.next/server/app/[locale]/blog/page.js
Normal file
@@ -0,0 +1,31 @@
|
||||
var R=require("../../../chunks/ssr/[turbopack]_runtime.js")("server/app/[locale]/blog/page.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__a1ab7840._.js")
|
||||
R.c("server/chunks/ssr/_f97b256a._.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_329a8f51._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_9c02c43c._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__5bd1b04a._.js")
|
||||
R.c("server/chunks/ssr/5e5d0_@opentelemetry_api_build_esm_f7b039e6._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_d9f52090._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_e98c316f._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__f153a21f._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_668db2a3._.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_20ad9314._.js")
|
||||
R.c("server/chunks/ssr/3c3e1_next-intl_dist_esm_production_server_react-server_getConfig_8e5b989d.js")
|
||||
R.c("server/chunks/ssr/node_modules__pnpm_66399b09._.js")
|
||||
R.c("server/chunks/ssr/_b76d0ab2._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_b54e3ae0._.js")
|
||||
R.c("server/chunks/ssr/app_[locale]_blog_opengraph-image--metadata_6372a955.js")
|
||||
R.c("server/chunks/ssr/app_global-error_tsx_9170b7a0._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_9ea24689._.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_builtin_forbidden_fcf22647.js")
|
||||
R.c("server/chunks/ssr/468ab_next_dist_client_components_builtin_unauthorized_242673a5.js")
|
||||
R.c("server/chunks/ssr/_45bb404c._.js")
|
||||
R.c("server/chunks/ssr/_536bc82a._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__bc75933a._.js")
|
||||
R.c("server/chunks/ssr/_df4aec0b._.js")
|
||||
R.c("server/chunks/ssr/app_[locale]_error_tsx_37c0341f._.js")
|
||||
R.c("server/chunks/ssr/_49a7ffbe._.js")
|
||||
R.c("server/chunks/ssr/components_4d1233ab._.js")
|
||||
R.c("server/chunks/ssr/_next-internal_server_app_[locale]_blog_page_actions_3e6bf887.js")
|
||||
R.m(189261)
|
||||
module.exports=R.m(189261).exports
|
||||
5
.next/server/app/[locale]/blog/page.js.map
Normal file
5
.next/server/app/[locale]/blog/page.js.map
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
1
.next/server/app/[locale]/blog/page.js.nft.json
Normal file
1
.next/server/app/[locale]/blog/page.js.nft.json
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"/[locale]/blog/page": "app/[locale]/blog/page.js"
|
||||
}
|
||||
18
.next/server/app/[locale]/blog/page/build-manifest.json
Normal file
18
.next/server/app/[locale]/blog/page/build-manifest.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"devFiles": [],
|
||||
"ampDevFiles": [],
|
||||
"polyfillFiles": [
|
||||
"static/chunks/a6dad97d9634a72d.js"
|
||||
],
|
||||
"lowPriorityFiles": [],
|
||||
"rootMainFiles": [
|
||||
"static/chunks/c68fc807b9365f18.js",
|
||||
"static/chunks/f51290069c969e8a.js",
|
||||
"static/chunks/29297b02a438a66e.js",
|
||||
"static/chunks/fd7b24483a212e2f.js",
|
||||
"static/chunks/b62c08cc490fef16.js",
|
||||
"static/chunks/turbopack-e5b78b2a7c8f1f21.js"
|
||||
],
|
||||
"pages": {},
|
||||
"ampFirstPages": []
|
||||
}
|
||||
10
.next/server/app/[locale]/blog/page/next-font-manifest.json
Normal file
10
.next/server/app/[locale]/blog/page/next-font-manifest.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"pages": {},
|
||||
"app": {
|
||||
"[project]/app/[locale]/blog/page": [
|
||||
"static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2"
|
||||
]
|
||||
},
|
||||
"appUsingSizeAdjust": true,
|
||||
"pagesUsingSizeAdjust": false
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"565071": {
|
||||
"id": 565071,
|
||||
"files": [
|
||||
"static/chunks/cb3e0df7793813f7.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"248785": {
|
||||
"id": 248785,
|
||||
"files": [
|
||||
"static/chunks/ec661024edade06b.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"950648": {
|
||||
"id": 950648,
|
||||
"files": [
|
||||
"static/chunks/680ec3222525daac.js",
|
||||
"static/chunks/0ff158dd58fe47c8.js"
|
||||
]
|
||||
},
|
||||
"566137": {
|
||||
"id": 566137,
|
||||
"files": [
|
||||
"static/chunks/0a765fb53d81ccec.js",
|
||||
"static/chunks/c9e4534297dc4d54.js",
|
||||
"static/chunks/9c4a690cd48e1298.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"node": {},
|
||||
"edge": {}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
var R=require("../../../../chunks/[turbopack]_runtime.js")("server/app/[locale]/contact/opengraph-image/route.js")
|
||||
R.c("server/chunks/5e5d0_@opentelemetry_api_build_esm_4abfcf1f._.js")
|
||||
R.c("server/chunks/[root-of-the-server]__bb50a269._.js")
|
||||
R.c("server/chunks/node_modules__pnpm_b4ece637._.js")
|
||||
R.c("server/chunks/[root-of-the-server]__5a599130._.js")
|
||||
R.c("server/chunks/node_modules__pnpm_8760e3f8._.js")
|
||||
R.c("server/chunks/ce889_server_app_[locale]_contact_opengraph-image_route_actions_abbcea5c.js")
|
||||
R.m(38389)
|
||||
module.exports=R.m(38389).exports
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"/[locale]/contact/opengraph-image/route": "app/[locale]/contact/opengraph-image/route.js"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"devFiles": [],
|
||||
"ampDevFiles": [],
|
||||
"polyfillFiles": [
|
||||
"static/chunks/a6dad97d9634a72d.js"
|
||||
],
|
||||
"lowPriorityFiles": [],
|
||||
"rootMainFiles": [],
|
||||
"pages": {},
|
||||
"ampFirstPages": []
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"node": {},
|
||||
"edge": {}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
|
||||
globalThis.__RSC_MANIFEST["/[locale]/contact/opengraph-image/route"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"rscModuleMapping":{},"edgeRscModuleMapping":{},"entryCSSFiles":{},"entryJSFiles":{}}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user