| 1 |
{ |
| 2 |
"name": "hostinger-reach", |
| 3 |
"private": true, |
| 4 |
"description": "Hostinger Reach", |
| 5 |
"scripts": { |
| 6 |
"auth:gcp": "gcloud auth application-default login", |
| 7 |
"auth:gca": "npx google-artifactregistry-auth", |
| 8 |
"dev:vue-frontend": "webpack --config webpack.config.js --env target=assets --mode development --watch", |
| 9 |
"dev:blocks": "webpack --config webpack.config.js --env target=subscription --mode development --watch", |
| 10 |
"build:vue-frontend": "webpack --config webpack.config.js --env target=assets --mode production", |
| 11 |
"build:blocks": "webpack --config webpack.config.js --env target=subscription --mode production", |
| 12 |
"build:all": "npm run sync:cursor-skills && npm run build:vue-frontend && npm run build:blocks", |
| 13 |
"prepare": "npm run sync:cursor-skills && husky", |
| 14 |
"lint:php": "vendor/bin/phpcs", |
| 15 |
"lint:php:fix": "vendor/bin/phpcbf", |
| 16 |
"lint:frontend": "cd frontend/vue && eslint .", |
| 17 |
"lint:frontend:fix": "cd frontend/vue && eslint . --fix", |
| 18 |
"lint:all": "npm run lint:php && npm run lint:frontend", |
| 19 |
"test:vue": "vitest --run", |
| 20 |
"test:vue:watch": "vitest --watch", |
| 21 |
"test:vue:ui": "vitest --ui", |
| 22 |
"test:coverage": "vitest --run --coverage", |
| 23 |
"sync:cursor-skills": "npx @hostinger/wp-plugin-toolkit sync-cursor-skills" |
| 24 |
}, |
| 25 |
"lint-staged": { |
| 26 |
"*.php": [ |
| 27 |
"npm run lint:php" |
| 28 |
], |
| 29 |
"frontend/vue/**/*.{ts,vue}": [ |
| 30 |
"npm run lint:frontend" |
| 31 |
] |
| 32 |
}, |
| 33 |
"optionalDependencies": { |
| 34 |
"@rollup/rollup-linux-x64-gnu": "4.52.3" |
| 35 |
}, |
| 36 |
"devDependencies": { |
| 37 |
"@hostinger/wp-plugin-toolkit": "^1.1.0", |
| 38 |
"@rushstack/eslint-patch": "^1.12.0", |
| 39 |
"@vitejs/plugin-vue": "^6.0.2", |
| 40 |
"@vitest/coverage-v8": "^4.0.8", |
| 41 |
"@vue/test-utils": "^2.4.6", |
| 42 |
"@wordpress/babel-preset-default": "^8.34.0", |
| 43 |
"@wordpress/scripts": "^31.6.0", |
| 44 |
"copy-webpack-plugin": "^13.0.1", |
| 45 |
"css-minimizer-webpack-plugin": "^5.0.1", |
| 46 |
"eslint": "^9.32.0", |
| 47 |
"husky": "^9.1.7", |
| 48 |
"jsdom": "^25.0.1", |
| 49 |
"lint-staged": "^16.1.2", |
| 50 |
"mini-css-extract-plugin": "^2.9.2", |
| 51 |
"sass": "^1.89.2", |
| 52 |
"sass-loader": "^16.0.5", |
| 53 |
"terser-webpack-plugin": "^5.3.14", |
| 54 |
"ts-loader": "^9.5.2", |
| 55 |
"tsx": "^4.20.3", |
| 56 |
"typescript": "^5.8.3", |
| 57 |
"vite": "^7.2.7", |
| 58 |
"vitest": "^4.0.8", |
| 59 |
"vue": "^3.5.17", |
| 60 |
"vue-loader": "^16.8.3", |
| 61 |
"webpack": "^5.99.9", |
| 62 |
"webpack-cli": "^6.0.1" |
| 63 |
}, |
| 64 |
"engines": { |
| 65 |
"node": ">=20.17.0", |
| 66 |
"npm": ">=9.0.0" |
| 67 |
}, |
| 68 |
"browserslist": [ |
| 69 |
"last 2 versions" |
| 70 |
], |
| 71 |
"babel": { |
| 72 |
"presets": [ |
| 73 |
"@babel/preset-env" |
| 74 |
] |
| 75 |
}, |
| 76 |
"dependencies": { |
| 77 |
"@babel/runtime": "^7.28.4", |
| 78 |
"@hostinger/hcomponents": "^14.0.2", |
| 79 |
"@wordpress/api-fetch": "^7.34.0", |
| 80 |
"@wordpress/block-editor": "^15.7.0", |
| 81 |
"@wordpress/blocks": "^15.7.0", |
| 82 |
"@wordpress/components": "^30.7.0", |
| 83 |
"@wordpress/jest-console": "^8.34.0", |
| 84 |
"@wordpress/server-side-render": "^6.10.0", |
| 85 |
"esbuild": "^0.27.0", |
| 86 |
"html-entities": "^2.6.0", |
| 87 |
"pinia": "^2.2.6", |
| 88 |
"pinia-plugin-persistedstate": "^3.2.1", |
| 89 |
"vue-router": "^4.5.1" |
| 90 |
}, |
| 91 |
"overrides": { |
| 92 |
"diff": "8.0.3", |
| 93 |
"serialize-javascript": "7.0.3", |
| 94 |
"immutable": "5.1.5", |
| 95 |
"svgo": "3.3.3", |
| 96 |
"minimatch": "10.2.3", |
| 97 |
"webpack-dev-server": "5.2.1", |
| 98 |
"legacy-javascript": "npm:empty-npm-package@^1.0.0" |
| 99 |
} |
| 100 |
} |
| 101 |
|