mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-01 20:01:35 +00:00
The deps.neverBundle predicates in the four package tsdown configs detect
first-party (resolved) module ids with !id.startsWith('/'). On Windows,
resolved ids are absolute paths like C:\..., which never match, so every
project module is externalized. Builds still exit 0 but emit near-empty
bundles — e.g. packages/client dist/index.mjs drops from ~276 kB to
~2.7 kB and dist/style.css is never produced, breaking the client dev
server with "Failed to resolve import @librechat/client/style.css".
Replace the startsWith('/') check with path.isAbsolute(id), which is
behavior-identical on POSIX and correct on Windows.
Co-authored-by: phoenixtekk <phoenixtekk@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
24 lines
837 B
JavaScript
24 lines
837 B
JavaScript
import path from 'node:path';
|
|
import { defineConfig } from 'tsdown';
|
|
|
|
export default defineConfig({
|
|
entry: ['src/index.ts', 'src/admin/capabilities.ts'],
|
|
format: ['esm', 'cjs'],
|
|
platform: 'node',
|
|
dts: { oxc: true },
|
|
outDir: 'dist',
|
|
sourcemap: true,
|
|
// Externalize all third-party deps (consumers provide the peers); bundle only `dotenv`
|
|
// so the package stays self-contained for its env-loading side effect, matching the
|
|
// prior Rollup build. `neverBundle` is the 0.22 replacement for the deprecated `external`.
|
|
deps: {
|
|
neverBundle: (id) =>
|
|
id !== 'dotenv' &&
|
|
!id.startsWith('dotenv/') &&
|
|
!id.startsWith('.') &&
|
|
!id.startsWith('~') &&
|
|
!path.isAbsolute(id),
|
|
// dotenv is bundled on purpose, so silence the "detected dependencies in bundle" hint.
|
|
onlyBundle: false,
|
|
},
|
|
});
|