I'm trying to use workers-tagged-logger within a loader(), but getting this error:
$ vite build
vite v6.1.0 building for production...
[plugin vite:resolve] Module "node:async_hooks" has been externalized for browser compatibility, imported by "/Users/jh/src/workers/node_modules/.pnpm/workers-tagged-logger@0.5.2_zod@3.24.2/node_modules/workers-tagged-logger/dist/logger.js". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
✓ 70 modules transformed.
x Build failed in 288ms
error during build:
../../node_modules/.pnpm/workers-tagged-logger@0.5.2_zod@3.24.2/node_modules/workers-tagged-logger/dist/logger.js (2:9): "AsyncLocalStorage" is not exported by "__vite-browser-external", imported by "../../node_modules/.pnpm/workers-tagged-logger@0.5.2_zod@3.24.2/node_modules/workers-tagged-logger/dist/logger.js".
file: /Users/jh/src/workers/node_modules/.pnpm/workers-tagged-logger@0.5.2_zod@3.24.2/node_modules/workers-tagged-logger/dist/logger.js:2:9
1: /* eslint-disable @typescript-eslint/no-explicit-any */
2: import { AsyncLocalStorage } from 'node:async_hooks';
^
3: import { z } from 'zod';
4: const LogValue = z.union([z.string(), z.number(), z.boolean(), z.null(), z.undefined()]);
at getRollupError (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/parseAst.js:397:41)
at error (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/parseAst.js:393:42)
at Module.error (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/node-entry.js:16659:16)
at Module.traceVariable (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/node-entry.js:17108:29)
at ModuleScope.findVariable (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/node-entry.js:14765:39)
at Identifier.bind (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/node-entry.js:5356:40)
at NewExpression.bind (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/node-entry.js:2783:23)
at VariableDeclarator.bind (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/node-entry.js:2783:23)
at VariableDeclaration.bind (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/node-entry.js:2779:28)
at Program.bind (file:///Users/jh/src/workers/node_modules/.pnpm/rollup@4.35.0/node_modules/rollup/dist/es/shared/node-entry.js:2779:28)
Is it possible to use ALS within loaders?
Looking at react-router docs, I'm expecting code within loader() to only run on the server, but maybe that's not the case?
I'm trying to use
workers-tagged-loggerwithin aloader(), but getting this error:Is it possible to use ALS within loaders?
Looking at react-router docs, I'm expecting code within
loader()to only run on the server, but maybe that's not the case?