Files
speckle-connectors-dui/package.json
Iain Sproat c37235381f feat(deployment): package as Docker image & Helm Chart (#98)
* feat(deployment): package as Docker image & Helm Chart

* remove erroneous permission request

* fix corepack issue

* fix prettier

* deployment testing of helm chart with ctlptl, tilt & kind

* fix linting

* remove need for license to be mounted

* ensure consistency in naming

* incorporate copilot comments

* fix CI pipeline

* fix

* incorporate copilot review comments

* include MIXPANEL environment variable

* remove single quotes from NODE_ENV ARG

---------

Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
2026-04-10 11:42:14 +03:00

124 lines
4.7 KiB
JSON

{
"name": "speckle-connectors-dui",
"description": "Speckle desktop UI embedded in connectors. Built w/ Vue 3 & Nuxt 3",
"version": "0.0.1",
"private": true,
"engines": {
"node": "^22.14.0"
},
"scripts": {
"build": "nuxt build",
"dev:nuxt": "nuxt dev",
"dev": "concurrently \"nuxt dev\" \"yarn gqlgen:watch\"",
"dev:kind:up": "ctlptl apply --filename ./tests/deployment/helm/cluster-config.yaml",
"dev:kind:down": "ctlptl delete -f ./tests/deployment/helm/cluster-config.yaml",
"dev:kind:helm:up": "yarn run dev:kind:up && tilt up --file ./tests/deployment/helm/Tiltfile --context kind-speckle-dui",
"dev:kind:helm:down": "tilt down --file ./tests/deployment/helm/Tiltfile --context kind-speckle-dui",
"dev:kind:helm:ci": "tilt ci --file ./tests/deployment/helm/Tiltfile --context kind-speckle-dui --timeout 10m",
"docker:build": "docker build -f ./deployment/docker/Dockerfile -t ghcr.io/specklesystems/speckle-dui:local .",
"docker:run": "docker run --rm -p 8083:80 -v ./deployment/docker/configuration.toml:/app/configuration.toml:ro ghcr.io/specklesystems/speckle-dui:local",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare",
"lint:js": "eslint .",
"lint:tsc": "vue-tsc --noEmit",
"lint:prettier": "prettier --config .prettierrc --ignore-path .prettierignore --check .",
"lint:css": "stylelint \"**/*.{css,vue}\"",
"lint": "yarn lint:js && yarn lint:tsc && yarn lint:prettier && yarn lint:css",
"lint:ci": "yarn lint:tsc && yarn lint:css",
"gqlgen": "graphql-codegen",
"gqlgen:watch": "graphql-codegen --watch",
"prettier:fix": "prettier --config .prettierrc --ignore-path .prettierignore --write ."
},
"dependencies": {
"@apollo/client": "^3.7.14",
"@headlessui/vue": "^1.7.13",
"@heroicons/vue": "^2.0.12",
"@intercom/messenger-js-sdk": "^0.0.14",
"@jsonforms/core": "3.1.0",
"@jsonforms/vue": "3.1.0",
"@jsonforms/vue-vanilla": "3.1.0",
"@nuxt/image": "^1.10.0",
"@pinia/nuxt": "^0.4.11",
"@speckle/objectloader": "^2.25.0",
"@speckle/objectsender": "^2.25.0",
"@speckle/shared": "^2.25.0",
"@speckle/tailwind-theme": "2.25.0",
"@speckle/ui-components": "^2.25.0",
"@speckle/ui-components-nuxt": "^2.25.0",
"@tiptap/core": "2.10.3",
"@tiptap/extension-bold": "2.10.3",
"@tiptap/extension-document": "2.10.3",
"@tiptap/extension-hard-break": "2.10.3",
"@tiptap/extension-history": "2.10.3",
"@tiptap/extension-italic": "2.10.3",
"@tiptap/extension-link": "2.10.3",
"@tiptap/extension-mention": "2.10.3",
"@tiptap/extension-paragraph": "2.10.3",
"@tiptap/extension-placeholder": "2.10.3",
"@tiptap/extension-strike": "2.10.3",
"@tiptap/extension-text": "2.10.3",
"@tiptap/extension-underline": "2.10.3",
"@tiptap/pm": "2.10.3",
"@tiptap/suggestion": "2.10.3",
"@tiptap/vue-3": "2.10.3",
"@vue/apollo-composable": "^4.0.0-beta.5",
"@vueuse/core": "^9.13.0",
"apollo-upload-client": "^17.0.0",
"crypto-random-string": "^5.0.0",
"dayjs": "^1.11.10",
"dotenv": "^16.3.1",
"graphql": "^16.6.0",
"graphql-tag": "^2.12.6",
"lodash-es": "^4.17.21",
"lucide-vue-next": "^0.537.0",
"nanoevents": "^8.0.0",
"pinia": "^2.1.4",
"portal-vue": "^3.0.0",
"subscriptions-transport-ws": "^0.11.0",
"vee-validate": "4.7.0",
"vue-tippy": "^6.2.0"
},
"devDependencies": {
"@graphql-codegen/cli": "^5.0.5",
"@graphql-codegen/client-preset": "^4.3.0",
"@nuxt/eslint": "^1.3.1",
"@nuxtjs/tailwindcss": "^6.14.0",
"@parcel/watcher": "^2.5.1",
"@types/apollo-upload-client": "^17.0.1",
"@types/eslint": "^9.6.1",
"@types/lodash-es": "^4.17.6",
"@types/node": "^18",
"@typescript-eslint/eslint-plugin": "^8.20.0",
"@typescript-eslint/parser": "^8.20.0",
"@vitejs/plugin-legacy": "^4.0.3",
"@vue/devtools": "^6.5.0",
"autoprefixer": "^10.4.14",
"concurrently": "^7.5.0",
"eslint": "^9.20.1",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-vuejs-accessibility": "^2.3.0",
"nuxt": "^3.17.3",
"postcss": "^8.5.3",
"postcss-custom-properties": "^14.0.4",
"postcss-html": "^1.8.0",
"postcss-nesting": "^13.0.1",
"prettier": "^2.8.7",
"stylelint": "^16.19.1",
"stylelint-config-recommended-vue": "^1.6.0",
"stylelint-config-standard": "^38.0.0",
"tailwindcss": "^3.4.17",
"type-fest": "^3.5.1",
"typescript": "^5.7.3",
"typescript-eslint": "^8.20.0",
"vue-tsc": "^2.2.2"
},
"resolutions": {
"core-js": "3.22.4",
"core-js-compat/semver": "^7.5.4",
"@babel/plugin-transform-classes/globals": "13.13.0",
"@babel/traverse/globals": "13.13.0"
},
"packageManager": "yarn@4.9.1"
}