- Bump Node.js to version 18. This change is necessary as Node.js v16 will reach end-of-life on 2023-09-11. It also ensure compatibility with dependencies requiring minimum of Node.js v18, such as `vite`, `@vitejs`plugin-legacy` and `icon-gen`. - Bump `setup-node` action to v4. - Recommend using the `nvm` tool for managing Node.js versions in the documentation. - Update documentation to point to code reference for required Node.js version. This removes duplication of information, and keeps the code as single source of truth for required Node.js version. - Refactor code to adopt the `node:` protocol for Node API imports as per Node.js 18 standards. This change addresses ambiguities and aligns with Node.js best practices (nodejs/node#38343). Currently, there is no ESLint rule to enforce this protocol, as noted in import-js/eslint-plugin-import#2717. - Replace `cross-fetch` dependency with the native Node.js fetch API introduced in Node.js 18. Adjust type casting for async iterable read streams to align with the latest Node.js APIs, based on discussions in DefinitelyTyped/DefinitelyTyped#65542.
107 lines
4.7 KiB
JSON
107 lines
4.7 KiB
JSON
{
|
|
"name": "privacy.sexy",
|
|
"version": "0.12.9",
|
|
"private": true,
|
|
"slogan": "Now you have the choice",
|
|
"description": "Enforce privacy & security best-practices on Windows, macOS and Linux, because privacy is sexy 🍑🍆",
|
|
"author": "undergroundwires",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vue-tsc --noEmit && vite build",
|
|
"preview": "vite preview",
|
|
"test:unit": "vitest run --dir tests/unit",
|
|
"test:integration": "vitest run --dir tests/integration",
|
|
"test:cy:run": "start-server-and-test \"vite build && vite preview --port 7070\" http://localhost:7070 \"cypress run --config baseUrl=http://localhost:7070\"",
|
|
"test:cy:open": "start-server-and-test \"vite --port 7070 --mode production\" http://localhost:7070 \"cypress open --config baseUrl=http://localhost:7070\"",
|
|
"lint": "npm run lint:md && npm run lint:md:consistency && npm run lint:md:relative-urls && npm run lint:eslint && npm run lint:yaml",
|
|
"install-deps": "node scripts/npm-install.js",
|
|
"icons:build": "node scripts/logo-update.js",
|
|
"check:desktop": "vitest run --dir tests/checks/desktop-runtime-errors --environment node",
|
|
"check:external-urls": "vitest run --dir tests/checks/external-urls --environment node",
|
|
"check:verify-build-artifacts": "node scripts/verify-build-artifacts",
|
|
"electron:dev": "electron-vite dev",
|
|
"electron:preview": "electron-vite preview",
|
|
"electron:prebuild": "electron-vite build",
|
|
"electron:build": "electron-builder",
|
|
"lint:eslint": "eslint . --max-warnings=0 --ignore-path .gitignore",
|
|
"lint:md": "markdownlint **/*.md --ignore node_modules",
|
|
"lint:md:consistency": "remark . --frail --use remark-preset-lint-consistent",
|
|
"lint:md:relative-urls": "remark . --frail --use remark-validate-links",
|
|
"lint:yaml": "yamllint **/*.yaml --ignore=node_modules/**/*.yaml",
|
|
"postinstall": "electron-builder install-app-deps",
|
|
"postuninstall": "electron-builder install-app-deps"
|
|
},
|
|
"dependencies": {
|
|
"@floating-ui/vue": "^1.0.2",
|
|
"@juggle/resize-observer": "^3.4.0",
|
|
"ace-builds": "^1.30.0",
|
|
"electron-log": "^5.0.1",
|
|
"electron-progressbar": "^2.1.0",
|
|
"electron-updater": "^6.1.4",
|
|
"file-saver": "^2.0.5",
|
|
"markdown-it": "^13.0.2",
|
|
"vue": "^3.3.7"
|
|
},
|
|
"devDependencies": {
|
|
"@modyfi/vite-plugin-yaml": "^1.0.4",
|
|
"@rushstack/eslint-patch": "^1.5.1",
|
|
"@types/ace": "^0.0.49",
|
|
"@types/file-saver": "^2.0.5",
|
|
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
"@typescript-eslint/parser": "^5.62.0",
|
|
"@vitejs/plugin-legacy": "^4.1.1",
|
|
"@vitejs/plugin-vue": "^4.4.0",
|
|
"@vue/eslint-config-airbnb-with-typescript": "^7.0.0",
|
|
"@vue/eslint-config-typescript": "^11.0.3",
|
|
"@vue/test-utils": "^2.4.1",
|
|
"autoprefixer": "^10.4.16",
|
|
"cypress": "^13.3.1",
|
|
"electron": "^27.0.0",
|
|
"electron-builder": "^24.6.4",
|
|
"electron-devtools-installer": "^3.2.0",
|
|
"electron-icon-builder": "^2.0.1",
|
|
"electron-vite": "^1.0.28",
|
|
"eslint": "^8.51.0",
|
|
"eslint-plugin-cypress": "^2.15.1",
|
|
"eslint-plugin-vue": "^9.17.0",
|
|
"eslint-plugin-vuejs-accessibility": "^2.2.0",
|
|
"icon-gen": "^4.0.0",
|
|
"jsdom": "^22.1.0",
|
|
"markdownlint-cli": "^0.37.0",
|
|
"postcss": "^8.4.31",
|
|
"remark-cli": "^12.0.0",
|
|
"remark-lint-no-dead-urls": "^1.1.0",
|
|
"remark-preset-lint-consistent": "^5.1.2",
|
|
"remark-validate-links": "^13.0.0",
|
|
"sass": "^1.69.3",
|
|
"start-server-and-test": "^2.0.1",
|
|
"svgexport": "^0.4.2",
|
|
"terser": "^5.21.0",
|
|
"tslib": "^2.6.2",
|
|
"typescript": "^5.2.2",
|
|
"vite": "^4.4.11",
|
|
"vitest": "^0.34.6",
|
|
"vue-tsc": "^1.8.19",
|
|
"yaml-lint": "^1.7.0"
|
|
},
|
|
"//devDependencies": {
|
|
"terser": "Used by @vitejs/plugin-legacy for minification",
|
|
"@rushstack/eslint-patch": "Needed by @vue/eslint-config-typescript",
|
|
"@vue/eslint-config-typescript": "Cannot upgrade to 12.X.X due to @vue/eslint-config-airbnb-with-typescript, https://github.com/vuejs/eslint-config-airbnb/issues/58",
|
|
"@typescript-eslint/eslint-plugin": "Cannot upgrade to 6.X.X due to @vue/eslint-config-airbnb-with-typescript, https://github.com/vuejs/eslint-config-airbnb/issues/58",
|
|
"@typescript-eslint/parser": "Cannot upgrade to 6.X.X due to @vue/eslint-config-airbnb-with-typescript, https://github.com/vuejs/eslint-config-airbnb/issues/58"
|
|
},
|
|
"homepage": "https://privacy.sexy",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/undergroundwires/privacy.sexy.git"
|
|
},
|
|
"optionalDependencies": {
|
|
"dmg-license": "^1.0.11"
|
|
},
|
|
"//optionalDependencies": {
|
|
"dmg-license": "Required by `electron-builder` for DMG builds on macOS, https://github.com/electron-userland/electron-builder/issues/6489, https://github.com/electron-userland/electron-builder/issues/6520"
|
|
}
|
|
}
|