diff --git a/packages/display-link-interface/.eslintrc.js b/packages/display-link-interface/.eslintrc.js new file mode 100644 index 00000000..f3ecfc68 --- /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..ce71b8c8 --- /dev/null +++ b/packages/display-link-interface/package.json @@ -0,0 +1,52 @@ +{ + "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" + } +} diff --git a/packages/display-link-interface/screenshot-list.png b/packages/display-link-interface/screenshot-list.png new file mode 100644 index 00000000..19b008c2 Binary files /dev/null and b/packages/display-link-interface/screenshot-list.png differ diff --git a/packages/display-link-interface/screenshot-options.png b/packages/display-link-interface/screenshot-options.png new file mode 100644 index 00000000..8bf9ffe0 Binary files /dev/null and b/packages/display-link-interface/screenshot-options.png differ diff --git a/packages/display-link-interface/screenshot.png b/packages/display-link-interface/screenshot.png new file mode 100644 index 00000000..5d9a7abe Binary files /dev/null and b/packages/display-link-interface/screenshot.png differ diff --git a/packages/display-link-interface/src/display.vue b/packages/display-link-interface/src/display.vue new file mode 100644 index 00000000..5e6e6f6f --- /dev/null +++ b/packages/display-link-interface/src/display.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/packages/display-link-interface/src/index.ts b/packages/display-link-interface/src/index.ts new file mode 100644 index 00000000..841846d2 --- /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..6f7c4d5d --- /dev/null +++ b/packages/display-link-interface/tsconfig.json @@ -0,0 +1,28 @@ +{ + "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, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "skipLibCheck": true + }, + "include": ["./src/**/*.ts"] +} 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 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 | |