@lobb-js/lobb-ext-storage 0.8.2 โ†’ 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/extension.types.d.ts +25 -0
  2. package/dist/extension.types.js +1 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.js +25 -0
  5. package/dist/lib/components/childrenFileExplorer.svelte +12 -0
  6. package/dist/lib/components/childrenFileExplorer.svelte.d.ts +14 -0
  7. package/dist/lib/components/explorerNotSupported.svelte +13 -0
  8. package/dist/lib/components/explorerNotSupported.svelte.d.ts +14 -0
  9. package/dist/lib/components/fileExplorer.svelte +399 -0
  10. package/dist/lib/components/fileExplorer.svelte.d.ts +22 -0
  11. package/dist/lib/components/fileIcon.svelte +45 -0
  12. package/dist/lib/components/fileIcon.svelte.d.ts +14 -0
  13. package/dist/lib/components/fileManagerBreadCrumbs.svelte +50 -0
  14. package/dist/lib/components/fileManagerBreadCrumbs.svelte.d.ts +14 -0
  15. package/dist/lib/components/foreignKeyComponent.svelte +44 -0
  16. package/dist/lib/components/foreignKeyComponent.svelte.d.ts +14 -0
  17. package/dist/lib/components/pages/fileExplorerPage.svelte +66 -0
  18. package/dist/lib/components/pages/fileExplorerPage.svelte.d.ts +14 -0
  19. package/dist/lib/index.d.ts +0 -0
  20. package/dist/lib/index.js +2 -0
  21. package/dist/lib/utils.d.ts +12 -0
  22. package/dist/lib/utils.js +5 -0
  23. package/dist/tests/fileManager.spec.d.ts +1 -0
  24. package/dist/tests/fileManager.spec.js +18 -0
  25. package/dist/tests/package.json +1 -0
  26. package/dist/tests/playwright.config.cjs +27 -0
  27. package/dist/tests/playwright.config.d.cts +2 -0
  28. package/package.json +7 -3
  29. package/.github/workflows/create_tag_on_version_change.yaml +0 -45
  30. package/.github/workflows/publish_npm_package.yaml +0 -26
  31. package/.vscode/settings.json +0 -5
  32. package/CHANGELOG.md +0 -207
  33. package/lobb.ts +0 -54
  34. package/scripts/postpublish.sh +0 -12
  35. package/scripts/prepublish.sh +0 -17
  36. package/studio/app.html +0 -12
  37. package/studio/routes/+layout.svelte +0 -7
  38. package/studio/routes/+layout.ts +0 -1
  39. package/studio/routes/[...path]/+page.svelte +0 -6
  40. package/svelte.config.js +0 -24
  41. package/todo.md +0 -36
  42. package/tsconfig.app.json +0 -27
  43. package/tsconfig.json +0 -13
  44. package/tsconfig.node.json +0 -26
  45. package/vite.config.ts +0 -8
