fix(server): wrong usage of optl (#6714)

This commit is contained in:
forehalo
2024-07-17 08:17:13 +00:00
parent 08a0572d4e
commit 4868f6e611
11 changed files with 182 additions and 70 deletions

View File

@@ -1,11 +1,32 @@
import { create, createEsmHooks } from 'ts-node';
import * as otel from '@opentelemetry/instrumentation/hook.mjs';
import { createEsmHooks, register } from 'ts-node';
const service = create({
const service = register({
experimentalSpecifierResolution: 'node',
transpileOnly: true,
logError: true,
skipProject: true,
});
const hooks = createEsmHooks(service);
export const resolve = hooks.resolve;
/**
* @type {import('ts-node').NodeLoaderHooksAPI2}
*/
const ts = createEsmHooks(service);
/**
* @type {import('ts-node').NodeLoaderHooksAPI2.ResolveHook}
*/
export const resolve = (specifier, context, defaultResolver) => {
return ts.resolve(specifier, context, (s, c) => {
return otel.resolve(s, c, defaultResolver);
});
};
/**
* @type {import('ts-node').NodeLoaderHooksAPI2.LoadHook}
*/
export const load = async (url, context, defaultLoader) => {
return await otel.load(url, context, (u, c) => {
return ts.load(u, c, defaultLoader);
});
};