{ "name": "internxt", "version": "2.7.0", "author": "Internxt ", "description": "Internxt Drive client UI", "main": "./dist/main/main.js", "license": "AGPL-3.0", "repository": { "url": "https://github.com/internxt/drive-desktop-linux" }, "scripts": { "prebuild": "npm run build:mail-bridge && npm run build:daemon", "build": "concurrently \"npm run build:main\" \"npm run build:renderer\"", "build:main": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.prod.ts", "build:renderer": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.prod.ts", "rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir .", "reinstall:nautilus-extension": "NODE_ENV=development ts-node src/apps/main/nautilus-extension/reload.ts", "lint": "cross-env NODE_ENV=development eslint . --ext .ts,.tsx --max-warnings=50", "lint:fix": "npm run lint --fix", "format": "prettier src --check", "format:fix": "prettier src --write", "fix:format": "npm run format:fix", "package": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never", "publish": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish always", "postinstall": "node ./.erb/scripts/ensure-electron-install.cjs && electron-builder install-app-deps && cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts", "prestart": "npm run build:daemon", "start": "ts-node ./.erb/scripts/check-port-in-use.js && npm run start:renderer", "start:main": "cross-env NODE_ENV=development electron --no-sandbox ./.erb/scripts/start-main-dev.js", "start:main:debug": "cross-env NODE_ENV=development electron --inspect=5858 --no-sandbox ./.erb/scripts/start-main-dev.js", "start:renderer": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.dev.ts", "test": "concurrently \"npm:test:main\" \"npm:test:renderer\"", "test:main": "vitest --config vitest.config.main.ts", "test:main:watch": "vitest --config vitest.config.main.ts --watch", "test:main:coverage": "vitest --config vitest.config.main.ts --coverage", "test:renderer": "vitest --config vitest.config.renderer.ts", "test:renderer:coverage": "vitest --config vitest.config.renderer.ts --coverage", "test:coverage": "concurrently \"npm:test:main:coverage\" \"npm:test:renderer:coverage\"", "smoke:file-manager-extension": "NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true ts-node -r ./tests/smoke/file-manager-extension/smoke-electron-mock.cjs src/backend/features/file-manager-extension/file-manager-extension-smoke.ts", "coverage:merge": "lcov-result-merger 'coverage/*/lcov.info' 'coverage/lcov.info'", "type-check": "./scripts/tsc-max-errors.sh", "prepare": "husky install", "generate_schema": "openapi-typescript http://localhost:3005/api-json -o ./src/infra/schemas.d.ts", "generate_schema:prod": "openapi-typescript https://drive-server.internxt.com/api-json -o ./src/infra/schemas.d.ts", "find-deadcode": "knip --max-issues=95", "========== Fuse Daemon ==========": "", "build:daemon": "make -C packages/fuse-daemon build", "========== Core ==========": "", "build:core": "npm --prefix packages/core run build", "core:bump": "node scripts/bump-core.js", "========== Mail Bridge ==========": "", "build:mail-bridge": "node scripts/download-mail-bridge.cjs" }, "build": { "productName": "Internxt", "beforeBuild": "./beforeBuild.js", "appId": "com.internxt.drive", "asar": true, "asarUnpack": [ "**/*.{node,dll}", "**/node_modules/better-sqlite3/**", "**/node_modules/bindings/**", "**/node_modules/sharp/**" ], "files": [ "dist", "node_modules", "package.json" ], "protocols": [ { "name": "Internxt Login Protocol", "schemes": [ "internxt" ] } ], "linux": { "target": [ "AppImage", "deb", "rpm" ], "category": "Development" }, "deb": { "recommends": [ "python3-nautilus", "thunarx-python", "gir1.2-thunarx-3.0", "python3-gi" ] }, "rpm": { "depends": [ "fuse-libs" ] }, "directories": { "buildResources": "assets", "output": "build" }, "extraResources": [ { "from": ".mail-bridge/mail-bridge", "to": "mail-bridge/mail-bridge" }, "./assets/**", "./clamAV/**", "./src/apps/nautilus-extension/internxt-virtual-drive.py", "./dist/fuse-daemon", { "from": "./node_modules/better-sqlite3", "to": "node_modules/better-sqlite3", "filter": [ "**/*" ] }, { "from": "./node_modules/bindings", "to": "node_modules/bindings", "filter": [ "**/*" ] }, { "from": "./node_modules/file-uri-to-path", "to": "node_modules/file-uri-to-path", "filter": [ "**/*" ] } ] }, "devDependencies": { "@electron/rebuild": "4.0.4", "@headlessui/react": "^1.4.2", "@iconscout/react-unicons": "^1.1.6", "@internxt/eslint-config-internxt": "^1.0.9", "@internxt/lib": "^1.5.2", "@phosphor-icons/react": "2.0.9", "@pmmmwh/react-refresh-webpack-plugin": "0.6.3", "@radix-ui/react-select": "^1.2.2", "@svgr/webpack": "^6.1.2", "@tailwindcss/postcss": "^4.3.3", "@tanstack/react-virtual": "^3.13.12", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^12.1.2", "@testing-library/react-hooks": "^8.0.1", "@testing-library/user-event": "^14.6.1", "@types/archiver": "^8.0.0", "@types/async": "^3.2.16", "@types/bytes": "^3.1.1", "@types/chance": "^1.1.3", "@types/dotenv-webpack": "^7.0.3", "@types/jsonwebtoken": "^9.0.2", "@types/lodash": "^4.14.178", "@types/node": "^24.0.0", "@types/node-schedule": "^2.1.0", "@types/react": "^17.0.38", "@types/react-dom": "^17.0.11", "@types/terser-webpack-plugin": "^5.0.4", "@types/uuid": "^11.0.0", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-react": "^6.0.2", "@vitest/coverage-v8": "^4.1.8", "@vitest/ui": "^4.1.8", "autoprefixer": "^10.4.1", "axios-mock-adapter": "^1.21.2", "bytes": "^3.1.1", "chalk": "^4.1.2", "chance": "^1.1.13", "concurrently": "^6.5.1", "core-js": "^3.20.1", "cross-env": "^7.0.3", "css-loader": "^6.5.1", "css-minimizer-webpack-plugin": "^8.0.0", "dayjs": "^1.10.7", "detect-port": "^1.3.0", "dotenv": "^10.0.0", "dotenv-webpack": "^7.0.3", "electron": "42.11.16", "electron-builder": "26.15.3", "electron-debug": "^4.1.0", "electron-fetch": "^1.9.1", "electron-store": "^8.2.0", "eslint": "^8.5.0", "eslint-import-resolver-typescript": "^2.5.0", "eslint-import-resolver-webpack": "^0.13.2", "eslint-plugin-import": "^2.27.5", "fflate": "^0.8.2", "framer-motion": "^5.6.0", "html-webpack-plugin": "^5.5.0", "husky": "^7.0.4", "i18next": "^22.4.13", "identity-obj-proxy": "^3.0.0", "jsdom": "^26.1.0", "jsonwebtoken": "^9.0.2", "jwt-decode": "^3.1.2", "knip": "^5.80.0", "lcov-result-merger": "^5.0.1", "lodash": "^4.18.1", "mini-css-extract-plugin": "^2.4.5", "ms": "^2.1.3", "openapi-typescript": "^7.6.1", "phosphor-react": "^1.4.1", "postcss": "^8.5.24", "postcss-loader": "^6.2.1", "prettier": "^3.6.2", "prettier-plugin-tailwindcss": "^0.8.1", "react": "^17.0.2", "react-circular-progressbar": "^2.1.0", "react-dom": "^17.0.2", "react-i18next": "^12.2.0", "react-refresh": "^0.11.0", "react-router-dom": "^6.30.6", "regenerator-runtime": "^0.13.9", "rimraf": "^3.0.2", "sass-loader": "^12.4.0", "socket.io-client": "^4.4.1", "style-loader": "^3.3.1", "tailwindcss": "^4.3.3", "terser-webpack-plugin": "^5.6.1", "ts-essentials": "^10.1.1", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", "ts-prune": "^0.10.3", "typescript": "^5.2.2", "vite-plugin-svgr": "^4.5.0", "vitest": "^4.1.11", "vitest-mock-extended": "^3.1.0", "webpack": "^5.107.2", "webpack-bundle-analyzer": "^4.5.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^6.0.0", "webpack-merge": "^5.8.0" }, "dependencies": { "@internxt/drive-desktop-core": "file:packages/core/internxt-drive-desktop-core-1.7.4.tgz", "@internxt/inxt-js": "^3.3.1", "@internxt/scan": "^1.0.7", "@internxt/sdk": "1.17.4", "archiver": "^8.0.0", "async": "^3.2.4", "axios": "^1.20.0", "better-sqlite3": "12.11.1", "bottleneck": "^2.19.5", "check-disk-space": "^3.4.0", "diod": "^2.0.0", "electron-updater": "^6.8.9", "express": "^5.2.1", "form-data": "^4.0.6", "node-schedule": "^2.1.0", "reflect-metadata": "^0.2.2", "typeorm": "^1.1.2", "uuid": "^14.0.0" }, "overrides": { "@typescript-eslint/typescript-estree": { "minimatch": "9.0.6" } }, "engines": { "node": ">=24.0.0 <25.0.0", "npm": ">=10.0.0 <11.0.0" } }