mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-10 08:13:46 +00:00
Replace the Rollup + `rollup-plugin-typescript2` build with a split pipeline: tsdown (rolldown) bundles the JS in ~0.2s, and plain `tsc` emits the declarations to `dist/types` (~2s). Full cold build drops from ~9.2s to ~2.5s (~3.6x) with zero source changes. Unlike data-schemas, the fast oxc/isolated-declarations dts path isn't viable here: the package's 78 exported zod schemas produce 374 `isolatedDeclarations` errors (TS9013/TS9038) and a `z.ZodType<T>` annotation would break the 76 downstream `.extend`/`.shape`/`.pick` usages. Plain `tsc` keeps the rich zod types intact, and since dts was never the bottleneck (rollup-plugin-typescript2 was), the win stands. - dts stays unbundled in `dist/types/` — identical to the prior output, so the existing deep `dist/types` imports and the exports `types` paths are unchanged. - ESM output renamed `index.es.js` -> `index.mjs` (via the exports map; no consumer hardcodes the old path). cjs/types paths unchanged. - `./react-query` now emits a real cjs build + types — the exports map already promised them, but Rollup only ever built the esm file. - Kept `rollup` + the plugins used by `server-rollup.config.js` (the `rollup:api` server-bundle smoke test in backend-review.yml); removed only the deps used solely by the deleted `rollup.config.js`. - Repointed CI build-cache keys from `rollup.config.js` to `tsdown.config.mjs`.
79 lines
2.2 KiB
JSON
79 lines
2.2 KiB
JSON
{
|
|
"name": "librechat-data-provider",
|
|
"version": "0.8.503",
|
|
"description": "data services for librechat apps",
|
|
"main": "dist/index.js",
|
|
"module": "dist/index.mjs",
|
|
"types": "./dist/types/index.d.ts",
|
|
"sideEffects": false,
|
|
"exports": {
|
|
".": {
|
|
"import": "./dist/index.mjs",
|
|
"require": "./dist/index.js",
|
|
"types": "./dist/types/index.d.ts"
|
|
},
|
|
"./react-query": {
|
|
"import": "./dist/react-query/index.mjs",
|
|
"require": "./dist/react-query/index.js",
|
|
"types": "./dist/types/react-query/index.d.ts"
|
|
}
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"scripts": {
|
|
"clean": "rimraf dist",
|
|
"build": "npm run clean && tsdown && tsc -p tsconfig.build.json",
|
|
"build:watch": "tsdown --watch",
|
|
"rollup:api": "npx rollup -c server-rollup.config.js --bundleConfigAsCjs",
|
|
"test": "jest --coverage --watch",
|
|
"test:ci": "jest --coverage --ci --logHeapUsage",
|
|
"verify": "npm run test:ci",
|
|
"b:clean": "bun run rimraf dist",
|
|
"b:build": "bun run b:clean && bun run tsdown && bun run tsc -p tsconfig.build.json"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/danny-avila/LibreChat"
|
|
},
|
|
"author": "",
|
|
"license": "ISC",
|
|
"bugs": {
|
|
"url": "https://github.com/danny-avila/LibreChat/issues"
|
|
},
|
|
"homepage": "https://librechat.ai",
|
|
"dependencies": {
|
|
"axios": "^1.16.0",
|
|
"dayjs": "^1.11.13",
|
|
"js-yaml": "^4.1.1",
|
|
"zod": "^3.22.4"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/preset-env": "^7.21.5",
|
|
"@babel/preset-react": "^7.18.6",
|
|
"@babel/preset-typescript": "^7.21.0",
|
|
"@rollup/plugin-alias": "^5.1.0",
|
|
"@rollup/plugin-commonjs": "^29.0.0",
|
|
"@rollup/plugin-json": "^6.1.0",
|
|
"@rollup/plugin-node-resolve": "^15.1.0",
|
|
"@rollup/plugin-replace": "^5.0.5",
|
|
"@types/jest": "^29.5.2",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/node": "^24.12.4",
|
|
"@types/react": "^18.2.18",
|
|
"@types/winston": "^2.4.4",
|
|
"jest": "^30.2.0",
|
|
"jest-junit": "^16.0.0",
|
|
"openapi-types": "^12.1.3",
|
|
"rimraf": "^6.1.3",
|
|
"rollup": "^4.34.9",
|
|
"tsdown": "^0.22.2",
|
|
"typescript": "^5.9.3"
|
|
},
|
|
"peerDependencies": {
|
|
"@tanstack/react-query": "^4.28.0"
|
|
},
|
|
"publishConfig": {
|
|
"registry": "https://registry.npmjs.org/"
|
|
}
|
|
}
|