@@ -0,0 +1,44 @@
1
+ <script lang="ts">
2
+ import type { ExtensionProps } from "@lobb-js/studio";
3
+ import FileExplorer, { type Entry } from "./fileExplorer.svelte";
4
+ import FileIcon from "./fileIcon.svelte";
5
+
6
+ interface Props extends ExtensionProps {
7
+ value: Entry;
8
+ }
9
+
10
+ let { utils, value = $bindable(), ...props }: Props = $props();
11
+
12
+ const { FilePlus2 } = utils.components.Icons;
13
+ const { Drawer } = utils.components;
14
+
15
+ let openDrawer = $state(false);
16
+
17
+ function handleClick() {
18
+ openDrawer = true;
19
+ }
20
+
21
+ async function onHideHandle() {
22
+ openDrawer = false;
23
+ }
24
+
25
+ async function handleOnFileSelect(entry: Entry) {
26
+ value = entry;
27
+ openDrawer = false;
28
+ }
29
+ </script>
30
+
31
+ <button onclick={handleClick} class="flex flex-col items-center gap-2 w-full border p-4 rounded-md bg-muted/30">
32
+ {#if value}
33
+ <FileIcon entry={value} {utils} />
34
+ {:else}
35
+ <FilePlus2 class="text-muted-foreground" />
36
+ <div class="text-sm text-muted-foreground">Click to add an asset</div>
37
+ {/if}
38
+ </button>
39
+
40
+ {#if openDrawer}
41
+ <Drawer onHide={onHideHandle}>
42
+ <FileExplorer onFileSelect={handleOnFileSelect} utils={utils} {...props} />
43
+ </Drawer>
44
+ {/if}
@@ -0,0 +1,14 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ [evt: string]: CustomEvent<any>;
6
+ };
7
+ slots: {};
8
+ };
9
+ export type ForeignKeyComponentProps = typeof __propDef.props;
10
+ export type ForeignKeyComponentEvents = typeof __propDef.events;
11
+ export type ForeignKeyComponentSlots = typeof __propDef.slots;
12
+ export default class ForeignKeyComponent extends SvelteComponentTyped<ForeignKeyComponentProps, ForeignKeyComponentEvents, ForeignKeyComponentSlots> {
13
+ }
14
+ export {};
@@ -0,0 +1,66 @@
1
+ <script lang="ts">
2
+ import type { ExtensionProps } from "@lobb-js/studio";
3
+
4
+ import { Sidebar, SidebarTrigger, Icons } from "@lobb-js/studio";
5
+ import FileExplorer, { type Entry } from "../fileExplorer.svelte";
6
+ import path from "path-browserify"
7
+ import { onMount } from "svelte";
8
+
9
+ const props: ExtensionProps = $props();
10
+ let { utils } = props;
11
+ const { location: routerLocation } = utils;
12
+ let sidebarData: any | null = $state(null);
13
+ let location: string = $state("/");
14
+
15
+ onMount(() => {
16
+ getSidebarData();
17
+ updateExplorerLocationFromRouter(routerLocation);
18
+ })
19
+
20
+ $effect(() => {
21
+ updateRouterLocationFromExplorer(location);
22
+ })
23
+
24
+ async function updateExplorerLocationFromRouter(localLocation: typeof routerLocation) {
25
+ const fileExplorerPath = localLocation.url.pathname.replace('/studio/extensions/storage/file_manager', '');
26
+ location = fileExplorerPath ? fileExplorerPath : "/";
27
+ }
28
+
29
+ async function updateRouterLocationFromExplorer(localLocation: string) {
30
+ const newPath = `/studio/extensions/storage/file_manager${localLocation}`;
31
+ if (routerLocation.url.pathname !== newPath) {
32
+ routerLocation.navigate(newPath);
33
+ }
34
+ }
35
+
36
+ async function getSidebarData() {
37
+ const response = await utils.lobb.findAll("storage_fs", {
38
+ filter: {
39
+ type: "directory",
40
+ is_pinned_sidebar: {
41
+ $eq: true,
42
+ },
43
+ },
44
+ });
45
+ const result = await response.json();
46
+ const entries = result.data;
47
+
48
+ sidebarData = entries.map((el: Entry): any => {
49
+ return {
50
+ name: el.name,
51
+ icon: Icons.Folder,
52
+ onclick: () => {
53
+ location = path.join(el.path, el.name);
54
+ }
55
+ };
56
+ });
57
+ }
58
+ </script>
59
+
60
+ <Sidebar title="Storage" data={sidebarData}>
61
+ <FileExplorer bind:location={location} {...props}>
62
+ {#snippet topLeftHeader()}
63
+ <SidebarTrigger />
64
+ {/snippet}
65
+ </FileExplorer>
66
+ </Sidebar>
@@ -0,0 +1,14 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ [evt: string]: CustomEvent<any>;
6
+ };
7
+ slots: {};
8
+ };
9
+ export type FileExplorerPageProps = typeof __propDef.props;
10
+ export type FileExplorerPageEvents = typeof __propDef.events;
11
+ export type FileExplorerPageSlots = typeof __propDef.slots;
12
+ export default class FileExplorerPage extends SvelteComponentTyped<FileExplorerPageProps, FileExplorerPageEvents, FileExplorerPageSlots> {
13
+ }
14
+ export {};
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ // place files you want to import through the `$lib` alias in this folder.
@@ -0,0 +1,12 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ export type WithoutChild<T> = T extends {
4
+ child?: any;
5
+ } ? Omit<T, "child"> : T;
6
+ export type WithoutChildren<T> = T extends {
7
+ children?: any;
8
+ } ? Omit<T, "children"> : T;
9
+ export type WithoutChildrenOrChild<T> = WithoutChildren<WithoutChild<T>>;
10
+ export type WithElementRef<T, U extends HTMLElement = HTMLElement> = T & {
11
+ ref?: U | null;
12
+ };
@@ -0,0 +1,5 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { test, expect } from "@playwright/test";
2
+ const FILE_MANAGER_URL = "/studio/extensions/storage/file_manager";
3
+ test.describe("File Manager page", () => {
4
+ test.beforeEach(async ({ page }) => {
5
+ await page.goto(FILE_MANAGER_URL);
6
+ });
7
+ test("loads the file manager page", async ({ page }) => {
8
+ await expect(page).toHaveURL(new RegExp(FILE_MANAGER_URL));
9
+ });
10
+ test("shows the file manager nav link in the sidebar", async ({ page }) => {
11
+ await expect(page.locator(`a[href="${FILE_MANAGER_URL}"]`)).toBeVisible();
12
+ });
13
+ test("file manager page is accessible from the nav", async ({ page }) => {
14
+ await page.goto("/studio");
15
+ await page.locator(`a[href="${FILE_MANAGER_URL}"]`).click();
16
+ await expect(page).toHaveURL(new RegExp(FILE_MANAGER_URL));
17
+ });
18
+ });
@@ -0,0 +1 @@
1
+ {"type": "commonjs"}
@@ -0,0 +1,27 @@
1
+ const { defineConfig, devices } = require("@playwright/test");
2
+
3
+ module.exports = defineConfig({
4
+ testDir: __dirname,
5
+ testMatch: "**/*.spec.ts",
6
+ fullyParallel: true,
7
+ retries: 0,
8
+ expect: { timeout: 15000 },
9
+ use: {
10
+ baseURL: "http://localhost:3000",
11
+ trace: "on-first-retry",
12
+ headless: true,
13
+ },
14
+ projects: [
15
+ {
16
+ name: "chromium",
17
+ use: { ...devices["Desktop Chrome"] },
18
+ },
19
+ ],
20
+ // Automatically start the dev server before running tests
21
+ webServer: {
22
+ command: "bun run dev",
23
+ url: "http://localhost:3000/studio",
24
+ reuseExistingServer: true,
25
+ cwd: "../../../../", // packages/storage-ext root
26
+ },
27
+ });
@@ -0,0 +1,2 @@
1
+ declare const _exports: import("@playwright/test").Config<import("@playwright/test").PlaywrightTestOptions & {}, import("@playwright/test").PlaywrightWorkerOptions & {}>;
2
+ export = _exports;
package/package.json CHANGED
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "name": "@lobb-js/lobb-ext-storage",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "license": "AGPL-3.0-only",
5
5
  "type": "module",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
