astro-integration-pocketbase 4.0.0-next.1 → 4.0.0-next.2
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/README.md +1 -0
- package/dist/toolbar.mjs +2 -2
- package/dist/toolbar.mjs.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@ This package provides an Astro toolbar for users of [astro-loader-pocketbase](ht
|
|
|
14
14
|
|
|
15
15
|
| Integration | Loader | Astro | PocketBase |
|
|
16
16
|
| ----------- | ------ | ----- | ---------- |
|
|
17
|
+
| 4.0.0 | 4.0.0 | 7.0.0 | >= 0.37.0 |
|
|
17
18
|
| 3.0.0 | 3.0.0 | 6.0.0 | >= 0.23.0 |
|
|
18
19
|
| 2.0.0 | 2.0.0 | 5.0.0 | >= 0.23.0 |
|
|
19
20
|
| 1.0.0 | 2.0.0 | 5.0.0 | >= 0.23.0 |
|
package/dist/toolbar.mjs
CHANGED
|
@@ -48,7 +48,7 @@ function createEntity(data, baseUrl) {
|
|
|
48
48
|
size="small"
|
|
49
49
|
button-style="purple"
|
|
50
50
|
title="View in PocketBase"
|
|
51
|
-
onclick="window.open('${baseUrl}/_/#/collections?collection=${data.collectionId}&
|
|
51
|
+
onclick="window.open('${baseUrl}/_/#/collections?collection=${data.collectionId}&record=${data.id}', '_blank')"
|
|
52
52
|
>
|
|
53
53
|
View in PocketBase
|
|
54
54
|
</astro-dev-toolbar-button>
|
|
@@ -59,7 +59,7 @@ function createEntity(data, baseUrl) {
|
|
|
59
59
|
}
|
|
60
60
|
//#endregion
|
|
61
61
|
//#region package.json
|
|
62
|
-
var version = "4.0.0-next.
|
|
62
|
+
var version = "4.0.0-next.2";
|
|
63
63
|
//#endregion
|
|
64
64
|
//#region src/toolbar/dom/create-header.ts
|
|
65
65
|
/**
|
package/dist/toolbar.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.mjs","names":["packageJson.version"],"sources":["../src/toolbar/dom/create-entity.ts","../package.json","../src/toolbar/dom/create-header.ts","../src/toolbar/dom/create-placeholder.ts","../src/toolbar/init-toolbar.ts","../src/toolbar/index.ts"],"sourcesContent":["import type { Entity } from \"../types/entity\";\n\n/**\n * Creates cards for the entities.\n */\nexport function createEntities(data: Array<Entity>, baseUrl: string): string {\n const groupedData = Object.groupBy(data, (data) => data.collectionName);\n const collections = Object.keys(groupedData);\n\n return /* HTML */ `\n <style>\n .collectionName {\n text-transform: capitalize;\n }\n\n .entity {\n position: relative;\n\n pre {\n margin: 0;\n overflow: auto;\n }\n\n astro-dev-toolbar-button {\n position: absolute;\n top: 0;\n right: 0;\n }\n }\n </style>\n\n ${collections\n .map(\n (collection) => /* HTML */ `\n <b class=\".collectionName\">${collection}</b>\n ${groupedData[collection]\n ?.map((entity) => createEntity(entity, baseUrl))\n .join(\"\")}\n `\n )\n .join(\"\")}\n `;\n}\n\n/**\n * Creates a card for a single entity\n */\nfunction createEntity(data: Entity, baseUrl: string): string {\n return /* HTML */ `\n <astro-dev-toolbar-card>\n <div class=\"entity\">\n <pre>${JSON.stringify(data, undefined, 2).replaceAll(\"<\", \"<\")}</pre>\n\n ${baseUrl\n ? /* HTML */ `\n <astro-dev-toolbar-button\n size=\"small\"\n button-style=\"purple\"\n title=\"View in PocketBase\"\n onclick=\"window.open('${baseUrl}/_/#/collections?collection=${data.collectionId}&recordId=${data.id}&record=${data.id}', '_blank')\"\n >\n View in PocketBase\n </astro-dev-toolbar-button>\n `\n : \"\"}\n </div>\n </astro-dev-toolbar-card>\n `;\n}\n","","import type { ToolbarServerHelpers } from \"astro\";\nimport type { DevToolbarButton } from \"astro/runtime/client/dev-toolbar/ui-library/button.js\";\nimport type { DevToolbarWindow } from \"astro/runtime/client/dev-toolbar/ui-library/window.js\";\nimport { default as packageJson } from \"../../../package.json\";\nimport type { ToolbarOptions } from \"../types/options\";\n\n/**\n * Creates the header for the PocketBase toolbar.\n */\n// oxlint-disable-next-line max-lines-per-function\nexport function createHeader(\n windowElement: DevToolbarWindow,\n server: ToolbarServerHelpers,\n { hasContentLoader, realtime }: ToolbarOptions\n): void {\n const header = windowElement.querySelector(\"header\");\n if (!header) {\n throw new Error(\"The header element is missing\");\n }\n\n header.innerHTML = /* HTML */ `\n <style>\n header {\n display: grid;\n grid-template-columns: auto auto 1fr;\n gap: 0.5rem;\n }\n\n h1 {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n color: #fff;\n margin: 0;\n font-size: 22px;\n }\n\n .actions {\n display: flex;\n align-items: start;\n justify-content: flex-end;\n gap: 0.25rem;\n\n .toggle-container {\n display: flex;\n align-items: center;\n\n label {\n font-size: 0.8rem;\n }\n }\n }\n </style>\n\n <h1>PocketBase</h1>\n <astro-dev-toolbar-badge badge-style=\"yellow\">\n ${packageJson.version}\n </astro-dev-toolbar-badge>\n\n <div class=\"actions\">\n ${realtime\n ? /* HTML */ `\n <div class=\"toggle-container\">\n <label\n for=\"real-time\"\n title=\"Enable or disable real-time updates temporarily\"\n >\n Real-time updates\n </label>\n <!-- real-time-toggle -->\n </div>\n `\n : \"\"}\n ${hasContentLoader\n ? /* HTML */ `\n <astro-dev-toolbar-button\n id=\"refresh-content\"\n size=\"small\"\n button-style=\"green\"\n title=\"Right click to force refresh every collection\"\n >\n Refresh content\n </astro-dev-toolbar-button>\n `\n : \"\"}\n </div>\n `;\n\n if (realtime) {\n // Create the toggle for real-time updates\n const realTimeToggle = document.createElement(\"astro-dev-toolbar-toggle\");\n realTimeToggle.input.id = \"real-time-toggle\";\n realTimeToggle.input.title =\n \"Enable or disable real-time updates temporarily\";\n // Set the toggle state based on the local storage, default to true\n realTimeToggle.input.checked = !(\n localStorage.getItem(\"astro-integration-pocketbase:real-time\") === \"false\"\n );\n realTimeToggle.input.addEventListener(\"change\", () => {\n // Store the toggle state in the local storage\n localStorage.setItem(\n \"astro-integration-pocketbase:real-time\",\n realTimeToggle.input.checked.toString()\n );\n\n // Send the toggle state to the server\n server.send(\n \"astro-integration-pocketbase:real-time\",\n realTimeToggle.input.checked\n );\n });\n // Send the initial toggle state to the server\n server.send(\n \"astro-integration-pocketbase:real-time\",\n realTimeToggle.input.checked\n );\n windowElement.querySelector(\".toggle-container\")?.append(realTimeToggle);\n }\n\n if (hasContentLoader) {\n // Add click listeners to the refresh button\n const refresh =\n windowElement.querySelector<DevToolbarButton>(\"#refresh-content\");\n if (!refresh) {\n throw new Error(\"The refresh button is missing\");\n }\n\n refresh.addEventListener(\"click\", () => {\n server.send(\"astro-integration-pocketbase:refresh\", { force: false });\n });\n refresh.addEventListener(\"contextmenu\", (event) => {\n event.preventDefault();\n server.send(\"astro-integration-pocketbase:refresh\", { force: true });\n });\n\n server.on(\n \"astro-integration-pocketbase:refresh\",\n ({ loading }: { loading?: boolean }) => {\n // Show loading state while refreshing content\n if (loading) {\n refresh.textContent = \"Refreshing content...\";\n refresh.buttonStyle = \"gray\";\n refresh.style.pointerEvents = \"none\";\n } else {\n refresh.textContent = \"Refresh content\";\n refresh.buttonStyle = \"green\";\n refresh.style.pointerEvents = \"unset\";\n }\n }\n );\n }\n}\n","/**\n * Creates a placeholder card.\n */\nexport function createPlaceholder(): string {\n return /* HTML */ `\n <style>\n #placeholder div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n </style>\n\n <astro-dev-toolbar-card id=\"placeholder\">\n <div>\n <span> Here you will see the raw content of an entity </span>\n </div>\n </astro-dev-toolbar-card>\n `;\n}\n","import {\n closeOnOutsideClick,\n createWindowElement,\n synchronizePlacementOnUpdate\n} from \"astro/runtime/client/dev-toolbar/apps/utils/window.js\";\nimport type {\n ToolbarAppEventTarget,\n ToolbarServerHelpers\n} from \"astro/runtime/client/dev-toolbar/helpers.js\";\nimport { createEntities, createHeader, createPlaceholder } from \"./dom\";\nimport type { Entity } from \"./types/entity\";\nimport type { ToolbarOptions } from \"./types/options\";\n\ndeclare global {\n interface Window {\n __astro_entities__?: Array<Entity>;\n }\n}\n\n/**\n * Initializes the PocketBase toolbar.\n */\nexport function initToolbar(\n canvas: ShadowRoot,\n app: ToolbarAppEventTarget,\n server: ToolbarServerHelpers\n): void {\n // Options for the toolbar\n let options: ToolbarOptions = {\n realtime: false,\n hasContentLoader: false,\n baseUrl: \"\"\n };\n\n // Update the options and refresh the toolbar\n server.on(\n \"astro-integration-pocketbase:settings\",\n (updatedOptions: ToolbarOptions) => {\n options = updatedOptions;\n createPocketBaseWindow();\n }\n );\n\n // Create the window (for every page navigation)\n createPocketBaseWindow();\n document.addEventListener(\"astro:after-swap\", createPocketBaseWindow);\n\n // Setup the window\n closeOnOutsideClick(app);\n synchronizePlacementOnUpdate(app, canvas);\n\n function createPocketBaseWindow(): void {\n // Clear any existing content\n canvas.innerHTML = \"\";\n\n const entities = window.__astro_entities__ || [];\n\n // Create the main window element\n const windowElement = createWindowElement(/* HTML */ `\n <style>\n :host astro-dev-toolbar-window {\n max-height: 480px;\n }\n\n main {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n overflow-y: auto;\n }\n </style>\n\n <header></header>\n\n <hr />\n\n <main>\n ${entities.length > 0\n ? createEntities(entities, options.baseUrl)\n : createPlaceholder()}\n </main>\n `);\n\n // Create and insert the header\n createHeader(windowElement, server, options);\n\n // Add the window to the canvas\n canvas.append(windowElement);\n\n // Update the toolbar depending on the current state\n if (entities.length > 0) {\n app.toggleNotification({ state: true, level: \"info\" });\n } else {\n app.toggleNotification({ state: false });\n app.toggleState({ state: false });\n }\n }\n}\n","import { defineToolbarApp } from \"astro/toolbar\";\nimport { initToolbar } from \"./init-toolbar\";\n\nexport default defineToolbarApp({\n init: initToolbar\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolbar.mjs","names":["packageJson.version"],"sources":["../src/toolbar/dom/create-entity.ts","../package.json","../src/toolbar/dom/create-header.ts","../src/toolbar/dom/create-placeholder.ts","../src/toolbar/init-toolbar.ts","../src/toolbar/index.ts"],"sourcesContent":["import type { Entity } from \"../types/entity\";\n\n/**\n * Creates cards for the entities.\n */\nexport function createEntities(data: Array<Entity>, baseUrl: string): string {\n const groupedData = Object.groupBy(data, (data) => data.collectionName);\n const collections = Object.keys(groupedData);\n\n return /* HTML */ `\n <style>\n .collectionName {\n text-transform: capitalize;\n }\n\n .entity {\n position: relative;\n\n pre {\n margin: 0;\n overflow: auto;\n }\n\n astro-dev-toolbar-button {\n position: absolute;\n top: 0;\n right: 0;\n }\n }\n </style>\n\n ${collections\n .map(\n (collection) => /* HTML */ `\n <b class=\".collectionName\">${collection}</b>\n ${groupedData[collection]\n ?.map((entity) => createEntity(entity, baseUrl))\n .join(\"\")}\n `\n )\n .join(\"\")}\n `;\n}\n\n/**\n * Creates a card for a single entity\n */\nfunction createEntity(data: Entity, baseUrl: string): string {\n return /* HTML */ `\n <astro-dev-toolbar-card>\n <div class=\"entity\">\n <pre>${JSON.stringify(data, undefined, 2).replaceAll(\"<\", \"<\")}</pre>\n\n ${baseUrl\n ? /* HTML */ `\n <astro-dev-toolbar-button\n size=\"small\"\n button-style=\"purple\"\n title=\"View in PocketBase\"\n onclick=\"window.open('${baseUrl}/_/#/collections?collection=${data.collectionId}&record=${data.id}', '_blank')\"\n >\n View in PocketBase\n </astro-dev-toolbar-button>\n `\n : \"\"}\n </div>\n </astro-dev-toolbar-card>\n `;\n}\n","","import type { ToolbarServerHelpers } from \"astro\";\nimport type { DevToolbarButton } from \"astro/runtime/client/dev-toolbar/ui-library/button.js\";\nimport type { DevToolbarWindow } from \"astro/runtime/client/dev-toolbar/ui-library/window.js\";\nimport { default as packageJson } from \"../../../package.json\";\nimport type { ToolbarOptions } from \"../types/options\";\n\n/**\n * Creates the header for the PocketBase toolbar.\n */\n// oxlint-disable-next-line max-lines-per-function\nexport function createHeader(\n windowElement: DevToolbarWindow,\n server: ToolbarServerHelpers,\n { hasContentLoader, realtime }: ToolbarOptions\n): void {\n const header = windowElement.querySelector(\"header\");\n if (!header) {\n throw new Error(\"The header element is missing\");\n }\n\n header.innerHTML = /* HTML */ `\n <style>\n header {\n display: grid;\n grid-template-columns: auto auto 1fr;\n gap: 0.5rem;\n }\n\n h1 {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n color: #fff;\n margin: 0;\n font-size: 22px;\n }\n\n .actions {\n display: flex;\n align-items: start;\n justify-content: flex-end;\n gap: 0.25rem;\n\n .toggle-container {\n display: flex;\n align-items: center;\n\n label {\n font-size: 0.8rem;\n }\n }\n }\n </style>\n\n <h1>PocketBase</h1>\n <astro-dev-toolbar-badge badge-style=\"yellow\">\n ${packageJson.version}\n </astro-dev-toolbar-badge>\n\n <div class=\"actions\">\n ${realtime\n ? /* HTML */ `\n <div class=\"toggle-container\">\n <label\n for=\"real-time\"\n title=\"Enable or disable real-time updates temporarily\"\n >\n Real-time updates\n </label>\n <!-- real-time-toggle -->\n </div>\n `\n : \"\"}\n ${hasContentLoader\n ? /* HTML */ `\n <astro-dev-toolbar-button\n id=\"refresh-content\"\n size=\"small\"\n button-style=\"green\"\n title=\"Right click to force refresh every collection\"\n >\n Refresh content\n </astro-dev-toolbar-button>\n `\n : \"\"}\n </div>\n `;\n\n if (realtime) {\n // Create the toggle for real-time updates\n const realTimeToggle = document.createElement(\"astro-dev-toolbar-toggle\");\n realTimeToggle.input.id = \"real-time-toggle\";\n realTimeToggle.input.title =\n \"Enable or disable real-time updates temporarily\";\n // Set the toggle state based on the local storage, default to true\n realTimeToggle.input.checked = !(\n localStorage.getItem(\"astro-integration-pocketbase:real-time\") === \"false\"\n );\n realTimeToggle.input.addEventListener(\"change\", () => {\n // Store the toggle state in the local storage\n localStorage.setItem(\n \"astro-integration-pocketbase:real-time\",\n realTimeToggle.input.checked.toString()\n );\n\n // Send the toggle state to the server\n server.send(\n \"astro-integration-pocketbase:real-time\",\n realTimeToggle.input.checked\n );\n });\n // Send the initial toggle state to the server\n server.send(\n \"astro-integration-pocketbase:real-time\",\n realTimeToggle.input.checked\n );\n windowElement.querySelector(\".toggle-container\")?.append(realTimeToggle);\n }\n\n if (hasContentLoader) {\n // Add click listeners to the refresh button\n const refresh =\n windowElement.querySelector<DevToolbarButton>(\"#refresh-content\");\n if (!refresh) {\n throw new Error(\"The refresh button is missing\");\n }\n\n refresh.addEventListener(\"click\", () => {\n server.send(\"astro-integration-pocketbase:refresh\", { force: false });\n });\n refresh.addEventListener(\"contextmenu\", (event) => {\n event.preventDefault();\n server.send(\"astro-integration-pocketbase:refresh\", { force: true });\n });\n\n server.on(\n \"astro-integration-pocketbase:refresh\",\n ({ loading }: { loading?: boolean }) => {\n // Show loading state while refreshing content\n if (loading) {\n refresh.textContent = \"Refreshing content...\";\n refresh.buttonStyle = \"gray\";\n refresh.style.pointerEvents = \"none\";\n } else {\n refresh.textContent = \"Refresh content\";\n refresh.buttonStyle = \"green\";\n refresh.style.pointerEvents = \"unset\";\n }\n }\n );\n }\n}\n","/**\n * Creates a placeholder card.\n */\nexport function createPlaceholder(): string {\n return /* HTML */ `\n <style>\n #placeholder div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n </style>\n\n <astro-dev-toolbar-card id=\"placeholder\">\n <div>\n <span> Here you will see the raw content of an entity </span>\n </div>\n </astro-dev-toolbar-card>\n `;\n}\n","import {\n closeOnOutsideClick,\n createWindowElement,\n synchronizePlacementOnUpdate\n} from \"astro/runtime/client/dev-toolbar/apps/utils/window.js\";\nimport type {\n ToolbarAppEventTarget,\n ToolbarServerHelpers\n} from \"astro/runtime/client/dev-toolbar/helpers.js\";\nimport { createEntities, createHeader, createPlaceholder } from \"./dom\";\nimport type { Entity } from \"./types/entity\";\nimport type { ToolbarOptions } from \"./types/options\";\n\ndeclare global {\n interface Window {\n __astro_entities__?: Array<Entity>;\n }\n}\n\n/**\n * Initializes the PocketBase toolbar.\n */\nexport function initToolbar(\n canvas: ShadowRoot,\n app: ToolbarAppEventTarget,\n server: ToolbarServerHelpers\n): void {\n // Options for the toolbar\n let options: ToolbarOptions = {\n realtime: false,\n hasContentLoader: false,\n baseUrl: \"\"\n };\n\n // Update the options and refresh the toolbar\n server.on(\n \"astro-integration-pocketbase:settings\",\n (updatedOptions: ToolbarOptions) => {\n options = updatedOptions;\n createPocketBaseWindow();\n }\n );\n\n // Create the window (for every page navigation)\n createPocketBaseWindow();\n document.addEventListener(\"astro:after-swap\", createPocketBaseWindow);\n\n // Setup the window\n closeOnOutsideClick(app);\n synchronizePlacementOnUpdate(app, canvas);\n\n function createPocketBaseWindow(): void {\n // Clear any existing content\n canvas.innerHTML = \"\";\n\n const entities = window.__astro_entities__ || [];\n\n // Create the main window element\n const windowElement = createWindowElement(/* HTML */ `\n <style>\n :host astro-dev-toolbar-window {\n max-height: 480px;\n }\n\n main {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n overflow-y: auto;\n }\n </style>\n\n <header></header>\n\n <hr />\n\n <main>\n ${entities.length > 0\n ? createEntities(entities, options.baseUrl)\n : createPlaceholder()}\n </main>\n `);\n\n // Create and insert the header\n createHeader(windowElement, server, options);\n\n // Add the window to the canvas\n canvas.append(windowElement);\n\n // Update the toolbar depending on the current state\n if (entities.length > 0) {\n app.toggleNotification({ state: true, level: \"info\" });\n } else {\n app.toggleNotification({ state: false });\n app.toggleState({ state: false });\n }\n }\n}\n","import { defineToolbarApp } from \"astro/toolbar\";\nimport { initToolbar } from \"./init-toolbar\";\n\nexport default defineToolbarApp({\n init: initToolbar\n});\n"],"mappings":";;;;;;AAKA,SAAgB,eAAe,MAAqB,SAAyB;CAC3E,MAAM,cAAc,OAAO,QAAQ,OAAO,SAAS,KAAK,cAAc;CAGtE,OAAkB;;;;;;;;;;;;;;;;;;;;;;MAFE,OAAO,KAAK,WAwBlB,CAAC,CACV,KACE,eAA0B;uCACI,WAAW;YACtC,YAAY,WAAW,EACrB,KAAK,WAAW,aAAa,QAAQ,OAAO,CAAC,CAAC,CAC/C,KAAK,EAAE,EAAE;SAEhB,CAAC,CACA,KAAK,EAAE,EAAE;;AAEhB;;;;AAKA,SAAS,aAAa,MAAc,SAAyB;CAC3D,OAAkB;;;eAGL,KAAK,UAAU,MAAM,KAAA,GAAW,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,EAAE;;UAEhE,UACa;;;;;wCAKiB,QAAQ,8BAA8B,KAAK,aAAa,UAAU,KAAK,GAAG;;;;gBAKtG,GAAG;;;;AAIf;;;;;;;;;AE1DA,SAAgB,aACd,eACA,QACA,EAAE,kBAAkB,YACd;CACN,MAAM,SAAS,cAAc,cAAc,QAAQ;CACnD,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,+BAA+B;CAGjD,OAAO,YAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqCxBA,QAAoB;;;;QAIpB,WACa;;;;;;;;;;cAWX,GAAG;QACL,mBACa;;;;;;;;;cAUX,GAAG;;;CAIX,IAAI,UAAU;EAEZ,MAAM,iBAAiB,SAAS,cAAc,0BAA0B;EACxE,eAAe,MAAM,KAAK;EAC1B,eAAe,MAAM,QACnB;EAEF,eAAe,MAAM,UAAU,EAC7B,aAAa,QAAQ,wCAAwC,MAAM;EAErE,eAAe,MAAM,iBAAiB,gBAAgB;GAEpD,aAAa,QACX,0CACA,eAAe,MAAM,QAAQ,SAAS,CACxC;GAGA,OAAO,KACL,0CACA,eAAe,MAAM,OACvB;EACF,CAAC;EAED,OAAO,KACL,0CACA,eAAe,MAAM,OACvB;EACA,cAAc,cAAc,mBAAmB,CAAC,EAAE,OAAO,cAAc;CACzE;CAEA,IAAI,kBAAkB;EAEpB,MAAM,UACJ,cAAc,cAAgC,kBAAkB;EAClE,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,+BAA+B;EAGjD,QAAQ,iBAAiB,eAAe;GACtC,OAAO,KAAK,wCAAwC,EAAE,OAAO,MAAM,CAAC;EACtE,CAAC;EACD,QAAQ,iBAAiB,gBAAgB,UAAU;GACjD,MAAM,eAAe;GACrB,OAAO,KAAK,wCAAwC,EAAE,OAAO,KAAK,CAAC;EACrE,CAAC;EAED,OAAO,GACL,yCACC,EAAE,cAAqC;GAEtC,IAAI,SAAS;IACX,QAAQ,cAAc;IACtB,QAAQ,cAAc;IACtB,QAAQ,MAAM,gBAAgB;GAChC,OAAO;IACL,QAAQ,cAAc;IACtB,QAAQ,cAAc;IACtB,QAAQ,MAAM,gBAAgB;GAChC;EACF,CACF;CACF;AACF;;;;;;ACrJA,SAAgB,oBAA4B;CAC1C,OAAkB;;;;;;;;;;;;;;;AAepB;;;;;;ACGA,SAAgB,YACd,QACA,KACA,QACM;CAEN,IAAI,UAA0B;EAC5B,UAAU;EACV,kBAAkB;EAClB,SAAS;CACX;CAGA,OAAO,GACL,0CACC,mBAAmC;EAClC,UAAU;EACV,uBAAuB;CACzB,CACF;CAGA,uBAAuB;CACvB,SAAS,iBAAiB,oBAAoB,sBAAsB;CAGpE,oBAAoB,GAAG;CACvB,6BAA6B,KAAK,MAAM;CAExC,SAAS,yBAA+B;EAEtC,OAAO,YAAY;EAEnB,MAAM,WAAW,OAAO,sBAAsB,CAAC;EAG/C,MAAM,gBAAgB,oBAA+B;;;;;;;;;;;;;;;;;;;UAmB/C,SAAS,SAAS,IAChB,eAAe,UAAU,QAAQ,OAAO,IACxC,kBAAkB,EAAE;;KAE3B;EAGD,aAAa,eAAe,QAAQ,OAAO;EAG3C,OAAO,OAAO,aAAa;EAG3B,IAAI,SAAS,SAAS,GACpB,IAAI,mBAAmB;GAAE,OAAO;GAAM,OAAO;EAAO,CAAC;OAChD;GACL,IAAI,mBAAmB,EAAE,OAAO,MAAM,CAAC;GACvC,IAAI,YAAY,EAAE,OAAO,MAAM,CAAC;EAClC;CACF;AACF;;;AC9FA,IAAA,kBAAe,iBAAiB,EAC9B,MAAM,YACR,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "astro-integration-pocketbase",
|
|
3
|
-
"version": "4.0.0-next.
|
|
3
|
+
"version": "4.0.0-next.2",
|
|
4
4
|
"description": "An Astro integration to support developers working with astro-loader-pocketbase.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"astro",
|
|
@@ -48,16 +48,16 @@
|
|
|
48
48
|
"typecheck": "npx @typescript/native-preview --noEmit -p src/tsconfig.json"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@commitlint/cli": "21.0
|
|
52
|
-
"@commitlint/config-conventional": "21.0
|
|
51
|
+
"@commitlint/cli": "21.1.0",
|
|
52
|
+
"@commitlint/config-conventional": "21.1.0",
|
|
53
53
|
"@types/node": "24.13.2",
|
|
54
54
|
"astro": "7.0.3",
|
|
55
55
|
"eventsource": "4.1.0",
|
|
56
|
-
"globals": "17.
|
|
56
|
+
"globals": "17.7.0",
|
|
57
57
|
"husky": "9.1.7",
|
|
58
|
-
"lint-staged": "17.0.
|
|
59
|
-
"oxfmt": "0.
|
|
60
|
-
"oxlint": "1.
|
|
58
|
+
"lint-staged": "17.0.8",
|
|
59
|
+
"oxfmt": "0.56.0",
|
|
60
|
+
"oxlint": "1.71.0",
|
|
61
61
|
"oxlint-tsgolint": "0.23.0",
|
|
62
62
|
"publint": "0.3.21",
|
|
63
63
|
"tsdown": "0.22.3"
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"engines": {
|
|
70
70
|
"node": ">=22.12.0"
|
|
71
71
|
},
|
|
72
|
-
"packageManager": "npm@11.
|
|
72
|
+
"packageManager": "npm@11.18.0",
|
|
73
73
|
"allowScripts": {
|
|
74
74
|
"esbuild@0.27.7": true
|
|
75
75
|
}
|