refactor(tracker-script-name): move from middleware to next.config rewrites

pull/1915/head
Slowlydev 2023-04-19 18:42:40 +02:00
parent c0a9ceae2f
commit 453373b356
2 changed files with 11 additions and 21 deletions

View File

@ -1,21 +0,0 @@
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';
export async function middleware(req: NextRequest) {
const scriptName = process.env.TRACKER_SCRIPT_NAME;
if (scriptName) {
const url = req.nextUrl.clone();
const { pathname } = url;
const names = scriptName.split(',').map(name => name.trim() + '.js');
if (names.find(name => pathname.endsWith(name))) {
url.pathname = '/script.js';
return NextResponse.rewrite(url);
}
}
}
export const config = {
matcher: '/:path*',
};

View File

@ -44,6 +44,17 @@ if (process.env.COLLECT_API_ENDPOINT) {
});
}
if (process.env.TRACKER_SCRIPT_NAME) {
const scriptNames = process.env.TRACKER_SCRIPT_NAME.split(',');
rewrites.push(
...scriptNames.map(scriptName => ({
source: `/${scriptName.trim()}.js`,
destination: '/script.js',
})),
);
}
const redirects = [];
if (process.env.CLOUD_MODE) {