+ "files": [
10
+ "extensions",
11
+ "dist"
12
+ ],
9
13
  "exports": {
10
14
  ".": "./extensions/storage/index.ts",
11
15
  "./studio": {
@@ -30,14 +34,14 @@
30
34
  "build:studio": "vite build"
31
35
  },
32
36
  "dependencies": {
33
- "@lobb-js/core": "0.13.2",
37
+ "@lobb-js/core": "^0.13.3",
34
38
  "browser-fs-access": "^0.35.0",
35
39
  "hono": "^4.7.0",
36
40
  "openapi-types": "^12.1.3",
37
41
  "path-browserify": "^1.0.1"
38
42
  },
39
43
  "devDependencies": {
40
- "@lobb-js/studio": "0.7.1",
44
+ "@lobb-js/studio": "^0.7.3",
41
45
  "@lucide/svelte": "^0.563.1",
42
46
  "@playwright/test": "^1.58.2",
43
47
  "@sveltejs/adapter-node": "^5.5.4",
@@ -1,45 +0,0 @@
1
- name: Create Tag on Version Change
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- jobs:
9
- check-version-and-tag:
10
- runs-on: ubuntu-latest
11
- permissions:
12
- contents: write
13
- outputs:
14
- current_version: ${{ steps.current_version.outputs.current_version }}
15
- previous_version: ${{ steps.previous_version.outputs.previous_version }}
16
- steps:
17
- - name: Checkout repository
18
- uses: actions/checkout@v4
19
- with:
20
- fetch-depth: 0
21
-
22
- - name: Get previous version
23
- id: previous_version
24
- run: |
25
- PREV_VERSION=$(git show HEAD^:package.json | jq -r .version || echo "none")
26
- echo "previous_version=$PREV_VERSION" >> "$GITHUB_OUTPUT"
27
-
28
- - name: Get current version
29
- id: current_version
30
- run: |
31
- CURR_VERSION=$(jq -r .version package.json)
32
- echo "current_version=$CURR_VERSION" >> "$GITHUB_OUTPUT"
33
-
34
- - name: Create tag
35
- if: steps.previous_version.outputs.previous_version != steps.current_version.outputs.current_version
36
- uses: rickstaa/action-create-tag@v1
37
- with:
38
- tag: "${{ steps.current_version.outputs.current_version }}"
39
-
40
- publish-to-npm:
41
- name: Publish to npm
42
- needs: check-version-and-tag
43
- if: needs.check-version-and-tag.outputs.previous_version != needs.check-version-and-tag.outputs.current_version
44
- uses: maliknajjar/lobb_storage_ext/.github/workflows/publish_npm_package.yaml@main
45
- secrets: inherit
@@ -1,26 +0,0 @@
1
- name: publish package to npm
2
-
3
- on:
4
- workflow_call:
5
-
6
- jobs:
7
- publish:
8
- runs-on: ubuntu-latest
9
- permissions:
10
- contents: read
11
- id-token: write
12
- steps:
13
- - uses: actions/checkout@v4
14
- - name: Setup Node.js
15
- uses: actions/setup-node@v4
16
- with:
17
- node-version: '24'
18
- registry-url: 'https://registry.npmjs.org'
19
- - name: Setup Bun
20
- uses: oven-sh/setup-bun@v2
21
- - name: Install jq
22
- run: sudo apt-get update && sudo apt-get install -y jq
23
- - name: Install dependencies
24
- run: bun install
25
- - name: Publish to npm
26
- run: npm publish --access public
@@ -1,5 +0,0 @@
1
- {
2
- "deno.disablePaths": [
3
- "studio"
4
- ]
5
- }
package/CHANGELOG.md DELETED
@@ -1,207 +0,0 @@
1
- # Changelog
2
- All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
3
-
4
- - - -
5
- ## storage-ext@0.8.2 - 2026-03-28
6
- #### Bug Fixes
7
- - triggering the core package publish - (f0a8b54) - malik ben
8
-
9
- - - -
10
-
11
- ## storage-ext@0.8.1 - 2026-03-28
12
- #### Bug Fixes
13
- - adding readme to all packages - (3a9264a) - malik ben
14
- #### Miscellaneous Chores
15
- - add publishConfig and fix ext packages for npm publishing - (49747e9) - malik ben
16
-
17
- - - -
18
-
19
- ## storage-ext@0.8.0 - 2026-03-28
20
- #### Features
21
- - (**reports-ext,storage-ext**) convert studio from Svelte SPA to SvelteKit - (3cd7f63) - malik ben
22
- - (**storage-ext**) migrate packages/storage-ext from Deno to Bun - (a4e6bc6) - malik ben
23
- - replace hasDashboardExtension with virtual:lobb-studio-extensions module - (437cb2e) - malik ben
24
- #### Bug Fixes
25
- - add /studio subpath exports to ext packages, update studio pages to use them - (c0b9a82) - malik ben
26
- - untrack .svelte-kit from mindhar, fix process leak and $lib imports, update ai sdk versions - (017f784) - malik ben
27
- - chaning $lib to relative path - (c6d9e8f) - malik ben
28
- #### Miscellaneous Chores
29
- - (**storage-ext**) move extension logic and tests to extensions/storage, flatten studio, add Playwright tests - (a27a46d) - malik ben
30
- - (**version**) 0.25.2 - (a62acb9) - Cocogitto Bot
31
- - (**version**) 0.25.1 - (afe7e69) - Cocogitto Bot
32
- - (**version**) 0.25.0 - (77a383c) - Cocogitto Bot
33
- - (**version**) 0.24.0 - (a8cb605) - Cocogitto Bot
34
- - (**version**) 0.23.0 - (60f357e) - Cocogitto Bot
35
- - add dev:studio/build:studio scripts, fix Dockerfiles, remove --build flag - (1595975) - malik ben
36
- - migrate CI/CD from Deno/JSR to Bun/npm - (b4cc3bc) - malik ben
37
- - add prepublish/postpublish scripts to extension packages for standalone compatibility - (4d6108f) - malik ben
38
- - centralize studio app.css in @lobb-js/studio package, remove local copies - (05192dc) - malik ben
39
- - rename @lobb/ scope to @lobb-js/ across all packages and apps - (cce4ce0) - malik ben
40
- - add start/build scripts and gitignore build dir across all projects - (58f539d) - malik ben
41
- - update CLAUDE.md to enforce no-commit-without-explicit-instruction rule - (6d63a42) - malik ben
42
- - remove all deno.json and deno.lock files from the monorepo - (84ca5d4) - malik ben
43
- - replace workspace:* with exact versions in all package.json files - (74fbdb7) - malik ben
44
- - rename __studio to studio and remove unused studio dirs - (77fb932) - malik ben
45
- - rename studio directory to __studio for faker-ext, llm-ext, mail-ext, reports-ext, storage-ext - (47e754a) - malik ben
46
-
47
- - - -
48
-
49
- ## storage-ext@0.7.1 - 2026-03-03
50
- #### Bug Fixes
51
- - (**storage-ext**) use ctx.lobb instead of Lobb.instance, add extra form data test - (27101f7) - malik ben
52
- - (**storage-ext**) fix tests to work from project root and fix foreignKeyObject persistence on file upload - (4b5bdd8) - malik ben
53
- #### Miscellaneous Chores
54
- - (**version**) 0.20.0 - (06cc303) - Cocogitto Bot
55
-
56
- - - -
57
-
58
- ## storage-ext@0.7.0 - 2026-03-01
59
- #### Features
60
- - (**mindhar**) add storage extension integration - (bca6368) - malik ben
61
- #### Miscellaneous Chores
62
- - (**version**) 0.18.0 - (efc553f) - Cocogitto Bot
63
- - (**version**) 0.17.0 - (4174f0c) - Cocogitto Bot
64
- - (**version**) 0.16.0 - (9508655) - Cocogitto Bot
65
- - (**version**) 0.14.11 - (ad92b61) - Cocogitto Bot
66
-
67
- - - -
68
-
69
- ## storage-ext@0.6.8 - 2026-02-25
70
- #### Bug Fixes
71
- - publishing the storage extension - (033ab43) - Malik Najjar
72
- #### Miscellaneous Chores
73
- - filling some logic in the chat compoenent and adding the force feature - (5cd0dc8) - Malik Najjar
74
- - fixing the deleteOne and deleteMany tests - (0e42622) - Malik Najjar
75
- - making the directories test pass - (4229229) - Malik Najjar
76
- - making the files tests pass - (f312a3a) - Malik Najjar
77
- - passing more tests - (93ee276) - Malik Najjar
78
- - adding a todo for the storage extension - (cb68710) - malik ben
79
- - implementing the store using the new nice way - (106b320) - Malik Najjar
80
-
81
- - - -
82
-
83
- ## storage-ext@0.6.7 - 2026-02-23
84
- #### Bug Fixes
85
- - the core broke because of the override events - (f650f4c) - Malik Najjar
86
- #### Miscellaneous Chores
87
- - adding the ability to specify input and output types for the collectionServices methods - (72045f1) - Malik Najjar
88
- - adding neccessary override events and workflows for the storage extension - (f09698f) - Malik Najjar
89
-
90
- - - -
91
-
92
- ## storage-ext@0.6.6 - 2026-02-23
93
- #### Bug Fixes
94
- - lobb crashing on missing event fix - (e0a9a75) - Malik Najjar
95
-
96
- - - -
97
-
98
- ## storage-ext@0.6.5 - 2026-02-23
99
- #### Bug Fixes
100
- - lobb crashed because of this non existing event - (0aa47c9) - Malik Najjar
101
-
102
- - - -
103
-
104
- ## storage-ext@0.6.4 - 2026-02-22
105
- #### Bug Fixes
106
- - coggito publishing packages order fix - (573c75e) - malik ben
107
-
108
- - - -
109
-
110
- ## storage-ext@0.6.3 - 2026-02-22
111
- #### Bug Fixes
112
- - adjusted the names of the events - (6543d8c) - malik ben
113
-
114
- - - -
115
-
116
- ## storage-ext@0.6.2 - 2026-02-22
117
- #### Bug Fixes
118
- - made the collectionService become an property in the main lobb object - (146e4cb) - malik ben
119
-
120
- - - -
121
-
122
- ## storage-ext@0.6.1 - 2026-02-21
123
- #### Bug Fixes
124
- - using default export instead of named export for extensions - (37dd485) - malik ben
125
- #### Miscellaneous Chores
126
- - (**version**) 0.13.2 - (39b0145) - Cocogitto Bot
127
- - (**version**) 0.12.3 - (cd06fc0) - Cocogitto Bot
128
- - (**version**) 0.12.2 - (35b2ff3) - Cocogitto Bot
129
- - (**version**) 0.12.1 - (c548105) - Cocogitto Bot
130
- - (**version**) 0.11.1 - (659ebd3) - Cocogitto Bot
131
- - adding a comment - (c5c603b) - Malik Najjar
132
-
133
- - - -
134
-
135
- ## storage-ext@0.6.0 - 2026-02-17
136
- #### Features
137
- - implement event overrides for collection creation and update workflows - (8a05d74) - Malik Najjar
138
-
139
- - - -
140
-
141
- ## storage-ext@0.5.3 - 2026-02-17
142
- #### Bug Fixes
143
- - fixing the publishing issue - (f4d1641) - Malik Najjar
144
-
145
- - - -
146
-
147
- ## storage-ext@0.5.2 - 2026-02-17
148
- #### Bug Fixes
149
- - publishing the storage studio - (d7dd43e) - Malik Najjar
150
- #### Miscellaneous Chores
151
- - (**version**) 0.10.2 - (2c92a7d) - Cocogitto Bot
152
-
153
- - - -
154
-
155
- ## storage-ext@0.5.1 - 2026-02-17
156
- #### Bug Fixes
157
- - fixing the storage publish issue - (b75d8d1) - Malik Najjar
158
-
159
- - - -
160
-
161
- ## storage-ext@0.5.0 - 2026-02-17
162
- #### Features
163
- - implement storage workflows and controllers for file management - (b9efd0f) - Malik Najjar
164
- #### Bug Fixes
165
- - update the auth extension - (5318dda) - Malik Najjar
166
- #### Miscellaneous Chores
167
- - added important todo to the storage extension - (43d0bec) - Malik Najjar
168
- - seperating types from the services file - (8c7bdce) - Malik Najjar
169
-
170
- - - -
171
-
172
- ## storage-ext@0.4.0 - 2026-02-16
173
- #### Features
174
- - adding the ability to upload files in the ui - (1d7b346) - Malik Najjar
175
- - update event name in storage workflow and enhance Instagram webhook file handling - (a0cb186) - Malik Najjar
176
-
177
- - - -
178
-
179
- ## storage-ext@0.3.0 - 2026-02-16
180
- #### Features
181
- - enhance storage services with URL file creation and path validation - (1a33fa6) - Malik Najjar
182
-
183
- - - -
184
-
185
- ## storage-ext@0.2.0 - 2026-02-16
186
- #### Features
187
- - implement storage adapter and services, refactor workflows - (abd9ee5) - Malik Najjar
188
-
189
- - - -
190
-
191
- ## storage-ext@0.1.29 - 2026-02-15
192
- #### Bug Fixes
193
- - fix deno publish issue - (e8dcc4f) - malik ben
194
- - issue fix - (63d66d3) - malik ben
195
- #### Miscellaneous Chores
196
- - (**version**) 0.5.5 - (d4dedeb) - Cocogitto Bot
197
- - (**version**) 0.5.4 - (1ca3970) - Cocogitto Bot
198
- - (**version**) 0.5.3 - (dcdb9cb) - Cocogitto Bot
199
- - (**version**) 0.5.2 - (aa66e29) - Cocogitto Bot
200
- - (**version**) 0.5.1 - (41b7c35) - Cocogitto Bot
201
- - (**version**) 0.5.0 - (af63147) - Cocogitto Bot
202
- - (**version**) 0.4.4 - (eaed3b4) - Cocogitto Bot
203
- - (**version**) 0.4.3 - (ea9ec49) - Cocogitto Bot
204
-
205
- - - -
206
-
207
- Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).
package/lobb.ts DELETED
@@ -1,54 +0,0 @@
1
- import { Lobb } from "@lobb-js/core";
2
- import { storage } from "./extensions/storage/index.ts";
3
-
4
- Lobb.init({
5
- project: {
6
- name: "Storage Extension Test",
7
- force_sync: true,
8
- },
9
- database: {
10
- host: Bun.env.DATABASE_HOST ?? "localhost",
11
- port: Number(Bun.env.DATABASE_PORT ?? 5432),
12
- username: Bun.env.DATABASE_USER ?? "test",
13
- password: Bun.env.DATABASE_PASSWORD ?? "test",
14
- database: Bun.env.DATABASE_NAME ?? "storage_ext",
15
- },
16
- web_server: {
17
- host: Bun.env.WEB_SERVER_HOST ?? "0.0.0.0",
18
- port: Number(Bun.env.WEB_SERVER_PORT ?? 3000),
19
- cors: {
20
- origin: "*",
21
- },
22
- },
23
- extensions: [
24
- storage({
25
- adapter: "local",
26
- storagePath: "./storage",
27
- }),
28
- ],
29
- collections: {
30
- articles: {
31
- indexes: {},
32
- fields: {
33
- id: {
34
- type: "integer",
35
- },
36
- image: {
37
- type: "string",
38
- length: 255,
39
- },
40
- title: {
41
- type: "string",
42
- length: 255,
43
- validators: {
44
- required: true,
45
- },
46
- },
47
- body: {
48
- type: "string",
49
- length: 255,
50
- },
51
- },
52
- },
53
- },
54
- });
@@ -1,12 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Postpublish script for @lobb-js/lobb-ext-storage
4
- # Reverts package.json exports and cleans dist to avoid uncommitted changes
5
-
6
- echo "๐Ÿ“ Reverting package.json exports to development mode..."
7
- jq '."exports"["./studio"] = "./extensions/storage/studio/index.ts"' package.json > package.json.tmp && mv package.json.tmp package.json
8
-
9
- echo "๐Ÿงน Cleaning dist directory..."
10
- rm -rf dist
11
-
12
- echo "โœ… Postpublish complete"
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Prepublish script for @lobb-js/lobb-ext-storage
4
- # Builds the studio package and updates exports for publishing
5
-
6
- echo "๐Ÿ“ฆ Building studio package..."
7
- bun run package
8
-
9
- if [ $? -ne 0 ]; then
10
- echo "โŒ Build failed"
11
- exit 1
12
- fi
13
-
14
- echo "๐Ÿ“ Updating package.json exports for publishing..."
15
- jq '."exports"["./studio"] = {"svelte": "./dist/index.js", "types": "./dist/index.d.ts"}' package.json > package.json.tmp && mv package.json.tmp package.json
16
-
17
- echo "โœ… Prepublish complete"
package/studio/app.html DELETED
@@ -1,12 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <link rel="icon" href="%sveltekit.assets%/vite.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1" />
7
- %sveltekit.head%
8
- </head>
9
- <body data-sveltekit-preload-data="hover">
10
- <div style="display: contents">%sveltekit.body%</div>
11
- </body>
12
- </html>
@@ -1,7 +0,0 @@
1
- <script lang="ts">
2
- import "@lobb-js/studio/app.css";
3
-
4
- let { children } = $props();
5
- </script>
6
-
7
- {@render children()}
@@ -1 +0,0 @@
1
- export const ssr = false;
@@ -1,6 +0,0 @@
1
- <script lang="ts">
2
- import { Studio } from "@lobb-js/studio";
3
- import { env } from "$env/dynamic/public";
4
- </script>
5
-
6
- <Studio lobbUrl={env.PUBLIC_LOBB_URL} />