From ce2b28d8ab08af62fcaa8498f9f4cc4887ce0350 Mon Sep 17 00:00:00 2001 From: Sheraff Date: Wed, 14 Feb 2024 00:57:04 +0100 Subject: [PATCH] better client treeshaking rollup config --- client/vite.config.ts | 9 +++++++++ repo.dict.txt | 2 ++ server/src/api/accounts.ts | 2 +- server/src/api/helpers.ts | 3 +++ server/src/api/open.ts | 2 +- server/src/api/protected.ts | 2 +- server/src/api/save.ts | 2 +- 7 files changed, 18 insertions(+), 4 deletions(-) diff --git a/client/vite.config.ts b/client/vite.config.ts index 0d58234..646d48e 100644 --- a/client/vite.config.ts +++ b/client/vite.config.ts @@ -248,6 +248,15 @@ export default defineConfig({ sourcemap: true, target: "esnext", reportCompressedSize: false, + modulePreload: { polyfill: false }, + rollupOptions: { + treeshake: { + moduleSideEffects: [`${normalizePath(__dirname)}/main.tsx`], + propertyReadSideEffects: false, + tryCatchDeoptimization: false, + unknownGlobalSideEffects: false, + }, + }, }, esbuild: { minifyIdentifiers: false, diff --git a/repo.dict.txt b/repo.dict.txt index e823b54..fe68698 100644 --- a/repo.dict.txt +++ b/repo.dict.txt @@ -8,6 +8,7 @@ crsqlite cryb datetime dbname +deoptimization fastify fract knip @@ -21,6 +22,7 @@ spotify sqlite SQLITE_IOERR_WRITE tanstack +treeshake tsbuildinfo valibot vlcn diff --git a/server/src/api/accounts.ts b/server/src/api/accounts.ts index 926a670..7dafebe 100644 --- a/server/src/api/accounts.ts +++ b/server/src/api/accounts.ts @@ -26,7 +26,7 @@ export const definition = define({ method: "get", }) -export const handler = /* @__PURE__ */ procedure(schema, definition, { +export const handler = procedure(schema, definition, { onRequest: authProtected.onRequest, handler(request, reply) { const user = request.session.user! diff --git a/server/src/api/helpers.ts b/server/src/api/helpers.ts index bf920d7..481543e 100644 --- a/server/src/api/helpers.ts +++ b/server/src/api/helpers.ts @@ -54,6 +54,7 @@ type SchemaToRouteGeneric = { : never } +/* @__NO_SIDE_EFFECTS__ */ export function define(definition: { method: HTTPMethods // | HTTPMethods[] url: string @@ -70,6 +71,7 @@ export function define(definition: { } as any } +/* @__NO_SIDE_EFFECTS__ */ export function procedure( schema: Schema, definition: { @@ -90,6 +92,7 @@ export function procedure( } type Plugin = (fastify: FastifyInstance, opts: object, done: () => void) => void +/* @__NO_SIDE_EFFECTS__ */ export function pluginFromRoutes(routes: RouteOptions[]): Plugin { return function routesPlugin(fastify, opts, done) { for (const route of routes) { diff --git a/server/src/api/open.ts b/server/src/api/open.ts index bec63ea..161046e 100644 --- a/server/src/api/open.ts +++ b/server/src/api/open.ts @@ -49,7 +49,7 @@ export const definition = define({ method: "get", }) -export const handler = /* @__PURE__ */ procedure(schema, definition, { +export const handler = procedure(schema, definition, { handler(request, reply) { request.log.info("hello world", request.query.id, request.headers["x-id"]) if (request.query.id === "42") { diff --git a/server/src/api/protected.ts b/server/src/api/protected.ts index 27cff93..305247b 100644 --- a/server/src/api/protected.ts +++ b/server/src/api/protected.ts @@ -26,7 +26,7 @@ export const definition = define({ method: "get", }) -export const handler = /* @__PURE__ */ procedure(schema, definition, { +export const handler = procedure(schema, definition, { onRequest: authProtected.onRequest, handler(request, reply) { void reply.status(200).send({ secret: "🙈" }) diff --git a/server/src/api/save.ts b/server/src/api/save.ts index 7d822e1..5f7d7fb 100644 --- a/server/src/api/save.ts +++ b/server/src/api/save.ts @@ -27,7 +27,7 @@ export const definition = define({ method: "post", }) -export const handler = /* @__PURE__ */ procedure(schema, definition, { +export const handler = procedure(schema, definition, { async handler(request, reply) { request.log.info(`Received: ${JSON.stringify(request.body)}`) setTimeout(() => {