chore: update dependencies and migrate from tsup to tsdown in cli and plasmic packages
This commit is contained in:
+2
-2
@@ -107,7 +107,7 @@ bknd/
|
||||
index.ts # Main package exports
|
||||
__test__/ # Unit tests (mirrors src/ structure)
|
||||
e2e/ # End-to-end tests (Playwright)
|
||||
build.ts # Build script (tsup/esbuild)
|
||||
build.ts # Build script (tsdown/rolldown)
|
||||
build.cli.ts # CLI build script
|
||||
packages/ # Small satellite packages
|
||||
cli/ # Standalone CLI package (bknd-cli)
|
||||
@@ -146,7 +146,7 @@ Plugins (in `app/src/plugins/`) hook into the app lifecycle via callbacks like `
|
||||
|
||||
### Build System
|
||||
|
||||
The build is handled by a custom `app/build.ts` script using tsup (esbuild under the hood). It builds four targets in parallel:
|
||||
The build is handled by a custom `app/build.ts` script using tsdown (rolldown under the hood). It builds four targets in parallel:
|
||||
|
||||
- **API** -- the core backend
|
||||
- **UI** -- the admin interface
|
||||
|
||||
+100
-106
@@ -1,9 +1,9 @@
|
||||
import { $ } from "bun";
|
||||
import * as tsup from "tsup";
|
||||
import { build, type UserConfig } from "tsdown";
|
||||
import pkg from "./package.json" with { type: "json" };
|
||||
import c from "picocolors";
|
||||
import { watch as fsWatch, readdirSync, rmSync } from "node:fs";
|
||||
import { join } from "node:path";
|
||||
import { buildTypes as runTypesBuild } from "./build.types";
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
const watch = args.includes("--watch");
|
||||
@@ -12,7 +12,7 @@ const types = args.includes("--types");
|
||||
const sourcemap = args.includes("--sourcemap");
|
||||
const clean = args.includes("--clean");
|
||||
|
||||
// silence tsup
|
||||
// silence tsdown
|
||||
const oldConsole = {
|
||||
log: console.log,
|
||||
warn: console.warn,
|
||||
@@ -36,33 +36,22 @@ if (clean) {
|
||||
const entryPath = join(distPath, entry);
|
||||
rmSync(entryPath, { recursive: true, force: true });
|
||||
}
|
||||
} catch (e) {
|
||||
} catch {
|
||||
// dist may not exist yet, ignore
|
||||
}
|
||||
}
|
||||
|
||||
let types_running = false;
|
||||
function buildTypes() {
|
||||
async function buildTypes() {
|
||||
if (types_running || !types) return;
|
||||
types_running = true;
|
||||
|
||||
Bun.spawn(["bun", "build:types"], {
|
||||
stdout: "inherit",
|
||||
onExit: () => {
|
||||
try {
|
||||
await runTypesBuild();
|
||||
oldConsole.log(c.cyan("[Types]"), c.green("built"));
|
||||
Bun.spawn(["bun", "tsc-alias"], {
|
||||
stdout: "inherit",
|
||||
onExit: () => {
|
||||
oldConsole.log(c.cyan("[Types]"), c.green("aliased"));
|
||||
} finally {
|
||||
types_running = false;
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
if (types && !watch) {
|
||||
buildTypes();
|
||||
}
|
||||
}
|
||||
|
||||
let watcher_timeout: any;
|
||||
@@ -71,13 +60,17 @@ function delayTypes() {
|
||||
if (watcher_timeout) {
|
||||
clearTimeout(watcher_timeout);
|
||||
}
|
||||
watcher_timeout = setTimeout(buildTypes, 1000);
|
||||
watcher_timeout = setTimeout(() => {
|
||||
void buildTypes().catch((error) => {
|
||||
oldConsole.warn(c.cyan("[Types]"), c.red("build failed"), error);
|
||||
});
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
const dependencies = Object.keys(pkg.dependencies);
|
||||
|
||||
// collection of always-external packages
|
||||
const external = [
|
||||
// collection of always-neverBundle packages
|
||||
const neverBundle = [
|
||||
...dependencies,
|
||||
"bun:test",
|
||||
"node:test",
|
||||
@@ -93,26 +86,30 @@ const external = [
|
||||
* Building backend and general API
|
||||
*/
|
||||
async function buildApi() {
|
||||
await tsup.build({
|
||||
await build({
|
||||
minify,
|
||||
sourcemap,
|
||||
// don't use tsup's broken watch, we'll handle it ourselves
|
||||
// don't use tsdown's broken watch, we'll handle it ourselves
|
||||
watch: false,
|
||||
define,
|
||||
entry: [
|
||||
"src/index.ts",
|
||||
"src/core/utils/index.ts",
|
||||
"src/plugins/index.ts",
|
||||
// "src/plugins/index.ts",
|
||||
"src/modes/index.ts",
|
||||
],
|
||||
outDir: "dist",
|
||||
external: [...external],
|
||||
metafile: true,
|
||||
deps: {
|
||||
neverBundle: [...neverBundle],
|
||||
},
|
||||
|
||||
target: "esnext",
|
||||
platform: "browser",
|
||||
removeNodeProtocol: false,
|
||||
nodeProtocol: true,
|
||||
format: ["esm"],
|
||||
splitting: false,
|
||||
|
||||
// plugins: [dtsPlugin],
|
||||
|
||||
loader: {
|
||||
".svg": "dataurl",
|
||||
},
|
||||
@@ -125,10 +122,7 @@ async function buildApi() {
|
||||
|
||||
async function rewriteClient(path: string) {
|
||||
const bundle = await Bun.file(path).text();
|
||||
await Bun.write(
|
||||
path,
|
||||
'"use client";\n' + bundle.replaceAll("ui/client", "bknd/client"),
|
||||
);
|
||||
await Bun.write(path, '"use client";\n' + bundle.replaceAll("ui/client", "bknd/client"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -140,8 +134,9 @@ async function buildUi() {
|
||||
sourcemap,
|
||||
watch: false,
|
||||
define,
|
||||
external: [
|
||||
...external,
|
||||
deps: {
|
||||
neverBundle: [
|
||||
...neverBundle,
|
||||
"react",
|
||||
"react-dom",
|
||||
"react/jsx-runtime",
|
||||
@@ -151,21 +146,21 @@ async function buildUi() {
|
||||
"@xyflow/react",
|
||||
"@mantine/core",
|
||||
],
|
||||
metafile: true,
|
||||
},
|
||||
devtools: false, // TODO: set true once tsdown's devtools performance is addressed
|
||||
platform: "browser",
|
||||
format: ["esm"],
|
||||
splitting: false,
|
||||
bundle: true,
|
||||
treeshake: true,
|
||||
loader: {
|
||||
".svg": "dataurl",
|
||||
},
|
||||
esbuildOptions: (options) => {
|
||||
options.logLevel = "silent";
|
||||
},
|
||||
} satisfies tsup.Options;
|
||||
logLevel: "silent",
|
||||
|
||||
await tsup.build({
|
||||
// plugins: [dtsPlugin],
|
||||
} satisfies UserConfig;
|
||||
|
||||
await build({
|
||||
...base,
|
||||
entry: ["src/ui/index.ts", "src/ui/main.css", "src/ui/styles.css"],
|
||||
outDir: "dist/ui",
|
||||
@@ -176,7 +171,7 @@ async function buildUi() {
|
||||
},
|
||||
});
|
||||
|
||||
await tsup.build({
|
||||
await build({
|
||||
...base,
|
||||
entry: ["src/ui/client/index.ts"],
|
||||
outDir: "dist/ui/client",
|
||||
@@ -194,14 +189,15 @@ async function buildUi() {
|
||||
* - ui/client is external, and after built replaced with "bknd/client"
|
||||
*/
|
||||
async function buildUiElements() {
|
||||
await tsup.build({
|
||||
await build({
|
||||
minify,
|
||||
sourcemap,
|
||||
watch: false,
|
||||
define,
|
||||
entry: ["src/ui/elements/index.ts"],
|
||||
outDir: "dist/ui/elements",
|
||||
external: [
|
||||
deps: {
|
||||
neverBundle: [
|
||||
"ui/client",
|
||||
"bknd",
|
||||
/^bknd\/.*/,
|
||||
@@ -212,21 +208,20 @@ async function buildUiElements() {
|
||||
"react/jsx-dev-runtime",
|
||||
"use-sync-external-store",
|
||||
],
|
||||
metafile: true,
|
||||
},
|
||||
// plugins: [dtsPlugin],
|
||||
platform: "browser",
|
||||
format: ["esm"],
|
||||
splitting: false,
|
||||
bundle: true,
|
||||
treeshake: true,
|
||||
loader: {
|
||||
".svg": "dataurl",
|
||||
},
|
||||
esbuildOptions: (options) => {
|
||||
options.alias = {
|
||||
alias: {
|
||||
// not important for elements, mock to reduce bundle
|
||||
"tailwind-merge": "./src/ui/elements/mocks/tailwind-merge.ts",
|
||||
};
|
||||
},
|
||||
|
||||
onSuccess: async () => {
|
||||
await rewriteClient("./dist/ui/elements/index.js");
|
||||
delayTypes();
|
||||
@@ -238,10 +233,7 @@ async function buildUiElements() {
|
||||
/**
|
||||
* Building adapters
|
||||
*/
|
||||
function baseConfig(
|
||||
adapter: string,
|
||||
overrides: Partial<tsup.Options> = {},
|
||||
): tsup.Options {
|
||||
function baseConfig(adapter: string, overrides: Partial<UserConfig> = {}): UserConfig {
|
||||
return {
|
||||
minify,
|
||||
sourcemap,
|
||||
@@ -250,9 +242,9 @@ function baseConfig(
|
||||
format: ["esm"],
|
||||
platform: "neutral",
|
||||
outDir: `dist/adapter/${adapter}`,
|
||||
metafile: true,
|
||||
splitting: false,
|
||||
removeNodeProtocol: false,
|
||||
devtools: false, // TODO: set true once tsdown's devtools performance is addressed
|
||||
nodeProtocol: true,
|
||||
// plugins: [dtsPlugin],
|
||||
onSuccess: async () => {
|
||||
delayTypes();
|
||||
oldConsole.log(c.cyan("[Adapter]"), adapter || "base", c.green("built"));
|
||||
@@ -262,21 +254,23 @@ function baseConfig(
|
||||
...define,
|
||||
...overrides.define,
|
||||
},
|
||||
external: [
|
||||
deps: {
|
||||
neverBundle: [
|
||||
/^cloudflare*/,
|
||||
/^@?hono.*?/,
|
||||
/^(bknd|react|next|node).*?/,
|
||||
/.*\.(html)$/,
|
||||
...external,
|
||||
...(Array.isArray(overrides.external) ? overrides.external : []),
|
||||
...neverBundle,
|
||||
...(Array.isArray(overrides.deps?.neverBundle) ? overrides.deps.neverBundle : []),
|
||||
],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
async function buildAdapters() {
|
||||
await Promise.all([
|
||||
// base adapter handles
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig(""),
|
||||
target: "esnext",
|
||||
platform: "neutral",
|
||||
@@ -287,103 +281,111 @@ async function buildAdapters() {
|
||||
}),
|
||||
|
||||
// specific adatpers
|
||||
tsup.build(baseConfig("react-router")),
|
||||
tsup.build(
|
||||
build(baseConfig("react-router")),
|
||||
build(
|
||||
baseConfig("browser", {
|
||||
external: [/^sqlocal\/?.*?/, "wouter"],
|
||||
deps: {
|
||||
neverBundle: [/^sqlocal\/?.*?/, "wouter"],
|
||||
},
|
||||
}),
|
||||
),
|
||||
tsup.build(
|
||||
build(
|
||||
baseConfig("bun", {
|
||||
external: [/^bun\:.*/],
|
||||
deps: {
|
||||
neverBundle: [/^bun:.*/],
|
||||
},
|
||||
}),
|
||||
),
|
||||
tsup.build(baseConfig("astro")),
|
||||
tsup.build(baseConfig("aws")),
|
||||
tsup.build(
|
||||
build(baseConfig("astro")),
|
||||
build(baseConfig("aws")),
|
||||
build(
|
||||
baseConfig("cloudflare", {
|
||||
external: ["wrangler", "node:process"],
|
||||
deps: {
|
||||
neverBundle: ["wrangler", "node:process", "miniflare"],
|
||||
},
|
||||
}),
|
||||
),
|
||||
tsup.build(
|
||||
build(
|
||||
baseConfig("cloudflare/proxy", {
|
||||
target: "esnext",
|
||||
entry: ["src/adapter/cloudflare/proxy.ts"],
|
||||
outDir: "dist/adapter/cloudflare",
|
||||
metafile: false,
|
||||
external: [/bknd/, "wrangler", "node:process"],
|
||||
devtools: false,
|
||||
deps: {
|
||||
neverBundle: [/bknd/, "wrangler", "node:process", "miniflare"],
|
||||
},
|
||||
}),
|
||||
),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("vite"),
|
||||
platform: "node",
|
||||
}),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("nextjs"),
|
||||
platform: "node",
|
||||
}),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("tanstack-start"),
|
||||
platform: "node",
|
||||
}),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("sveltekit"),
|
||||
platform: "node",
|
||||
}),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("nuxt"),
|
||||
platform: "node",
|
||||
}),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("node"),
|
||||
platform: "node",
|
||||
}),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("sqlite/edge"),
|
||||
entry: ["src/adapter/sqlite/edge.ts"],
|
||||
outDir: "dist/adapter/sqlite",
|
||||
metafile: false,
|
||||
devtools: false,
|
||||
}),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("sqlite/node"),
|
||||
entry: ["src/adapter/sqlite/node.ts"],
|
||||
outDir: "dist/adapter/sqlite",
|
||||
platform: "node",
|
||||
metafile: false,
|
||||
devtools: false,
|
||||
}),
|
||||
|
||||
tsup.build({
|
||||
build({
|
||||
...baseConfig("sqlite/bun"),
|
||||
entry: ["src/adapter/sqlite/bun.ts"],
|
||||
outDir: "dist/adapter/sqlite",
|
||||
metafile: false,
|
||||
external: [/^bun\:.*/],
|
||||
devtools: false,
|
||||
deps: {
|
||||
neverBundle: [/^bun:.*/],
|
||||
},
|
||||
}),
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
async function buildAll() {
|
||||
await Promise.all([
|
||||
buildApi(),
|
||||
buildUi(),
|
||||
buildUiElements(),
|
||||
buildAdapters(),
|
||||
]);
|
||||
await Promise.all([buildApi(), buildUi(), buildUiElements(), buildAdapters()]);
|
||||
}
|
||||
|
||||
// initial build
|
||||
await buildAll();
|
||||
|
||||
// custom watcher since tsup's watch is broken in 8.3.5+
|
||||
if (types) {
|
||||
await buildTypes();
|
||||
}
|
||||
|
||||
// custom watcher since tsdown's watch is broken in 8.3.5+
|
||||
if (watch) {
|
||||
oldConsole.log(c.cyan("[Watch]"), "watching for changes in src/...");
|
||||
|
||||
@@ -409,22 +411,14 @@ if (watch) {
|
||||
};
|
||||
|
||||
// watch src directory recursively
|
||||
fsWatch(
|
||||
join(import.meta.dir, "src"),
|
||||
{ recursive: true },
|
||||
(event, filename) => {
|
||||
fsWatch(join(import.meta.dir, "src"), { recursive: true }, (event, filename) => {
|
||||
if (!filename) return;
|
||||
// ignore non-source files
|
||||
if (
|
||||
!filename.endsWith(".ts") &&
|
||||
!filename.endsWith(".tsx") &&
|
||||
!filename.endsWith(".css")
|
||||
)
|
||||
if (!filename.endsWith(".ts") && !filename.endsWith(".tsx") && !filename.endsWith(".css"))
|
||||
return;
|
||||
oldConsole.log(c.cyan("[Watch]"), c.dim(`${event}: ${filename}`));
|
||||
debouncedRebuild();
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
// keep process alive
|
||||
await new Promise(() => {});
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
import { build } from "tsdown";
|
||||
import c from "picocolors";
|
||||
|
||||
const typeEntryGroups = [
|
||||
[
|
||||
"src/index.ts",
|
||||
"src/core/utils/index.ts",
|
||||
"src/plugins/index.ts",
|
||||
"src/modes/index.ts",
|
||||
"src/cli/index.ts",
|
||||
],
|
||||
["src/ui/index.ts", "src/ui/client/index.ts", "src/ui/elements/index.ts"],
|
||||
[
|
||||
"src/adapter/index.ts",
|
||||
"src/adapter/react-router/index.ts",
|
||||
"src/adapter/browser/index.ts",
|
||||
"src/adapter/bun/index.ts",
|
||||
"src/adapter/astro/index.ts",
|
||||
"src/adapter/aws/index.ts",
|
||||
"src/adapter/cloudflare/index.ts",
|
||||
"src/adapter/cloudflare/proxy.ts",
|
||||
"src/adapter/vite/index.ts",
|
||||
"src/adapter/nextjs/index.ts",
|
||||
"src/adapter/tanstack-start/index.ts",
|
||||
"src/adapter/sveltekit/index.ts",
|
||||
"src/adapter/nuxt/index.ts",
|
||||
"src/adapter/node/index.ts",
|
||||
"src/adapter/sqlite/edge.ts",
|
||||
"src/adapter/sqlite/node.ts",
|
||||
"src/adapter/sqlite/bun.ts",
|
||||
],
|
||||
] as const;
|
||||
|
||||
export async function buildTypes() {
|
||||
for (const entry of typeEntryGroups) {
|
||||
await build({
|
||||
entry: [...entry],
|
||||
root: "src",
|
||||
outDir: "dist/types",
|
||||
format: ["esm"],
|
||||
tsconfig: "tsconfig.build.json",
|
||||
watch: false,
|
||||
clean: true,
|
||||
logLevel: "silent",
|
||||
dts: {
|
||||
emitDtsOnly: true,
|
||||
resolver: "oxc",
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (import.meta.main) {
|
||||
try {
|
||||
await buildTypes();
|
||||
console.log(c.cyan("[Types]"), c.green("built"));
|
||||
} catch (error) {
|
||||
console.error(c.cyan("[Types]"), c.red("build failed"), error);
|
||||
process.exitCode = 1;
|
||||
}
|
||||
}
|
||||
+48
-21
@@ -23,11 +23,10 @@
|
||||
"build:all": "rm -rf dist && bun run build:static && NODE_ENV=production bun run build.ts --minify --types --clean && bun run build:cli",
|
||||
"build:ci": "mkdir -p dist/static/.vite && echo '{}' > dist/static/.vite/manifest.json && NODE_ENV=production bun run build.ts",
|
||||
"build:cli": "bun run build.cli.ts",
|
||||
"build:types": "bun run build.types.ts",
|
||||
"build:static": "vite build",
|
||||
"watch": "bun run build.ts --types --watch",
|
||||
"types": "bun tsc -p tsconfig.build.json --noEmit",
|
||||
"clean:types": "find ./dist -name '*.d.ts' -delete && rm -f ./dist/tsconfig.tsbuildinfo",
|
||||
"build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly && tsc-alias",
|
||||
"updater": "bun x npm-check-updates -ui",
|
||||
"cli": "LOCAL=1 bun src/cli/index.ts",
|
||||
"prepublishOnly": "bun run types && bun run test && bun run test:node && NODE_NO_WARNINGS=1 VITE_DB_URL=:memory: bun run test:e2e && bun run build:all && cp ../README.md ./",
|
||||
@@ -98,6 +97,7 @@
|
||||
"@tanstack/react-store": "^0.8.0",
|
||||
"@testing-library/jest-dom": "^6.6.3",
|
||||
"@testing-library/react": "^16.2.0",
|
||||
"@tsdown/css": "^0.21.7",
|
||||
"@types/node": "^24.10.0",
|
||||
"@types/pg": "^8.15.6",
|
||||
"@types/react": "^19.0.10",
|
||||
@@ -114,7 +114,7 @@
|
||||
"kysely-postgres-js": "^2.0.0",
|
||||
"libsql": "^0.5.22",
|
||||
"libsql-stateless-easy": "^1.8.0",
|
||||
"miniflare": "^4.20251011.2",
|
||||
"miniflare": "^4.20260317.3",
|
||||
"open": "^10.2.0",
|
||||
"openapi-types": "^12.1.3",
|
||||
"pg": "^8.16.3",
|
||||
@@ -133,16 +133,15 @@
|
||||
"tailwind-merge": "^3.0.2",
|
||||
"tailwindcss": "^4.1.16",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"tsc-alias": "^1.8.16",
|
||||
"tsup": "^8.5.0",
|
||||
"tsdown": "^0.21.7",
|
||||
"tsx": "^4.20.6",
|
||||
"uuid": "^13.0.0",
|
||||
"vite": "^7.1.12",
|
||||
"vite": "^7.3.1",
|
||||
"vite-plugin-circular-dependency": "^0.5.0",
|
||||
"vite-tsconfig-paths": "^5.1.4",
|
||||
"vitest": "3.0.9",
|
||||
"wouter": "^3.7.1",
|
||||
"wrangler": "^4.45.4"
|
||||
"wrangler": "^4.78.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@hono/node-server": "^1.19.6"
|
||||
@@ -285,20 +284,48 @@
|
||||
},
|
||||
"typesVersions": {
|
||||
"*": {
|
||||
"utils": ["./dist/types/core/utils/index.d.ts"],
|
||||
"cli": ["./dist/types/cli/index.d.ts"],
|
||||
"plugins": ["./dist/types/plugins/index.d.ts"],
|
||||
"adapter": ["./dist/types/adapter/index.d.ts"],
|
||||
"adapter/cloudflare": ["./dist/types/adapter/cloudflare/index.d.ts"],
|
||||
"adapter/vite": ["./dist/types/adapter/vite/index.d.ts"],
|
||||
"adapter/nextjs": ["./dist/types/adapter/nextjs/index.d.ts"],
|
||||
"adapter/nuxt": ["./dist/types/adapter/nuxt/index.d.ts"],
|
||||
"adapter/react-router": ["./dist/types/adapter/react-router/index.d.ts"],
|
||||
"adapter/bun": ["./dist/types/adapter/bun/index.d.ts"],
|
||||
"adapter/node": ["./dist/types/adapter/node/index.d.ts"],
|
||||
"adapter/sveltekit": ["./dist/types/adapter/sveltekit/index.d.ts"],
|
||||
"adapter/tanstack-start": ["./dist/types/adapter/tanstack-start/index.d.ts"],
|
||||
"adapter/sqlite": ["./dist/types/adapter/sqlite/edge.d.ts"]
|
||||
"utils": [
|
||||
"./dist/types/core/utils/index.d.ts"
|
||||
],
|
||||
"cli": [
|
||||
"./dist/types/cli/index.d.ts"
|
||||
],
|
||||
"plugins": [
|
||||
"./dist/types/plugins/index.d.ts"
|
||||
],
|
||||
"adapter": [
|
||||
"./dist/types/adapter/index.d.ts"
|
||||
],
|
||||
"adapter/cloudflare": [
|
||||
"./dist/types/adapter/cloudflare/index.d.ts"
|
||||
],
|
||||
"adapter/vite": [
|
||||
"./dist/types/adapter/vite/index.d.ts"
|
||||
],
|
||||
"adapter/nextjs": [
|
||||
"./dist/types/adapter/nextjs/index.d.ts"
|
||||
],
|
||||
"adapter/nuxt": [
|
||||
"./dist/types/adapter/nuxt/index.d.ts"
|
||||
],
|
||||
"adapter/react-router": [
|
||||
"./dist/types/adapter/react-router/index.d.ts"
|
||||
],
|
||||
"adapter/bun": [
|
||||
"./dist/types/adapter/bun/index.d.ts"
|
||||
],
|
||||
"adapter/node": [
|
||||
"./dist/types/adapter/node/index.d.ts"
|
||||
],
|
||||
"adapter/sveltekit": [
|
||||
"./dist/types/adapter/sveltekit/index.d.ts"
|
||||
],
|
||||
"adapter/tanstack-start": [
|
||||
"./dist/types/adapter/tanstack-start/index.d.ts"
|
||||
],
|
||||
"adapter/sqlite": [
|
||||
"./dist/types/adapter/sqlite/edge.d.ts"
|
||||
]
|
||||
}
|
||||
},
|
||||
"publishConfig": {
|
||||
|
||||
+3
-2
@@ -102,9 +102,10 @@ body,
|
||||
/* Chrome, Edge, and Safari */
|
||||
& *::-webkit-scrollbar {
|
||||
@apply w-1;
|
||||
&:horizontal {
|
||||
@apply h-px;
|
||||
}
|
||||
|
||||
& *::-webkit-scrollbar:horizontal {
|
||||
@apply h-px;
|
||||
}
|
||||
|
||||
& *::-webkit-scrollbar-track {
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
"compilerOptions": {
|
||||
"outDir": "./dist/types",
|
||||
"rootDir": "./src",
|
||||
"baseUrl": ".",
|
||||
"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo"
|
||||
},
|
||||
"include": ["./src/**/*.ts", "./src/**/*.tsx"],
|
||||
|
||||
+1
-2
@@ -6,7 +6,7 @@
|
||||
"moduleResolution": "bundler",
|
||||
"jsx": "react-jsx",
|
||||
"allowImportingTsExtensions": false,
|
||||
"target": "ES2022",
|
||||
"target": "es2023",
|
||||
"noImplicitAny": false,
|
||||
"allowJs": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
@@ -26,7 +26,6 @@
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"rootDir": ".",
|
||||
"baseUrl": ".",
|
||||
"outDir": "./dist/types",
|
||||
"paths": {
|
||||
"*": ["./src/*"],
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
"files": {
|
||||
"includes": [
|
||||
"**",
|
||||
"!!**/.tsup",
|
||||
"!!**/.tsdown",
|
||||
"!!**/node_modules",
|
||||
"!!**/.cache",
|
||||
"!!**/.wrangler",
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
"README.md"
|
||||
],
|
||||
"dependencies": {
|
||||
"@libsql/client": "^0.14.0",
|
||||
"@libsql/client": "^0.17.2",
|
||||
"hono": "^4.6.7"
|
||||
},
|
||||
"tsup": {
|
||||
"tsdown": {
|
||||
"entry": [
|
||||
"src/index.ts"
|
||||
],
|
||||
|
||||
@@ -4,14 +4,15 @@
|
||||
"type": "module",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "rm -rf dist && bun tsup && bun run build:types",
|
||||
"watch": "bun tsup --watch --onSuccess 'bun run build:types'",
|
||||
"build:only": "rm -rf dist && bun tsup",
|
||||
"build": "rm -rf dist && bun tsdown && bun run build:types",
|
||||
"watch": "bun tsdown --watch --onSuccess 'bun run build:types'",
|
||||
"build:only": "rm -rf dist && bun tsdown",
|
||||
"types": "bun tsc -p tsconfig.json --noEmit --skipLibCheck",
|
||||
"build:types": "bun tsc --emitDeclarationOnly",
|
||||
"updater": "bun x npm-check-updates -ui",
|
||||
"pack": "rm -rf *.tgz && npm pack && mv *.tgz latest.tgz",
|
||||
"prepublishOnly": "bun run build"
|
||||
"prepublishOnly": "bun run build",
|
||||
"tsdown": "bunx tsdown"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
@@ -33,7 +34,7 @@
|
||||
"optionalDependencies": {
|
||||
"@plasmicapp/loader-nextjs": "^1.0.0"
|
||||
},
|
||||
"tsup": {
|
||||
"tsdown": {
|
||||
"entry": [
|
||||
"src/index.ts",
|
||||
"src/nextjs/index.tsx"
|
||||
|
||||
Reference in New Issue
Block a user