From f40395b0a8cc4eae3c222fe99130137cfd5296bf Mon Sep 17 00:00:00 2001 From: Alex Gaillard Date: Mon, 22 Sep 2025 12:25:48 -0400 Subject: [PATCH 1/5] Add display link interface to packages folder --- packages/display-link-interface/.eslintrc.js | 21 ++ packages/display-link-interface/.npmignore | 8 + packages/display-link-interface/README.md | 17 ++ packages/display-link-interface/package.json | 52 +++++ .../screenshot-list.png | Bin 0 -> 24106 bytes .../screenshot-options.png | Bin 0 -> 66544 bytes .../display-link-interface/screenshot.png | Bin 0 -> 22496 bytes .../display-link-interface/src/display.vue | 153 ++++++++++++++ packages/display-link-interface/src/index.ts | 199 ++++++++++++++++++ .../display-link-interface/src/shims.d.ts | 5 + packages/display-link-interface/tsconfig.json | 28 +++ 11 files changed, 483 insertions(+) create mode 100644 packages/display-link-interface/.eslintrc.js create mode 100644 packages/display-link-interface/.npmignore create mode 100644 packages/display-link-interface/README.md create mode 100644 packages/display-link-interface/package.json create mode 100644 packages/display-link-interface/screenshot-list.png create mode 100644 packages/display-link-interface/screenshot-options.png create mode 100644 packages/display-link-interface/screenshot.png create mode 100644 packages/display-link-interface/src/display.vue create mode 100644 packages/display-link-interface/src/index.ts create mode 100644 packages/display-link-interface/src/shims.d.ts create mode 100644 packages/display-link-interface/tsconfig.json diff --git a/packages/display-link-interface/.eslintrc.js b/packages/display-link-interface/.eslintrc.js new file mode 100644 index 00000000..bd50d0e9 --- /dev/null +++ b/packages/display-link-interface/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + env: { + browser: true, + es2021: true, + }, + extends: [ + "plugin:@typescript-eslint/recommended", + "plugin:vue/vue3-recommended", + "prettier", + ], + parserOptions: { + ecmaVersion: "latest", + parser: "@typescript-eslint/parser", + sourceType: "module", + }, + plugins: ["vue", "@typescript-eslint", "prettier"], + rules: { + "prettier/prettier": "warn", + "vue/multi-word-component-names": "off", + }, +}; diff --git a/packages/display-link-interface/.npmignore b/packages/display-link-interface/.npmignore new file mode 100644 index 00000000..b7e2a5a7 --- /dev/null +++ b/packages/display-link-interface/.npmignore @@ -0,0 +1,8 @@ +.DS_Store +node_modules +src +!dist +!dist/*.ts +.eslintrc.* +*.png +tsconfig.json diff --git a/packages/display-link-interface/README.md b/packages/display-link-interface/README.md new file mode 100644 index 00000000..fd130e93 --- /dev/null +++ b/packages/display-link-interface/README.md @@ -0,0 +1,17 @@ +# Display Link extension for Directus + +Display URLs, phone numbers, and emails with a link button in +[Directus](https://directus.io) + +## Install + +Search for "display link" in the Marketplace of your app settings, navigate to +the extension page, and click "Install Extension" + +## Screenshots + +![](https://raw.githubusercontent.com/jacoborus/directus-extension-display-link/main/screenshot.png) + +![](https://raw.githubusercontent.com/jacoborus/directus-extension-display-link/main/screenshot-list.png) + +![](https://raw.githubusercontent.com/jacoborus/directus-extension-display-link/main/screenshot-options.png) diff --git a/packages/display-link-interface/package.json b/packages/display-link-interface/package.json new file mode 100644 index 00000000..f1389b1a --- /dev/null +++ b/packages/display-link-interface/package.json @@ -0,0 +1,52 @@ +{ + "name": "directus-extension-display-link", + "description": "Display URLs, phone numbers, and emails with a link button in Directus", + "version": "1.8.0", + "icon": "link", + "author": "Jacobo Tabernero Rey ", + "keywords": [ + "directus", + "directus-extension", + "directus-custom-display", + "link", + "url", + "email", + "telephone", + "display-url", + "display-phone-number", + "display-telephone" + ], + "directus:extension": { + "type": "display", + "path": "dist/index.js", + "source": "src/index.ts", + "host": ">=10.10.10" + }, + "scripts": { + "build": "directus-extension build", + "dev": "directus-extension build --watch --no-minify", + "prepublish": "npm run build", + "lint": "eslint" + }, + "devDependencies": { + "@directus/extensions-sdk": "12.1.4", + "@typescript-eslint/eslint-plugin": "8.20.0", + "@typescript-eslint/parser": "8.20.0", + "eslint": "9.18.0", + "eslint-config-prettier": "10.0.1", + "eslint-plugin-prettier": "5.2.2", + "eslint-plugin-vue": "^9.7.0", + "prettier": "3.4.2", + "typescript": "5.7.3", + "vue": "^3.5.13" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/jacoborus/directus-extension-display-link.git" + }, + "license": "ISC", + "bugs": { + "url": "https://github.com/jacoborus/directus-extension-display-link/issues" + }, + "homepage": "https://github.com/jacoborus/directus-extension-display-link#readme" +} diff --git a/packages/display-link-interface/screenshot-list.png b/packages/display-link-interface/screenshot-list.png new file mode 100644 index 0000000000000000000000000000000000000000..19b008c298706305dc7da27af2d3b7f9ae01c216 GIT binary patch literal 24106 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/display-link-interface/screenshot-options.png b/packages/display-link-interface/screenshot-options.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf9ffe0e45c60ccbcd831ddb213ef6ca2b318fb GIT binary patch literal 66544 zcmb5Vbyyrt_bod3KyYVp1`^x`3GRa=I0Q+M;2PYWU;zdX?gIo3ZVB%0PH=*|JD2zS z?$4fcuAG0WtE#K3tJdCY?fq2Gd{a@9#liq#0000ic{yn{000RH0HCk{5di=M*RVIv zFE_}XWwf2u?aZ9rK0BHM%)i*#nzA_=JDQq)ak8*;K1OO4eHrxnpFvWNrk|ZH?Y_`x zSlXHbtXxcKxcF#HznIc+b8_?2aB>PlAc9;1*6+&X00>Bi^3oC-?h6Mg@2m+_348A) z9x!|(4n8#$(KQfYiIQl>_{-pu)In|dX+gEG`4p^;Y-?L8E-U*Av}0%_2(c1SQ|k)2 zqU9ZrheSj|$>f0X@<_Drg|GAYwvbZDc^ainyo zW!a%k`wAw50WqVQpPg@98|p)GG<4pnIQC_w4H9>3-qsn zaAOuG2AFc=Ut&ixGgzn_I62AbkgCd;00vFy zL3NRsH14eVF|i4hKfz2IHz8A2wZ#Py2!_cVSFEj3rosn;+y2j8Uinh(wg zO}P0-jzsT`-JC``S!W#RsfT{QP~5@Urdy&SC#gq6$-xkl)jbeBRBr7pfFAA?Z5ur26yk54j`op0Yn5t+ehJPu zx9j;_fvPL}IrenWKxfqDWWvh{7x1BlZ0k6T7ujf2?Je`qw=kG81v>v-s3F&m8jbaG>9}#gh2!?9e#TBYPH{jHjnO-ibcKSx!p0zu#Ms4;sMALk(eqc0_ zA5%5JNoOZUD#nO>_`JSc(Pub@9mrdU_4#1=Yuw%7g>bGppFrwY3LOGR>8L(D0X3

67N{1xJn(N+f%DqV- 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

YB-9I&N}#|b6Cr=4 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 literal 0 HcmV?d00001 diff --git a/packages/display-link-interface/screenshot.png b/packages/display-link-interface/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5d9a7abe96588fd7c68b8be55c0247457640d959 GIT binary patch literal 22496 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 + + + + + + + diff --git a/packages/display-link-interface/src/index.ts b/packages/display-link-interface/src/index.ts new file mode 100644 index 00000000..c89d936f --- /dev/null +++ b/packages/display-link-interface/src/index.ts @@ -0,0 +1,199 @@ +import { defineDisplay } from "@directus/extensions-sdk"; +import DisplayComponent from "./display.vue"; + +export default defineDisplay({ + id: "extension-display-link", + name: "Link", + icon: "open_in_new", + description: "Display URLs, phone numbers, and emails with a link button", + component: DisplayComponent, + options: [ + { + field: "kind", + name: "Type", + meta: { + width: "full", + interface: "select-dropdown", + options: { + choices: [ + { + text: "URL", + value: "url", + }, + { + text: "Telephone", + value: "tel", + }, + { + text: "Email", + value: "email", + }, + ], + }, + }, + schema: { + default_value: "url", + }, + }, + { + field: "showLinkButton", + name: "Show link button", + type: "boolean", + meta: { + interface: "boolean", + width: "half", + options: { + label: "Display a link button", + }, + }, + schema: { + default_value: true, + }, + }, + { + field: "icon", + name: "$t:displays.formatted-value.icon", + type: "string", + meta: { + width: "half", + interface: "select-icon", + }, + schema: { + default_value: "open_in_new", + }, + }, + { + field: "showUrl", + name: "Show URL", + type: "boolean", + meta: { + interface: "boolean", + width: "half", + options: { + label: "Display the URL", + }, + }, + schema: { + default_value: true, + }, + }, + { + field: "font", + name: "$t:displays.formatted-value.font", + meta: { + width: "half", + interface: "select-dropdown", + options: { + choices: [ + { + text: "$t:displays.formatted-value.font_sans_serif", + value: "sans-serif", + }, + { text: "$t:displays.formatted-value.font_serif", value: "serif" }, + { + text: "$t:displays.formatted-value.font_monospace", + value: "monospace", + }, + ], + }, + }, + schema: { + default_value: "sans-serif", + }, + }, + { + field: "showClipboard", + name: "Copy to clipboard", + type: "boolean", + meta: { + interface: "boolean", + width: "half", + options: { + label: "Display a copy to clipboard", + }, + }, + schema: { + default_value: true, + }, + }, + { + field: "openInNew", + name: "Open in new tab", + type: "boolean", + meta: { + interface: "boolean", + width: "half", + options: { + label: "Open link in new tab", + }, + }, + schema: { + default_value: true, + }, + }, + { + field: "prefix", + name: "$t:displays.formatted-value.prefix", + type: "string", + meta: { + width: "half", + interface: "input", + options: { + label: "$t:displays.formatted-value.prefix_label", + placeholder: "https://", + trim: true, + }, + }, + schema: { + default_value: "", + }, + }, + { + field: "suffix", + name: "$t:displays.formatted-value.suffix", + type: "string", + meta: { + width: "half", + interface: "input", + options: { + label: "$t:displays.formatted-value.suffix_label", + trim: true, + }, + }, + schema: { + default_value: "", + }, + }, + { + field: "showPrefix", + name: "Show prefix", + type: "boolean", + meta: { + interface: "boolean", + width: "half", + options: { + label: "Display prefix in view", + }, + }, + schema: { + default_value: false, + }, + }, + { + field: "showSuffix", + name: "Show suffix", + type: "boolean", + meta: { + interface: "boolean", + width: "half", + options: { + label: "Display suffix in view", + }, + }, + schema: { + default_value: false, + }, + }, + ], + types: ["string", "text", "uuid", "integer"], +}); diff --git a/packages/display-link-interface/src/shims.d.ts b/packages/display-link-interface/src/shims.d.ts new file mode 100644 index 00000000..9923fb60 --- /dev/null +++ b/packages/display-link-interface/src/shims.d.ts @@ -0,0 +1,5 @@ +declare module '*.vue' { + import { DefineComponent } from 'vue'; + const component: DefineComponent<{}, {}, any>; + export default component; +} diff --git a/packages/display-link-interface/tsconfig.json b/packages/display-link-interface/tsconfig.json new file mode 100644 index 00000000..64735af7 --- /dev/null +++ b/packages/display-link-interface/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "ES2019", + "lib": ["ES2019", "DOM"], + "moduleResolution": "node", + "strict": true, + "noFallthroughCasesInSwitch": true, + "esModuleInterop": true, + "noImplicitAny": true, + "noImplicitThis": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "noUncheckedIndexedAccess": true, + "noUnusedParameters": true, + "alwaysStrict": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "strictBindCallApply": true, + "strictPropertyInitialization": true, + "resolveJsonModule": false, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "allowSyntheticDefaultImports": true, + "isolatedModules": true, + "rootDir": "./src" + }, + "include": ["./src/**/*.ts"] +} From 3b283ef4b60b8cc7a6d841d725bd3f7afdb99555 Mon Sep 17 00:00:00 2001 From: Alex Gaillard Date: Mon, 22 Sep 2025 14:10:05 -0400 Subject: [PATCH 2/5] Update package metadata --- packages/display-link-interface/package.json | 100 +++++++++---------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/packages/display-link-interface/package.json b/packages/display-link-interface/package.json index f1389b1a..ce71b8c8 100644 --- a/packages/display-link-interface/package.json +++ b/packages/display-link-interface/package.json @@ -1,52 +1,52 @@ { - "name": "directus-extension-display-link", - "description": "Display URLs, phone numbers, and emails with a link button in Directus", - "version": "1.8.0", - "icon": "link", - "author": "Jacobo Tabernero Rey ", - "keywords": [ - "directus", - "directus-extension", - "directus-custom-display", - "link", - "url", - "email", - "telephone", - "display-url", - "display-phone-number", - "display-telephone" - ], - "directus:extension": { - "type": "display", - "path": "dist/index.js", - "source": "src/index.ts", - "host": ">=10.10.10" - }, - "scripts": { - "build": "directus-extension build", - "dev": "directus-extension build --watch --no-minify", - "prepublish": "npm run build", - "lint": "eslint" - }, - "devDependencies": { - "@directus/extensions-sdk": "12.1.4", - "@typescript-eslint/eslint-plugin": "8.20.0", - "@typescript-eslint/parser": "8.20.0", - "eslint": "9.18.0", - "eslint-config-prettier": "10.0.1", - "eslint-plugin-prettier": "5.2.2", - "eslint-plugin-vue": "^9.7.0", - "prettier": "3.4.2", - "typescript": "5.7.3", - "vue": "^3.5.13" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/jacoborus/directus-extension-display-link.git" - }, - "license": "ISC", - "bugs": { - "url": "https://github.com/jacoborus/directus-extension-display-link/issues" - }, - "homepage": "https://github.com/jacoborus/directus-extension-display-link#readme" + "name": "@directus-labs/display-link-interface", + "version": "1.8.0", + "description": "Display URLs, phone numbers, and emails with a link button in Directus", + "author": "Jacobo Tabernero Rey ", + "license": "ISC", + "homepage": "https://github.com/directus-labs/extensions#readme", + "repository": { + "type": "git", + "url": "https://github.com/directus-labs/extensions.git" + }, + "icon": "link", + "bugs": { + "url": "https://github.com/directus-labs/extensions/issues" + }, + "keywords": [ + "directus", + "directus-extension", + "directus-custom-display", + "link", + "url", + "email", + "telephone", + "display-url", + "display-phone-number", + "display-telephone" + ], + "directus:extension": { + "type": "display", + "path": "dist/index.js", + "source": "src/index.ts", + "host": ">=10.10.10" + }, + "scripts": { + "build": "directus-extension build", + "dev": "directus-extension build --watch --no-minify", + "prepublish": "npm run build", + "lint": "eslint" + }, + "devDependencies": { + "@directus/extensions-sdk": "12.1.4", + "@typescript-eslint/eslint-plugin": "8.20.0", + "@typescript-eslint/parser": "8.20.0", + "eslint": "9.18.0", + "eslint-config-prettier": "10.0.1", + "eslint-plugin-prettier": "5.2.2", + "eslint-plugin-vue": "^9.7.0", + "prettier": "3.4.2", + "typescript": "5.7.3", + "vue": "^3.5.13" + } } From 5ae0ce346563ceca180633605cbc4ca3839c55da Mon Sep 17 00:00:00 2001 From: Alex Gaillard Date: Mon, 22 Sep 2025 14:11:53 -0400 Subject: [PATCH 3/5] Add interface to repo readme --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5728de34..cfaf1fb9 100644 --- a/readme.md +++ b/readme.md @@ -36,6 +36,7 @@ Some of the published extensions may not be compatible with the sandbox requirem | [Choropleth Map Panel](//github.com/directus-labs/extensions/tree/main/packages/choropleth-map-panel) | Panel | N/A | | | [Collaborative Editing](//github.com/directus-labs/extensions/tree/main/packages/collaborative-editing) | Bundle | N/A | | | [Command Palette Module](//github.com/directus-labs/extensions/tree/main/packages/command-palette-module) | Module | N/A | ⭐ | +| [Display Link Interface](//github.com/directus-labs/extensions/tree/main/packages/display-link-interface) | Interface | N/A | | | [Elasticsearch Operation](//github.com/directus-labs/extensions/tree/main/packages/elasticsearch-operation) | Operation | N/A | | | [Experimental M2A Interface](//github.com/directus-labs/extensions/tree/main/packages/experimental-m2a-interface) | Interface | N/A | | | [Field Comments](//github.com/directus-labs/extensions/tree/main/packages/field-comments-module) | Module | N/A | | From bcb2de20a94c4bd0709969f52cc7504d613a875b Mon Sep 17 00:00:00 2001 From: Alex Gaillard Date: Mon, 22 Sep 2025 14:18:54 -0400 Subject: [PATCH 4/5] Update lockfile --- pnpm-lock.yaml | 723 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 501 insertions(+), 222 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f4440dd6..b0e37d34 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -525,6 +525,39 @@ importers: specifier: ^5.5.4 version: 5.8.3 + packages/display-link-interface: + devDependencies: + '@directus/extensions-sdk': + specifier: 12.1.4 + version: 12.1.4(@types/node@22.15.19)(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.7.3)))(knex@3.1.0)(pinia@3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))(sass@1.89.0)(terser@5.39.2)(typescript@5.7.3)(vue-router@4.5.1(vue@3.5.13(typescript@5.7.3))) + '@typescript-eslint/eslint-plugin': + specifier: 8.20.0 + version: 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0)(typescript@5.7.3) + '@typescript-eslint/parser': + specifier: 8.20.0 + version: 8.20.0(eslint@9.18.0)(typescript@5.7.3) + eslint: + specifier: 9.18.0 + version: 9.18.0 + eslint-config-prettier: + specifier: 10.0.1 + version: 10.0.1(eslint@9.18.0) + eslint-plugin-prettier: + specifier: 5.2.2 + version: 5.2.2(@types/eslint@9.6.1)(eslint-config-prettier@10.0.1(eslint@9.18.0))(eslint@9.18.0)(prettier@3.4.2) + eslint-plugin-vue: + specifier: ^9.7.0 + version: 9.32.0(eslint@9.18.0) + prettier: + specifier: 3.4.2 + version: 3.4.2 + typescript: + specifier: 5.7.3 + version: 5.7.3 + vue: + specifier: ^3.5.13 + version: 3.5.13(typescript@5.7.3) + packages/elasticsearch-operation: dependencies: '@elastic/elasticsearch': @@ -1556,6 +1589,11 @@ packages: peerDependencies: vue: ^3.4 + '@directus/composables@11.1.5': + resolution: {integrity: sha512-lMPmOc9ps4aVvknRS2DIJZYUN8Qgh9/eGrp5T8LdPo0H7aigSTdElZTZBSxbjS9Ynd42xUMTDnsT22yh+r6Bdw==} + peerDependencies: + vue: ^3.4 + '@directus/composables@11.1.6': resolution: {integrity: sha512-zm6GCT9KiTZpqRJzA9IqXTWlFVYB4eYiRha0isr1yMTv1vJEv33H8OzBn8nB3ux6GQC0BVUIyPwwAwKdXSvCRg==} peerDependencies: @@ -1659,6 +1697,11 @@ packages: engines: {node: '>=12.20.0'} hasBin: true + '@directus/extensions-sdk@12.1.4': + resolution: {integrity: sha512-w/iobzr6AzR3mv9qAPPrXxugesUyd4sYGSGXSFUsqlVCix0cfjyIm2TxEO/PUkSGsPRX1wCzwKfupXrXjCw7Uw==} + engines: {node: '>=12.20.0'} + hasBin: true + '@directus/extensions-sdk@13.0.0': resolution: {integrity: sha512-8kfDzVO9qPcXGTQIOE1otsw/Bg3HCpz8sqBFiV6NdnjeH4QoKkwVIvLUkM/SdRslznnyOeGklicHNSzMwAclkw==} engines: {node: '>=12.20.0'} @@ -2943,6 +2986,10 @@ packages: eslint: optional: true + '@eslint/config-array@0.19.2': + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-array@0.20.0': resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2967,6 +3014,10 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.18.0': + resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.21.0': resolution: {integrity: sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3040,15 +3091,6 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@inquirer/checkbox@4.1.5': - resolution: {integrity: sha512-swPczVU+at65xa5uPfNP9u3qx/alNwiaykiI/ExpsmMSQW55trmZcwhYWzw/7fj+n6Q8z1eENvR7vFfq9oPSAQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/checkbox@4.1.6': resolution: {integrity: sha512-62u896rWCtKKE43soodq5e/QcRsA22I+7/4Ov7LESWnKRO6BVo2A1DFLDmXL9e28TB0CfHc3YtkbPm7iwajqkg==} engines: {node: '>=18'} @@ -3067,24 +3109,6 @@ packages: '@types/node': optional: true - '@inquirer/confirm@5.1.9': - resolution: {integrity: sha512-NgQCnHqFTjF7Ys2fsqK2WtnA8X1kHyInyG+nMIuHowVTIgIuS10T4AznI/PvbqSpJqjCUqNBlKGh1v3bwLFL4w==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/core@10.1.10': - resolution: {integrity: sha512-roDaKeY1PYY0aCqhRmXihrHjoSW2A00pV3Ke5fTpMCkzcGF64R8e0lw3dK+eLEHwS4vB5RnW1wuQmvzoRul8Mw==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/core@10.1.11': resolution: {integrity: sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==} engines: {node: '>=18'} @@ -3094,15 +3118,6 @@ packages: '@types/node': optional: true - '@inquirer/editor@4.2.10': - resolution: {integrity: sha512-5GVWJ+qeI6BzR6TIInLP9SXhWCEcvgFQYmcRG6d6RIlhFjM5TyG18paTGBgRYyEouvCmzeco47x9zX9tQEofkw==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/editor@4.2.11': resolution: {integrity: sha512-YoZr0lBnnLFPpfPSNsQ8IZyKxU47zPyVi9NLjCWtna52//M/xuL0PGPAxHxxYhdOhnvY2oBafoM+BI5w/JK7jw==} engines: {node: '>=18'} @@ -3112,15 +3127,6 @@ packages: '@types/node': optional: true - '@inquirer/expand@4.0.12': - resolution: {integrity: sha512-jV8QoZE1fC0vPe6TnsOfig+qwu7Iza1pkXoUJ3SroRagrt2hxiL+RbM432YAihNR7m7XnU0HWl/WQ35RIGmXHw==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/expand@4.0.13': resolution: {integrity: sha512-HgYNWuZLHX6q5y4hqKhwyytqAghmx35xikOGY3TcgNiElqXGPas24+UzNPOwGUZa5Dn32y25xJqVeUcGlTv+QQ==} engines: {node: '>=18'} @@ -3143,24 +3149,6 @@ packages: '@types/node': optional: true - '@inquirer/input@4.1.9': - resolution: {integrity: sha512-mshNG24Ij5KqsQtOZMgj5TwEjIf+F2HOESk6bjMwGWgcH5UBe8UoljwzNFHqdMbGYbgAf6v2wU/X9CAdKJzgOA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/number@3.0.12': - resolution: {integrity: sha512-7HRFHxbPCA4e4jMxTQglHJwP+v/kpFsCf2szzfBHy98Wlc3L08HL76UDiA87TOdX5fwj2HMOLWqRWv9Pnn+Z5Q==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/number@3.0.13': resolution: {integrity: sha512-IrLezcg/GWKS8zpKDvnJ/YTflNJdG0qSFlUM/zNFsdi4UKW/CO+gaJpbMgQ20Q58vNKDJbEzC6IebdkprwL6ew==} engines: {node: '>=18'} @@ -3170,15 +3158,6 @@ packages: '@types/node': optional: true - '@inquirer/password@4.0.12': - resolution: {integrity: sha512-FlOB0zvuELPEbnBYiPaOdJIaDzb2PmJ7ghi/SVwIHDDSQ2K4opGBkF+5kXOg6ucrtSUQdLhVVY5tycH0j0l+0g==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/password@4.0.13': resolution: {integrity: sha512-NN0S/SmdhakqOTJhDwOpeBEEr8VdcYsjmZHDb0rblSh2FcbXQOr+2IApP7JG4WE3sxIdKytDn4ed3XYwtHxmJQ==} engines: {node: '>=18'} @@ -3188,15 +3167,6 @@ packages: '@types/node': optional: true - '@inquirer/prompts@7.5.0': - resolution: {integrity: sha512-tk8Bx7l5AX/CR0sVfGj3Xg6v7cYlFBkEahH+EgBB+cZib6Fc83dwerTbzj7f2+qKckjIUGsviWRI1d7lx6nqQA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/prompts@7.5.1': resolution: {integrity: sha512-5AOrZPf2/GxZ+SDRZ5WFplCA2TAQgK3OYrXCYmJL5NaTu4ECcoWFlfUZuw7Es++6Njv7iu/8vpYJhuzxUH76Vg==} engines: {node: '>=18'} @@ -3206,15 +3176,6 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@4.1.0': - resolution: {integrity: sha512-6ob45Oh9pXmfprKqUiEeMz/tjtVTFQTgDDz1xAMKMrIvyrYjAmRbQZjMJfsictlL4phgjLhdLu27IkHNnNjB7g==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/rawlist@4.1.1': resolution: {integrity: sha512-VBUC0jPN2oaOq8+krwpo/mf3n/UryDUkKog3zi+oIi8/e5hykvdntgHUB9nhDM78RubiyR1ldIOfm5ue+2DeaQ==} engines: {node: '>=18'} @@ -3224,15 +3185,6 @@ packages: '@types/node': optional: true - '@inquirer/search@3.0.12': - resolution: {integrity: sha512-H/kDJA3kNlnNIjB8YsaXoQI0Qccgf0Na14K1h8ExWhNmUg2E941dyFPrZeugihEa9AZNW5NdsD/NcvUME83OPQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/search@3.0.13': resolution: {integrity: sha512-9g89d2c5Izok/Gw/U7KPC3f9kfe5rA1AJ24xxNZG0st+vWekSk7tB9oE+dJv5JXd0ZSijomvW0KPMoBd8qbN4g==} engines: {node: '>=18'} @@ -3242,15 +3194,6 @@ packages: '@types/node': optional: true - '@inquirer/select@4.2.0': - resolution: {integrity: sha512-KkXQ4aSySWimpV4V/TUJWdB3tdfENZUU765GjOIZ0uPwdbGIG6jrxD4dDf1w68uP+DVtfNhr1A92B+0mbTZ8FA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/select@4.2.1': resolution: {integrity: sha512-gt1Kd5XZm+/ddemcT3m23IP8aD8rC9drRckWoP/1f7OL46Yy2FGi8DSmNjEjQKtPl6SV96Kmjbl6p713KXJ/Jg==} engines: {node: '>=18'} @@ -4100,6 +4043,14 @@ packages: '@types/web-bluetooth@0.0.21': resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + '@typescript-eslint/eslint-plugin@8.20.0': + resolution: {integrity: sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/eslint-plugin@8.24.1': resolution: {integrity: sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4124,6 +4075,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@8.20.0': + resolution: {integrity: sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/parser@8.24.1': resolution: {integrity: sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4151,6 +4109,10 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/scope-manager@8.20.0': + resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.24.1': resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4169,6 +4131,13 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.20.0': + resolution: {integrity: sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/type-utils@8.24.1': resolution: {integrity: sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4190,6 +4159,10 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/types@8.20.0': + resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.24.1': resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4202,6 +4175,12 @@ packages: resolution: {integrity: sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.20.0': + resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/typescript-estree@8.24.1': resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4220,6 +4199,13 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.20.0': + resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/utils@8.24.1': resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4241,6 +4227,10 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@8.20.0': + resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.24.1': resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5512,6 +5502,12 @@ packages: peerDependencies: eslint: ^9.5.0 + eslint-config-prettier@10.0.1: + resolution: {integrity: sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + eslint-config-prettier@10.1.5: resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} hasBin: true @@ -5606,6 +5602,20 @@ packages: peerDependencies: eslint: '>=8.0.0' + eslint-plugin-prettier@5.2.2: + resolution: {integrity: sha512-1yI3/hf35wmlq66C8yOyrujQnel+v5l1Vop5Cl2I6ylyNTT1JbuUUnV3/41PzwTzcyDp/oF0jWE3HXvcH5AQOQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + eslint-plugin-regexp@2.7.0: resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} engines: {node: ^18 || >=20} @@ -5684,6 +5694,16 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@9.18.0: + resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + eslint@9.26.0: resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -7226,6 +7246,11 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + engines: {node: '>=14'} + hasBin: true + prettier@3.5.3: resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} engines: {node: '>=14'} @@ -8614,6 +8639,17 @@ snapshots: transitivePeerDependencies: - debug + '@directus/composables@11.1.5(vue@3.5.11(typescript@5.7.3))': + dependencies: + '@directus/constants': 12.0.1 + '@directus/utils': 12.0.5(vue@3.5.11(typescript@5.7.3)) + axios: 1.7.7 + lodash-es: 4.17.21 + nanoid: 5.0.7 + vue: 3.5.11(typescript@5.7.3) + transitivePeerDependencies: + - debug + '@directus/composables@11.1.6(vue@3.5.13(typescript@5.8.3))': dependencies: '@directus/constants': 13.0.0 @@ -9691,6 +9727,57 @@ snapshots: - typescript - vue-router + '@directus/extensions-sdk@12.1.4(@types/node@22.15.19)(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.7.3)))(knex@3.1.0)(pinia@3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))(sass@1.89.0)(terser@5.39.2)(typescript@5.7.3)(vue-router@4.5.1(vue@3.5.13(typescript@5.7.3)))': + dependencies: + '@directus/composables': 11.1.5(vue@3.5.11(typescript@5.7.3)) + '@directus/constants': 12.0.1 + '@directus/extensions': 2.0.6(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.7.3)))(knex@3.1.0)(pinia@3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))(vue-router@4.5.1(vue@3.5.13(typescript@5.7.3)))(vue@3.5.11(typescript@5.7.3)) + '@directus/themes': 1.0.5(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.7.3)))(pinia@3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))(vue@3.5.11(typescript@5.7.3)) + '@directus/types': 12.2.2(knex@3.1.0)(vue@3.5.11(typescript@5.7.3)) + '@directus/utils': 12.0.5(vue@3.5.11(typescript@5.7.3)) + '@rollup/plugin-commonjs': 25.0.8(rollup@3.29.4) + '@rollup/plugin-json': 6.1.0(rollup@3.29.4) + '@rollup/plugin-node-resolve': 15.3.0(rollup@3.29.4) + '@rollup/plugin-replace': 5.0.7(rollup@3.29.4) + '@rollup/plugin-terser': 0.4.4(rollup@3.29.4) + '@rollup/plugin-virtual': 3.0.2(rollup@3.29.4) + '@vitejs/plugin-vue': 4.6.2(vite@4.5.2(@types/node@22.15.19)(sass@1.89.0)(terser@5.39.2))(vue@3.5.11(typescript@5.7.3)) + chalk: 5.3.0 + commander: 10.0.1 + esbuild: 0.17.19 + execa: 7.2.0 + fs-extra: 11.2.0 + inquirer: 12.0.0(@types/node@22.15.19) + ora: 6.3.1 + rollup: 3.29.4 + rollup-plugin-esbuild: 5.0.0(esbuild@0.17.19)(rollup@3.29.4) + rollup-plugin-styles: 4.0.0(rollup@3.29.4) + vite: 4.5.2(@types/node@22.15.19)(sass@1.89.0)(terser@5.39.2) + vue: 3.5.11(typescript@5.7.3) + transitivePeerDependencies: + - '@types/node' + - '@unhead/vue' + - better-sqlite3 + - debug + - knex + - less + - lightningcss + - mysql + - mysql2 + - pg + - pg-native + - pinia + - pino + - sass + - sqlite3 + - stylus + - sugarss + - supports-color + - tedious + - terser + - typescript + - vue-router + '@directus/extensions-sdk@13.0.0(@types/node@22.15.17)(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.8.3)))(knex@3.1.0)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))(sass@1.87.0)(terser@5.39.2)(typescript@5.8.3)(vue-router@4.5.1(vue@3.5.13(typescript@5.8.3)))': dependencies: '@directus/composables': 11.1.6(vue@3.5.13(typescript@5.8.3)) @@ -10497,6 +10584,32 @@ snapshots: - supports-color - tedious + '@directus/extensions@2.0.6(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.7.3)))(knex@3.1.0)(pinia@3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))(vue-router@4.5.1(vue@3.5.13(typescript@5.7.3)))(vue@3.5.11(typescript@5.7.3))': + dependencies: + '@directus/constants': 12.0.1 + '@directus/themes': 1.0.5(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.7.3)))(pinia@3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))(vue@3.5.11(typescript@5.7.3)) + '@directus/types': 12.2.2(knex@3.1.0)(vue@3.5.11(typescript@5.7.3)) + '@directus/utils': 12.0.5(vue@3.5.11(typescript@5.7.3)) + '@types/express': 4.17.21 + fs-extra: 11.2.0 + lodash-es: 4.17.21 + zod: 3.23.8 + optionalDependencies: + knex: 3.1.0 + vue: 3.5.11(typescript@5.7.3) + vue-router: 4.5.1(vue@3.5.13(typescript@5.7.3)) + transitivePeerDependencies: + - '@unhead/vue' + - better-sqlite3 + - mysql + - mysql2 + - pg + - pg-native + - pinia + - sqlite3 + - supports-color + - tedious + '@directus/extensions@2.0.6(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.8.3)))(knex@3.1.0)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))(vue-router@4.5.1(vue@3.5.13(typescript@5.8.3)))(vue@3.5.13(typescript@5.8.3))': dependencies: '@directus/constants': 12.0.1 @@ -10956,6 +11069,17 @@ snapshots: pinia: 3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) vue: 3.5.11(typescript@5.8.3) + '@directus/themes@1.0.5(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.7.3)))(pinia@3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))(vue@3.5.11(typescript@5.7.3))': + dependencies: + '@directus/utils': 12.0.5(vue@3.5.11(typescript@5.7.3)) + '@sinclair/typebox': 0.33.15 + '@unhead/vue': 2.0.9(vue@3.5.13(typescript@5.7.3)) + decamelize: 6.0.0 + flat: 6.0.1 + lodash-es: 4.17.21 + pinia: 3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) + vue: 3.5.11(typescript@5.7.3) + '@directus/themes@1.0.5(@unhead/vue@2.0.9(vue@3.5.13(typescript@5.8.3)))(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))(vue@3.5.13(typescript@5.8.3))': dependencies: '@directus/utils': 12.0.5(vue@3.5.13(typescript@5.8.3)) @@ -11229,6 +11353,24 @@ snapshots: - supports-color - tedious + '@directus/types@12.2.2(knex@3.1.0)(vue@3.5.11(typescript@5.7.3))': + dependencies: + '@directus/constants': 12.0.1 + '@directus/schema': 12.1.1 + '@types/geojson': 7946.0.14 + optionalDependencies: + knex: 3.1.0 + vue: 3.5.11(typescript@5.7.3) + transitivePeerDependencies: + - better-sqlite3 + - mysql + - mysql2 + - pg + - pg-native + - sqlite3 + - supports-color + - tedious + '@directus/types@12.2.2(knex@3.1.0)(vue@3.5.13(typescript@5.8.3))': dependencies: '@directus/constants': 12.0.1 @@ -11449,6 +11591,19 @@ snapshots: optionalDependencies: vue: 3.5.11(typescript@5.8.3) + '@directus/utils@12.0.5(vue@3.5.11(typescript@5.7.3))': + dependencies: + '@directus/constants': 12.0.1 + '@directus/system-data': 2.1.2 + date-fns: 4.1.0 + fs-extra: 11.2.0 + joi: 17.13.3 + js-yaml: 4.1.0 + lodash-es: 4.17.21 + micromustache: 8.0.3 + optionalDependencies: + vue: 3.5.11(typescript@5.7.3) + '@directus/utils@12.0.5(vue@3.5.13(typescript@5.8.3))': dependencies: '@directus/constants': 12.0.1 @@ -11807,6 +11962,11 @@ snapshots: eslint: 9.26.0 ignore: 5.3.2 + '@eslint-community/eslint-utils@4.7.0(eslint@9.18.0)': + dependencies: + eslint: 9.18.0 + eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0)': dependencies: eslint: 9.26.0 @@ -11818,6 +11978,14 @@ snapshots: optionalDependencies: eslint: 9.26.0 + '@eslint/config-array@0.19.2': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + '@eslint/config-array@0.20.0': dependencies: '@eslint/object-schema': 2.1.6 @@ -11854,6 +12022,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/js@9.18.0': {} + '@eslint/js@9.21.0': {} '@eslint/js@9.26.0': {} @@ -11930,16 +12100,6 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@inquirer/checkbox@4.1.5(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.15.19) - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.2 - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/checkbox@4.1.6(@types/node@22.15.17)': dependencies: '@inquirer/core': 10.1.11(@types/node@22.15.17) @@ -11974,26 +12134,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/confirm@5.1.9(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/type': 3.0.6(@types/node@22.15.19) - optionalDependencies: - '@types/node': 22.15.19 - - '@inquirer/core@10.1.10(@types/node@22.15.19)': - dependencies: - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.15.19) - ansi-escapes: 4.3.2 - cli-width: 4.1.0 - mute-stream: 2.0.0 - signal-exit: 4.1.0 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.2 - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/core@10.1.11(@types/node@22.15.17)': dependencies: '@inquirer/figures': 1.0.11 @@ -12020,14 +12160,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/editor@4.2.10(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/type': 3.0.6(@types/node@22.15.19) - external-editor: 3.1.0 - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/editor@4.2.11(@types/node@22.15.17)': dependencies: '@inquirer/core': 10.1.11(@types/node@22.15.17) @@ -12044,14 +12176,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/expand@4.0.12(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/type': 3.0.6(@types/node@22.15.19) - yoctocolors-cjs: 2.1.2 - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/expand@4.0.13(@types/node@22.15.17)': dependencies: '@inquirer/core': 10.1.11(@types/node@22.15.17) @@ -12084,20 +12208,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/input@4.1.9(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/type': 3.0.6(@types/node@22.15.19) - optionalDependencies: - '@types/node': 22.15.19 - - '@inquirer/number@3.0.12(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/type': 3.0.6(@types/node@22.15.19) - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/number@3.0.13(@types/node@22.15.17)': dependencies: '@inquirer/core': 10.1.11(@types/node@22.15.17) @@ -12112,14 +12222,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/password@4.0.12(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/type': 3.0.6(@types/node@22.15.19) - ansi-escapes: 4.3.2 - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/password@4.0.13(@types/node@22.15.17)': dependencies: '@inquirer/core': 10.1.11(@types/node@22.15.17) @@ -12136,21 +12238,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/prompts@7.5.0(@types/node@22.15.19)': - dependencies: - '@inquirer/checkbox': 4.1.5(@types/node@22.15.19) - '@inquirer/confirm': 5.1.9(@types/node@22.15.19) - '@inquirer/editor': 4.2.10(@types/node@22.15.19) - '@inquirer/expand': 4.0.12(@types/node@22.15.19) - '@inquirer/input': 4.1.9(@types/node@22.15.19) - '@inquirer/number': 3.0.12(@types/node@22.15.19) - '@inquirer/password': 4.0.12(@types/node@22.15.19) - '@inquirer/rawlist': 4.1.0(@types/node@22.15.19) - '@inquirer/search': 3.0.12(@types/node@22.15.19) - '@inquirer/select': 4.2.0(@types/node@22.15.19) - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/prompts@7.5.1(@types/node@22.15.17)': dependencies: '@inquirer/checkbox': 4.1.6(@types/node@22.15.17) @@ -12181,14 +12268,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/rawlist@4.1.0(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/type': 3.0.6(@types/node@22.15.19) - yoctocolors-cjs: 2.1.2 - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/rawlist@4.1.1(@types/node@22.15.17)': dependencies: '@inquirer/core': 10.1.11(@types/node@22.15.17) @@ -12205,15 +12284,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/search@3.0.12(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.15.19) - yoctocolors-cjs: 2.1.2 - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/search@3.0.13(@types/node@22.15.17)': dependencies: '@inquirer/core': 10.1.11(@types/node@22.15.17) @@ -12232,16 +12302,6 @@ snapshots: optionalDependencies: '@types/node': 22.15.19 - '@inquirer/select@4.2.0(@types/node@22.15.19)': - dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.19) - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.15.19) - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.2 - optionalDependencies: - '@types/node': 22.15.19 - '@inquirer/select@4.2.1(@types/node@22.15.17)': dependencies: '@inquirer/core': 10.1.11(@types/node@22.15.17) @@ -13158,6 +13218,23 @@ snapshots: '@types/web-bluetooth@0.0.21': {} + '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0)(typescript@5.7.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0)(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.20.0 + eslint: 9.18.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -13209,6 +13286,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.20.0 + debug: 4.4.1 + eslint: 9.18.0 + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.24.1(eslint@9.26.0)(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.24.1 @@ -13254,6 +13343,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/scope-manager@8.20.0': + dependencies: + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 + '@typescript-eslint/scope-manager@8.24.1': dependencies: '@typescript-eslint/types': 8.24.1 @@ -13273,11 +13367,22 @@ snapshots: dependencies: typescript: 5.8.3 + '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0)(typescript@5.7.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.3) + debug: 4.4.1 + eslint: 9.18.0 + ts-api-utils: 2.1.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@8.24.1(eslint@9.26.0)(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.8.3) '@typescript-eslint/utils': 8.24.1(eslint@9.26.0)(typescript@5.8.3) - debug: 4.4.0 + debug: 4.4.1 eslint: 9.26.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 @@ -13306,17 +13411,33 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/types@8.20.0': {} + '@typescript-eslint/types@8.24.1': {} '@typescript-eslint/types@8.32.0': {} '@typescript-eslint/types@8.34.1': {} + '@typescript-eslint/typescript-estree@8.20.0(typescript@5.7.3)': + dependencies: + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 + debug: 4.4.1 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.24.1(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.24.1 '@typescript-eslint/visitor-keys': 8.24.1 - debug: 4.4.0 + debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -13356,6 +13477,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.20.0(eslint@9.18.0)(typescript@5.7.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.18.0) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + eslint: 9.18.0 + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.24.1(eslint@9.26.0)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) @@ -13389,6 +13521,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/visitor-keys@8.20.0': + dependencies: + '@typescript-eslint/types': 8.20.0 + eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.24.1': dependencies: '@typescript-eslint/types': 8.24.1 @@ -13404,6 +13541,12 @@ snapshots: '@typescript-eslint/types': 8.34.1 eslint-visitor-keys: 4.2.1 + '@unhead/vue@2.0.9(vue@3.5.13(typescript@5.7.3))': + dependencies: + hookable: 5.5.3 + unhead: 2.0.9 + vue: 3.5.13(typescript@5.7.3) + '@unhead/vue@2.0.9(vue@3.5.13(typescript@5.8.3))': dependencies: hookable: 5.5.3 @@ -13518,6 +13661,11 @@ snapshots: vite: 4.5.2(@types/node@22.15.19)(sass@1.89.0)(terser@5.39.2) vue: 3.4.27(typescript@5.8.3) + '@vitejs/plugin-vue@4.6.2(vite@4.5.2(@types/node@22.15.19)(sass@1.89.0)(terser@5.39.2))(vue@3.5.11(typescript@5.7.3))': + dependencies: + vite: 4.5.2(@types/node@22.15.19)(sass@1.89.0)(terser@5.39.2) + vue: 3.5.11(typescript@5.7.3) + '@vitejs/plugin-vue@4.6.2(vite@4.5.2(@types/node@22.15.19)(sass@1.89.0)(terser@5.39.2))(vue@3.5.11(typescript@5.8.3))': dependencies: vite: 4.5.2(@types/node@22.15.19)(sass@1.89.0)(terser@5.39.2) @@ -13917,12 +14065,24 @@ snapshots: '@vue/shared': 3.4.27 vue: 3.4.27(typescript@5.8.3) + '@vue/server-renderer@3.5.11(vue@3.5.11(typescript@5.7.3))': + dependencies: + '@vue/compiler-ssr': 3.5.11 + '@vue/shared': 3.5.11 + vue: 3.5.11(typescript@5.7.3) + '@vue/server-renderer@3.5.11(vue@3.5.11(typescript@5.8.3))': dependencies: '@vue/compiler-ssr': 3.5.11 '@vue/shared': 3.5.11 vue: 3.5.11(typescript@5.8.3) + '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + vue: 3.5.13(typescript@5.7.3) + '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.3))': dependencies: '@vue/compiler-ssr': 3.5.13 @@ -15034,6 +15194,10 @@ snapshots: '@eslint/compat': 1.2.9(eslint@9.26.0) eslint: 9.26.0 + eslint-config-prettier@10.0.1(eslint@9.18.0): + dependencies: + eslint: 9.18.0 + eslint-config-prettier@10.1.5(eslint@9.26.0): dependencies: eslint: 9.26.0 @@ -15190,6 +15354,16 @@ snapshots: - supports-color - typescript + eslint-plugin-prettier@5.2.2(@types/eslint@9.6.1)(eslint-config-prettier@10.0.1(eslint@9.18.0))(eslint@9.18.0)(prettier@3.4.2): + dependencies: + eslint: 9.18.0 + prettier: 3.4.2 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.2 + optionalDependencies: + '@types/eslint': 9.6.1 + eslint-config-prettier: 10.0.1(eslint@9.18.0) + eslint-plugin-regexp@2.7.0(eslint@9.26.0): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) @@ -15269,6 +15443,20 @@ snapshots: vue-eslint-parser: 10.1.3(eslint@9.26.0) xml-name-validator: 4.0.0 + eslint-plugin-vue@9.32.0(eslint@9.18.0): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.18.0) + eslint: 9.18.0 + globals: 13.24.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.1.2 + semver: 7.7.2 + vue-eslint-parser: 9.4.3(eslint@9.18.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + eslint-plugin-vue@9.32.0(eslint@9.26.0): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) @@ -15315,6 +15503,45 @@ snapshots: eslint-visitor-keys@4.2.1: {} + eslint@9.18.0: + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.18.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.2 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.18.0 + '@eslint/plugin-kit': 0.2.8 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.7 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.1 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + eslint@9.26.0: dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) @@ -15809,8 +16036,8 @@ snapshots: inquirer@12.0.0(@types/node@22.15.19): dependencies: - '@inquirer/core': 10.1.10(@types/node@22.15.19) - '@inquirer/prompts': 7.5.0(@types/node@22.15.19) + '@inquirer/core': 10.1.11(@types/node@22.15.19) + '@inquirer/prompts': 7.5.1(@types/node@22.15.19) '@inquirer/type': 3.0.6(@types/node@22.15.19) ansi-escapes: 4.3.2 mute-stream: 2.0.0 @@ -16899,6 +17126,13 @@ snapshots: picomatch@4.0.2: {} + pinia@3.0.2(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)): + dependencies: + '@vue/devtools-api': 7.7.6 + vue: 3.5.13(typescript@5.7.3) + optionalDependencies: + typescript: 5.7.3 + pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)): dependencies: '@vue/devtools-api': 7.7.6 @@ -17123,6 +17357,8 @@ snapshots: dependencies: fast-diff: 1.3.0 + prettier@3.4.2: {} + prettier@3.5.3: {} proxy-addr@2.0.7: @@ -17840,6 +18076,10 @@ snapshots: punycode: 2.3.1 optional: true + ts-api-utils@2.1.0(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + ts-api-utils@2.1.0(typescript@5.8.3): dependencies: typescript: 5.8.3 @@ -18204,6 +18444,19 @@ snapshots: transitivePeerDependencies: - supports-color + vue-eslint-parser@9.4.3(eslint@9.18.0): + dependencies: + debug: 4.4.0 + eslint: 9.18.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + lodash: 4.17.21 + semver: 7.7.2 + transitivePeerDependencies: + - supports-color + vue-eslint-parser@9.4.3(eslint@9.26.0): dependencies: debug: 4.4.0 @@ -18262,6 +18515,12 @@ snapshots: '@vue/devtools-api': 6.6.4 vue: 3.5.13(typescript@5.8.3) + vue-router@4.5.1(vue@3.5.13(typescript@5.7.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.13(typescript@5.7.3) + optional: true + vue-router@4.5.1(vue@3.5.13(typescript@5.8.3)): dependencies: '@vue/devtools-api': 6.6.4 @@ -18297,6 +18556,16 @@ snapshots: optionalDependencies: typescript: 5.8.3 + vue@3.5.11(typescript@5.7.3): + dependencies: + '@vue/compiler-dom': 3.5.11 + '@vue/compiler-sfc': 3.5.11 + '@vue/runtime-dom': 3.5.11 + '@vue/server-renderer': 3.5.11(vue@3.5.11(typescript@5.7.3)) + '@vue/shared': 3.5.11 + optionalDependencies: + typescript: 5.7.3 + vue@3.5.11(typescript@5.8.3): dependencies: '@vue/compiler-dom': 3.5.11 @@ -18307,6 +18576,16 @@ snapshots: optionalDependencies: typescript: 5.8.3 + vue@3.5.13(typescript@5.7.3): + dependencies: + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-sfc': 3.5.13 + '@vue/runtime-dom': 3.5.13 + '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.3)) + '@vue/shared': 3.5.13 + optionalDependencies: + typescript: 5.7.3 + vue@3.5.13(typescript@5.8.3): dependencies: '@vue/compiler-dom': 3.5.13 From dc377f56b5078edc815aa33c58fda74a928bb608 Mon Sep 17 00:00:00 2001 From: Alex Gaillard Date: Mon, 22 Sep 2025 14:23:17 -0400 Subject: [PATCH 5/5] Fix linting --- packages/display-link-interface/.eslintrc.js | 38 +- .../display-link-interface/src/display.vue | 208 +++++----- packages/display-link-interface/src/index.ts | 392 +++++++++--------- packages/display-link-interface/tsconfig.json | 24 +- 4 files changed, 332 insertions(+), 330 deletions(-) diff --git a/packages/display-link-interface/.eslintrc.js b/packages/display-link-interface/.eslintrc.js index bd50d0e9..f3ecfc68 100644 --- a/packages/display-link-interface/.eslintrc.js +++ b/packages/display-link-interface/.eslintrc.js @@ -1,21 +1,21 @@ module.exports = { - env: { - browser: true, - es2021: true, - }, - extends: [ - "plugin:@typescript-eslint/recommended", - "plugin:vue/vue3-recommended", - "prettier", - ], - parserOptions: { - ecmaVersion: "latest", - parser: "@typescript-eslint/parser", - sourceType: "module", - }, - plugins: ["vue", "@typescript-eslint", "prettier"], - rules: { - "prettier/prettier": "warn", - "vue/multi-word-component-names": "off", - }, + env: { + browser: true, + es2021: true, + }, + extends: [ + 'plugin:@typescript-eslint/recommended', + 'plugin:vue/vue3-recommended', + 'prettier', + ], + parserOptions: { + ecmaVersion: 'latest', + parser: '@typescript-eslint/parser', + sourceType: 'module', + }, + plugins: ['vue', '@typescript-eslint', 'prettier'], + rules: { + 'prettier/prettier': 'warn', + 'vue/multi-word-component-names': 'off', + }, }; diff --git a/packages/display-link-interface/src/display.vue b/packages/display-link-interface/src/display.vue index dd91234a..5e6e6f6f 100644 --- a/packages/display-link-interface/src/display.vue +++ b/packages/display-link-interface/src/display.vue @@ -1,153 +1,155 @@ - - + + diff --git a/packages/display-link-interface/src/index.ts b/packages/display-link-interface/src/index.ts index c89d936f..841846d2 100644 --- a/packages/display-link-interface/src/index.ts +++ b/packages/display-link-interface/src/index.ts @@ -1,199 +1,199 @@ -import { defineDisplay } from "@directus/extensions-sdk"; -import DisplayComponent from "./display.vue"; +import { defineDisplay } from '@directus/extensions-sdk'; +import DisplayComponent from './display.vue'; export default defineDisplay({ - id: "extension-display-link", - name: "Link", - icon: "open_in_new", - description: "Display URLs, phone numbers, and emails with a link button", - component: DisplayComponent, - options: [ - { - field: "kind", - name: "Type", - meta: { - width: "full", - interface: "select-dropdown", - options: { - choices: [ - { - text: "URL", - value: "url", - }, - { - text: "Telephone", - value: "tel", - }, - { - text: "Email", - value: "email", - }, - ], - }, - }, - schema: { - default_value: "url", - }, - }, - { - field: "showLinkButton", - name: "Show link button", - type: "boolean", - meta: { - interface: "boolean", - width: "half", - options: { - label: "Display a link button", - }, - }, - schema: { - default_value: true, - }, - }, - { - field: "icon", - name: "$t:displays.formatted-value.icon", - type: "string", - meta: { - width: "half", - interface: "select-icon", - }, - schema: { - default_value: "open_in_new", - }, - }, - { - field: "showUrl", - name: "Show URL", - type: "boolean", - meta: { - interface: "boolean", - width: "half", - options: { - label: "Display the URL", - }, - }, - schema: { - default_value: true, - }, - }, - { - field: "font", - name: "$t:displays.formatted-value.font", - meta: { - width: "half", - interface: "select-dropdown", - options: { - choices: [ - { - text: "$t:displays.formatted-value.font_sans_serif", - value: "sans-serif", - }, - { text: "$t:displays.formatted-value.font_serif", value: "serif" }, - { - text: "$t:displays.formatted-value.font_monospace", - value: "monospace", - }, - ], - }, - }, - schema: { - default_value: "sans-serif", - }, - }, - { - field: "showClipboard", - name: "Copy to clipboard", - type: "boolean", - meta: { - interface: "boolean", - width: "half", - options: { - label: "Display a copy to clipboard", - }, - }, - schema: { - default_value: true, - }, - }, - { - field: "openInNew", - name: "Open in new tab", - type: "boolean", - meta: { - interface: "boolean", - width: "half", - options: { - label: "Open link in new tab", - }, - }, - schema: { - default_value: true, - }, - }, - { - field: "prefix", - name: "$t:displays.formatted-value.prefix", - type: "string", - meta: { - width: "half", - interface: "input", - options: { - label: "$t:displays.formatted-value.prefix_label", - placeholder: "https://", - trim: true, - }, - }, - schema: { - default_value: "", - }, - }, - { - field: "suffix", - name: "$t:displays.formatted-value.suffix", - type: "string", - meta: { - width: "half", - interface: "input", - options: { - label: "$t:displays.formatted-value.suffix_label", - trim: true, - }, - }, - schema: { - default_value: "", - }, - }, - { - field: "showPrefix", - name: "Show prefix", - type: "boolean", - meta: { - interface: "boolean", - width: "half", - options: { - label: "Display prefix in view", - }, - }, - schema: { - default_value: false, - }, - }, - { - field: "showSuffix", - name: "Show suffix", - type: "boolean", - meta: { - interface: "boolean", - width: "half", - options: { - label: "Display suffix in view", - }, - }, - schema: { - default_value: false, - }, - }, - ], - types: ["string", "text", "uuid", "integer"], + id: 'extension-display-link', + name: 'Link', + icon: 'open_in_new', + description: 'Display URLs, phone numbers, and emails with a link button', + component: DisplayComponent, + options: [ + { + field: 'kind', + name: 'Type', + meta: { + width: 'full', + interface: 'select-dropdown', + options: { + choices: [ + { + text: 'URL', + value: 'url', + }, + { + text: 'Telephone', + value: 'tel', + }, + { + text: 'Email', + value: 'email', + }, + ], + }, + }, + schema: { + default_value: 'url', + }, + }, + { + field: 'showLinkButton', + name: 'Show link button', + type: 'boolean', + meta: { + interface: 'boolean', + width: 'half', + options: { + label: 'Display a link button', + }, + }, + schema: { + default_value: true, + }, + }, + { + field: 'icon', + name: '$t:displays.formatted-value.icon', + type: 'string', + meta: { + width: 'half', + interface: 'select-icon', + }, + schema: { + default_value: 'open_in_new', + }, + }, + { + field: 'showUrl', + name: 'Show URL', + type: 'boolean', + meta: { + interface: 'boolean', + width: 'half', + options: { + label: 'Display the URL', + }, + }, + schema: { + default_value: true, + }, + }, + { + field: 'font', + name: '$t:displays.formatted-value.font', + meta: { + width: 'half', + interface: 'select-dropdown', + options: { + choices: [ + { + text: '$t:displays.formatted-value.font_sans_serif', + value: 'sans-serif', + }, + { text: '$t:displays.formatted-value.font_serif', value: 'serif' }, + { + text: '$t:displays.formatted-value.font_monospace', + value: 'monospace', + }, + ], + }, + }, + schema: { + default_value: 'sans-serif', + }, + }, + { + field: 'showClipboard', + name: 'Copy to clipboard', + type: 'boolean', + meta: { + interface: 'boolean', + width: 'half', + options: { + label: 'Display a copy to clipboard', + }, + }, + schema: { + default_value: true, + }, + }, + { + field: 'openInNew', + name: 'Open in new tab', + type: 'boolean', + meta: { + interface: 'boolean', + width: 'half', + options: { + label: 'Open link in new tab', + }, + }, + schema: { + default_value: true, + }, + }, + { + field: 'prefix', + name: '$t:displays.formatted-value.prefix', + type: 'string', + meta: { + width: 'half', + interface: 'input', + options: { + label: '$t:displays.formatted-value.prefix_label', + placeholder: 'https://', + trim: true, + }, + }, + schema: { + default_value: '', + }, + }, + { + field: 'suffix', + name: '$t:displays.formatted-value.suffix', + type: 'string', + meta: { + width: 'half', + interface: 'input', + options: { + label: '$t:displays.formatted-value.suffix_label', + trim: true, + }, + }, + schema: { + default_value: '', + }, + }, + { + field: 'showPrefix', + name: 'Show prefix', + type: 'boolean', + meta: { + interface: 'boolean', + width: 'half', + options: { + label: 'Display prefix in view', + }, + }, + schema: { + default_value: false, + }, + }, + { + field: 'showSuffix', + name: 'Show suffix', + type: 'boolean', + meta: { + interface: 'boolean', + width: 'half', + options: { + label: 'Display suffix in view', + }, + }, + schema: { + default_value: false, + }, + }, + ], + types: ['string', 'text', 'uuid', 'integer'], }); diff --git a/packages/display-link-interface/tsconfig.json b/packages/display-link-interface/tsconfig.json index 64735af7..6f7c4d5d 100644 --- a/packages/display-link-interface/tsconfig.json +++ b/packages/display-link-interface/tsconfig.json @@ -2,27 +2,27 @@ "compilerOptions": { "target": "ES2019", "lib": ["ES2019", "DOM"], + "rootDir": "./src", "moduleResolution": "node", + "resolveJsonModule": false, "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "alwaysStrict": true, "noFallthroughCasesInSwitch": true, - "esModuleInterop": true, "noImplicitAny": true, - "noImplicitThis": true, "noImplicitReturns": true, - "noUnusedLocals": true, + "noImplicitThis": true, "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, "noUnusedParameters": true, - "alwaysStrict": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "strictBindCallApply": true, - "strictPropertyInitialization": true, - "resolveJsonModule": false, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, "isolatedModules": true, - "rootDir": "./src" + "skipLibCheck": true }, "include": ["./src/**/*.ts"] }