137 lines
3.0 KiB
TypeScript
137 lines
3.0 KiB
TypeScript
import { defineConfig } from 'tsup';
|
|
|
|
export default defineConfig([
|
|
// Universal APIs
|
|
{
|
|
entry: ['streams/index.ts'],
|
|
format: ['cjs', 'esm'],
|
|
external: ['react', 'svelte', 'vue'],
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
{
|
|
entry: ['prompts/index.ts'],
|
|
format: ['cjs', 'esm'],
|
|
external: ['react', 'svelte', 'vue'],
|
|
outDir: 'prompts/dist',
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
// React APIs
|
|
{
|
|
entry: ['react/index.ts'],
|
|
outDir: 'react/dist',
|
|
banner: {
|
|
js: "'use client'",
|
|
},
|
|
format: ['cjs', 'esm'],
|
|
external: ['react', 'svelte', 'vue', 'solid-js'],
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
{
|
|
entry: ['react/index.server.ts'],
|
|
outDir: 'react/dist',
|
|
format: ['cjs', 'esm'],
|
|
external: ['react', 'svelte', 'vue', 'solid-js'],
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
// // Svelte APIs
|
|
// {
|
|
// entry: ['svelte/index.ts'],
|
|
// outDir: 'svelte/dist',
|
|
// banner: {},
|
|
// format: ['cjs', 'esm'],
|
|
// external: ['react', 'svelte', 'vue', 'solid-js'],
|
|
// dts: true,
|
|
// sourcemap: true,
|
|
// // `sswr` has some issue with `.es.js` that can't be resolved correctly by
|
|
// // vite so we have to bundle it here.
|
|
// noExternal: ['sswr'],
|
|
// },
|
|
// Vue APIs
|
|
{
|
|
entry: ['vue/index.ts'],
|
|
outDir: 'vue/dist',
|
|
banner: {},
|
|
format: ['cjs', 'esm'],
|
|
external: ['react', 'svelte', 'vue', 'solid-js'],
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
// Solid APIs
|
|
{
|
|
entry: ['solid/index.ts'],
|
|
outDir: 'solid/dist',
|
|
banner: {},
|
|
format: ['cjs', 'esm'],
|
|
external: ['react', 'svelte', 'vue', 'solid-js'],
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
// RSC APIs - shared client
|
|
{
|
|
// Entry is `.mts` as the entrypoints that import it will be ESM so it needs exact imports that includes the `.mjs` extension.
|
|
entry: ['rsc/rsc-shared.mts'],
|
|
outDir: 'rsc/dist',
|
|
format: ['esm'],
|
|
external: ['react', 'zod'],
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
// RSC APIs - server, client
|
|
{
|
|
entry: ['rsc/rsc-server.ts', 'rsc/rsc-client.ts'],
|
|
outDir: 'rsc/dist',
|
|
format: ['esm'],
|
|
external: ['react', 'zod', /\/rsc-shared/],
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
// RSC APIs - types
|
|
{
|
|
entry: ['rsc/index.ts'],
|
|
outDir: 'rsc/dist',
|
|
dts: true,
|
|
outExtension() {
|
|
return {
|
|
// It must be `.d.ts` instead of `.d.mts` to support node resolution.
|
|
// See https://github.com/vercel/ai/issues/1028.
|
|
dts: '.d.ts',
|
|
js: '.mjs',
|
|
};
|
|
},
|
|
},
|
|
|
|
// AI Core: Providers
|
|
{
|
|
entry: ['anthropic/index.ts'],
|
|
format: ['cjs', 'esm'],
|
|
outDir: 'anthropic/dist',
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
{
|
|
entry: ['google/index.ts'],
|
|
format: ['cjs', 'esm'],
|
|
outDir: 'google/dist',
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
{
|
|
entry: ['openai/index.ts'],
|
|
format: ['cjs', 'esm'],
|
|
outDir: 'openai/dist',
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
{
|
|
entry: ['mistral/index.ts'],
|
|
format: ['cjs', 'esm'],
|
|
outDir: 'mistral/dist',
|
|
dts: true,
|
|
sourcemap: true,
|
|
},
|
|
]);
|