@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.
- package/dist/extension.types.d.ts +25 -0
- package/dist/extension.types.js +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +25 -0
- package/dist/lib/components/childrenFileExplorer.svelte +12 -0
- package/dist/lib/components/childrenFileExplorer.svelte.d.ts +14 -0
- package/dist/lib/components/explorerNotSupported.svelte +13 -0
- package/dist/lib/components/explorerNotSupported.svelte.d.ts +14 -0
- package/dist/lib/components/fileExplorer.svelte +399 -0
- package/dist/lib/components/fileExplorer.svelte.d.ts +22 -0
- package/dist/lib/components/fileIcon.svelte +45 -0
- package/dist/lib/components/fileIcon.svelte.d.ts +14 -0
- package/dist/lib/components/fileManagerBreadCrumbs.svelte +50 -0
- package/dist/lib/components/fileManagerBreadCrumbs.svelte.d.ts +14 -0
- package/dist/lib/components/foreignKeyComponent.svelte +44 -0
- package/dist/lib/components/foreignKeyComponent.svelte.d.ts +14 -0
- package/dist/lib/components/pages/fileExplorerPage.svelte +66 -0
- package/dist/lib/components/pages/fileExplorerPage.svelte.d.ts +14 -0
- package/dist/lib/index.d.ts +0 -0
- package/dist/lib/index.js +2 -0
- package/dist/lib/utils.d.ts +12 -0
- package/dist/lib/utils.js +5 -0
- package/dist/tests/fileManager.spec.d.ts +1 -0
- package/dist/tests/fileManager.spec.js +18 -0
- package/dist/tests/package.json +1 -0
- package/dist/tests/playwright.config.cjs +27 -0
- package/dist/tests/playwright.config.d.cts +2 -0
- package/package.json +7 -3
- package/.github/workflows/create_tag_on_version_change.yaml +0 -45
- package/.github/workflows/publish_npm_package.yaml +0 -26
- package/.vscode/settings.json +0 -5
- package/CHANGELOG.md +0 -207
- package/lobb.ts +0 -54
- package/scripts/postpublish.sh +0 -12
- package/scripts/prepublish.sh +0 -17
- package/studio/app.html +0 -12
- package/studio/routes/+layout.svelte +0 -7
- package/studio/routes/+layout.ts +0 -1
- package/studio/routes/[...path]/+page.svelte +0 -6
- package/svelte.config.js +0 -24
- package/todo.md +0 -36
- package/tsconfig.app.json +0 -27
- package/tsconfig.json +0 -13
- package/tsconfig.node.json +0 -26
- 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,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 @@
|
|
|
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
|
+
});
|
package/package.json
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobb-js/lobb-ext-storage",
|
|
3
|
-
"version": "0.8.
|
|
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.
|
|
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.
|
|
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
|
package/.vscode/settings.json
DELETED
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
|
-
});
|
package/scripts/postpublish.sh
DELETED
|
@@ -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"
|
package/scripts/prepublish.sh
DELETED
|
@@ -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>
|
package/studio/routes/+layout.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const ssr = false;
|