Files
longbridge__developers/package.json
拉罐 30401a857a feat: integrate Google One Tap login via CDN bundle (#1051)
Inject the `google-one-tap.es.js` CDN bundle into every page <head> via
VitePress `head` config, so it loads in both `bun run dev` and built
output (works around `transformHtml` being build-only).

- Gated by `VITE_REGION !== 'cn'` (Google unavailable in China).
- `data-proxy` attribute driven by `process.env.PROXY`: `canary` for
`dev:canary` / `build:canary`, otherwise `production`. CI inherits via
the same npm scripts — no workflow edits required.
- No `data-region` passed: the bundle falls back to `app-id` / `region`
cookies with `sg` default, which is correct for this first-party
`.longbridge.com` site.
- On success the bundle writes session cookies on `.longbridge.com` and
reloads, so `longportInternal.isLogin()` picks it up.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 10:38:18 +08:00

77 lines
3.1 KiB
JSON

{
"name": "openapi-website",
"version": "0.0.1",
"author": "longbridge",
"module": "index.ts",
"description": "this is a website of longbridge developers",
"license": "MIT",
"private": true,
"scripts": {
"dev": "vitepress dev docs",
"dev:canary": "cross-env PROXY=canary VITE_API_BASE_URL=https://openapi.longbridge.xyz npx vitepress dev docs",
"dev:cn": "cross-env VITE_REGION=cn VITE_API_BASE_URL=https://openapi.longbridge.cn VITE_SITE_HOSTNAME=https://open.longbridge.cn npx vitepress dev docs",
"build:canary": "cross-env \"NODE_OPTIONS=--max-old-space-size=12288 --expose-gc\" PROXY=canary VITE_API_BASE_URL=https://openapi.longbridge.xyz npx vitepress build docs && bun run build:llms && bun run build:copy-routes",
"build:release": "cross-env \"NODE_OPTIONS=--max-old-space-size=12288 --expose-gc\" VITE_API_BASE_URL=https://openapi.longbridge.com npx vitepress build docs && bun run build:llms && bun run build:copy-routes",
"build:cn": "cross-env \"NODE_OPTIONS=--max-old-space-size=12288 --expose-gc\" VITE_REGION=cn VITE_API_BASE_URL=https://openapi.longbridge.cn VITE_PORTAL_GATEWAY_BASE_URL=https://m.lbkrs.com VITE_SITE_HOSTNAME=https://open.longbridge.cn npx vitepress build docs && bun run build:llms && bun run build:copy-routes",
"build:llms": "bun run scripts/normalize_md.ts && bun run scripts/generate-llms.ts",
"build:copy-routes": "bun run scripts/copy-routes.ts",
"preview": "vitepress preview docs",
"lint:docs": "prettier -c --parser typescript \"packages/**/*.{js,ts,vue}\"",
"format:docs": "prettier --write \"packages/**/*.{js,ts,vue}\""
},
"type": "module",
"dependencies": {
"@headlessui/vue": "^1.7.23",
"@inspira-ui/plugins": "^0.0.2",
"@jsonforms/core": "^3.5.1",
"@jsonforms/vue": "^3.5.1",
"@jsonforms/vue-vanilla": "^3.5.1",
"@tailwindcss/postcss": "^4.2.2",
"@vue-flow/background": "^1.3.2",
"@vue-flow/core": "^1.48.2",
"@vueuse/core": "^14.2.1",
"cheerio": "^1.1.0",
"floating-vue": "^5.2.2",
"fs-extra": "^11.3.0",
"glob": "^11.0.3",
"gray-matter": "^4.0.3",
"js-yaml": "^4.1.1",
"markdown-it": "^14.1.1",
"motion-v": "^2.2.0",
"qrcode": "^1.5.4",
"reka-ui": "^2.9.6",
"shiki": "^3.6.0",
"tailwindcss": "^4.2.2",
"tw-animate-css": "^1.4.0",
"ufo": "^1.6.1",
"vite": "^8.0.0",
"vue-i18n": "11"
},
"devDependencies": {
"@types/bun": "latest",
"@types/fs-extra": "^11.0.4",
"@types/js-yaml": "^4.0.9",
"@types/qrcode": "^1.5.6",
"@unocss/extractor-mdc": "^66.1.2",
"@unocss/transformer-variant-group": "^66.1.2",
"cross-env": "^7.0.3",
"markdown-it-container": "^4.0.0",
"markdown-it-mathjax3": "^4.3.2",
"mermaid": "^11.8.1",
"postcss-rtlcss": "^5.7.0",
"prettier": "^3.5.3",
"sass-embedded": "^1.89.2",
"unocss": "^66.1.2",
"vitepress": "2.0.0-alpha.16",
"vitepress-plugin-group-icons": "^1.5.2",
"vitepress-plugin-mermaid": "^2.0.17",
"vue": "^3.5.13"
},
"peerDependencies": {
"typescript": "^5"
},
"engines": {
"node": ">=24.0.0"
}
}