From d25baac4a6b35dc426d91192126ab71c2860281e Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 10 Mar 2025 10:46:48 +0100 Subject: [PATCH 1/9] check:types on client --- package.json | 3 ++- packages/builder/package.json | 1 - packages/client/package.json | 3 ++- packages/frontend-core/package.json | 3 --- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 1475abadf9..d083dbad90 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "eslint-plugin-jest": "28.9.0", "eslint-plugin-local-rules": "3.0.2", "eslint-plugin-svelte": "2.46.1", - "svelte-preprocess": "^6.0.3", "husky": "^8.0.3", "kill-port": "^1.6.1", "lerna": "7.4.2", @@ -29,7 +28,9 @@ "prettier-plugin-svelte": "^2.3.0", "proper-lockfile": "^4.1.2", "svelte": "4.2.19", + "svelte-check": "^4.1.5", "svelte-eslint-parser": "0.43.0", + "svelte-preprocess": "^6.0.3", "typescript": "5.7.2", "typescript-eslint": "8.17.0", "yargs": "^17.7.2" diff --git a/packages/builder/package.json b/packages/builder/package.json index a70d19209e..ee121cdf14 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -100,7 +100,6 @@ "jest": "29.7.0", "jsdom": "^21.1.1", "resize-observer-polyfill": "^1.5.1", - "svelte-check": "^4.1.0", "svelte-jester": "^1.3.2", "vite": "^4.5.0", "vite-plugin-static-copy": "^0.17.0", diff --git a/packages/client/package.json b/packages/client/package.json index a7ea04fd0b..daaf0ca433 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -16,7 +16,8 @@ }, "scripts": { "build": "vite build", - "dev": "vite build --watch --mode=dev" + "dev": "vite build --watch --mode=dev", + "check:types": "yarn svelte-check" }, "dependencies": { "@budibase/bbui": "*", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index b1f311183a..25c464d49c 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -16,8 +16,5 @@ "lodash": "4.17.21", "shortid": "2.2.15", "socket.io-client": "^4.7.5" - }, - "devDependencies": { - "svelte-check": "^4.1.0" } } diff --git a/yarn.lock b/yarn.lock index 5173e81408..7b855ecf15 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20499,10 +20499,10 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svelte-check@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-4.1.0.tgz#4389c1c88aa24f3d06fe0df94f9075a55017256d" - integrity sha512-AflEZYqI578KuDZcpcorPSf597LStxlkN7XqXi38u09zlHODVKd7c+7OuubGzbhgGRUqNTdQCZ+Ga96iRXEf2g== +svelte-check@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-4.1.5.tgz#afdb3f8050c123064124d5aa7821365c7befa7a4" + integrity sha512-Gb0T2IqBNe1tLB9EB1Qh+LOe+JB8wt2/rNBDGvkxQVvk8vNeAoG+vZgFB/3P5+zC7RWlyBlzm9dVjZFph/maIg== dependencies: "@jridgewell/trace-mapping" "^0.3.25" chokidar "^4.0.1" From 035bb54cb387665308ba056656a0833b00fecf55 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 10 Mar 2025 11:33:44 +0100 Subject: [PATCH 2/9] Enable verbatimModuleSyntax --- packages/client/tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/client/tsconfig.json b/packages/client/tsconfig.json index ab07343525..8672edcd16 100644 --- a/packages/client/tsconfig.json +++ b/packages/client/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "verbatimModuleSyntax": true, "allowJs": true, "strict": true, "outDir": "dist", From dd6320ec0f0af15eb60d3cfb6640e6077627e5f8 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 10 Mar 2025 12:00:46 +0100 Subject: [PATCH 3/9] Fix typings --- .../client/src/components/preview/DNDHandler.svelte | 12 ++++++------ .../src/components/preview/GridDNDHandler.svelte | 3 ++- packages/client/src/stores/builder.ts | 2 +- packages/client/tsconfig.json | 1 - packages/frontend-core/src/index.ts | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/client/src/components/preview/DNDHandler.svelte b/packages/client/src/components/preview/DNDHandler.svelte index abb5925eed..015279314a 100644 --- a/packages/client/src/components/preview/DNDHandler.svelte +++ b/packages/client/src/components/preview/DNDHandler.svelte @@ -6,7 +6,7 @@ import { findComponentById } from "@/utils/components.js" import { isGridEvent } from "@/utils/grid" import { DNDPlaceholderID } from "@/constants" - import type { Component } from "@budibase/types" + import { Component, DropPosition } from "@budibase/types" type ChildCoords = { placeholder: boolean @@ -287,7 +287,7 @@ } // Convert parent + index into target + mode - let legacyDropTarget, legacyDropMode + let legacyDropTarget, legacyDropMode: DropPosition const parent: Component | null = findComponentById( get(screenStore).activeScreen?.props, drop.parent @@ -309,16 +309,16 @@ // Use inside if no existing children if (!children?.length) { legacyDropTarget = parent._id - legacyDropMode = "inside" + legacyDropMode = DropPosition.INSIDE } else if (drop.index === 0) { legacyDropTarget = children[0]?._id - legacyDropMode = "above" + legacyDropMode = DropPosition.ABOVE } else { legacyDropTarget = children[drop.index - 1]?._id - legacyDropMode = "below" + legacyDropMode = DropPosition.BELOW } - if (legacyDropTarget && legacyDropMode) { + if (legacyDropTarget && legacyDropMode && source.id) { dropping = true await builderStore.actions.moveComponent( source.id, diff --git a/packages/client/src/components/preview/GridDNDHandler.svelte b/packages/client/src/components/preview/GridDNDHandler.svelte index e5297e9208..73a55b8ab3 100644 --- a/packages/client/src/components/preview/GridDNDHandler.svelte +++ b/packages/client/src/components/preview/GridDNDHandler.svelte @@ -17,6 +17,7 @@ Devices, GridDragMode, } from "@/utils/grid" + import { DropPosition } from "@budibase/types" type GridDragSide = | "top" @@ -222,7 +223,7 @@ // If holding ctrl/cmd then leave behind a duplicate of this component if (mode === GridDragMode.Move && (e.ctrlKey || e.metaKey)) { - builderStore.actions.duplicateComponent(id, "above", false) + builderStore.actions.duplicateComponent(id, DropPosition.ABOVE, false) } // Find grid parent and read from DOM diff --git a/packages/client/src/stores/builder.ts b/packages/client/src/stores/builder.ts index 36ba7fffb8..9c23395cf6 100644 --- a/packages/client/src/stores/builder.ts +++ b/packages/client/src/stores/builder.ts @@ -115,7 +115,7 @@ const createBuilderStore = () => { component: string, parent: string, index: number, - props: Record + props?: Record ) => { eventStore.actions.dispatchEvent("drop-new-component", { component, diff --git a/packages/client/tsconfig.json b/packages/client/tsconfig.json index 8672edcd16..ab07343525 100644 --- a/packages/client/tsconfig.json +++ b/packages/client/tsconfig.json @@ -1,6 +1,5 @@ { "compilerOptions": { - "verbatimModuleSyntax": true, "allowJs": true, "strict": true, "outDir": "dist", diff --git a/packages/frontend-core/src/index.ts b/packages/frontend-core/src/index.ts index cd668b77e7..768bd7b70a 100644 --- a/packages/frontend-core/src/index.ts +++ b/packages/frontend-core/src/index.ts @@ -1,6 +1,6 @@ export { createAPIClient } from "./api" export type { APIClient } from "./api" -export { fetchData, DataFetchMap } from "./fetch" +export { fetchData, DataFetchMap, type DataFetchType } from "./fetch" export * as Constants from "./constants" export * from "./stores" export * from "./utils" From 1cb87d8f1706eec121ddbbcb8f3932c1f5808fe4 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 10 Mar 2025 12:03:21 +0100 Subject: [PATCH 4/9] Fix --- packages/client/src/api/api.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/client/src/api/api.ts b/packages/client/src/api/api.ts index 564f401164..85194f6ac7 100644 --- a/packages/client/src/api/api.ts +++ b/packages/client/src/api/api.ts @@ -10,7 +10,9 @@ export const API = createAPIClient({ // Attach client specific headers attachHeaders: headers => { // Attach app ID header - headers["x-budibase-app-id"] = window["##BUDIBASE_APP_ID##"] + if (window["##BUDIBASE_APP_ID##"]) { + headers["x-budibase-app-id"] = window["##BUDIBASE_APP_ID##"] + } // Attach client header if not inside the builder preview if (!window["##BUDIBASE_IN_BUILDER##"]) { From 7483795f67f39cfeaed9d78cd66f8081143d6071 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 10 Mar 2025 12:10:56 +0100 Subject: [PATCH 5/9] Fix warn --- packages/client/src/components/app/SpectrumCard.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/client/src/components/app/SpectrumCard.svelte b/packages/client/src/components/app/SpectrumCard.svelte index 9cc8e81891..f5d4c7b217 100644 --- a/packages/client/src/components/app/SpectrumCard.svelte +++ b/packages/client/src/components/app/SpectrumCard.svelte @@ -141,6 +141,7 @@ var(--spectrum-global-dimension-size-300) ); display: -webkit-box; + line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; From 90102cca639c157507b9e6918de036e8545898a2 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 10 Mar 2025 12:28:48 +0100 Subject: [PATCH 6/9] Fix check errors --- packages/client/tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/client/tsconfig.json b/packages/client/tsconfig.json index ab07343525..f5bffcf04d 100644 --- a/packages/client/tsconfig.json +++ b/packages/client/tsconfig.json @@ -7,6 +7,7 @@ "target": "ESNext", "moduleResolution": "bundler", "resolveJsonModule": true, + "skipLibCheck": true, "paths": { "@budibase/*": [ "../*/src/index.ts", From 1964aabea86a3913301082c6d8fd5213c2efca06 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 10 Mar 2025 12:29:26 +0100 Subject: [PATCH 7/9] Configure svelte.config.mjs in frontend-core --- packages/frontend-core/svelte.config.mjs | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 packages/frontend-core/svelte.config.mjs diff --git a/packages/frontend-core/svelte.config.mjs b/packages/frontend-core/svelte.config.mjs new file mode 100644 index 0000000000..af7d74ea4b --- /dev/null +++ b/packages/frontend-core/svelte.config.mjs @@ -0,0 +1,7 @@ +import { vitePreprocess } from "@sveltejs/vite-plugin-svelte" + +const config = { + preprocess: vitePreprocess(), +} + +export default config From 1bdcb0986d65e33fa6f4ba6a77c6406f969f27af Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 10 Mar 2025 13:20:10 +0100 Subject: [PATCH 8/9] Lint --- packages/client/src/components/preview/DNDHandler.svelte | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/client/src/components/preview/DNDHandler.svelte b/packages/client/src/components/preview/DNDHandler.svelte index 015279314a..6ab58b84fa 100644 --- a/packages/client/src/components/preview/DNDHandler.svelte +++ b/packages/client/src/components/preview/DNDHandler.svelte @@ -6,7 +6,8 @@ import { findComponentById } from "@/utils/components.js" import { isGridEvent } from "@/utils/grid" import { DNDPlaceholderID } from "@/constants" - import { Component, DropPosition } from "@budibase/types" + import type { Component } from "@budibase/types" + import { DropPosition } from "@budibase/types" type ChildCoords = { placeholder: boolean From 17f737e545c7eb4b6cd8d297fd17b10e6239a01e Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 11 Mar 2025 11:00:27 +0000 Subject: [PATCH 9/9] Bump version to 3.5.0 --- lerna.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lerna.json b/lerna.json index 10e7b8cdee..a0de97dc7a 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "$schema": "node_modules/lerna/schemas/lerna-schema.json", - "version": "3.4.24", + "version": "3.5.0", "npmClient": "yarn", "concurrency": 20, "command": {