Files
zeekay 7543a81c3c feat: Hanzo binding packages — @hanzo/cms-plugin-whitelabel + @hanzo/cms-auth-iam
@hanzo/cms-plugin-whitelabel:
- brand-by-domain resolution (resolveBrand: longest-suffix match, '*' fallback)
- injects logo/icon/title/favicon/og/theme per brand; neutral when unmatched
- shared-infra white-label rule (never hardcodes a brand)

@hanzo/cms-auth-iam:
- hanzoIAMStrategy: verifies Hanzo IAM (Casdoor RS256) tokens via JWKS (jose, no shared secret)
- org == tenant: maps IAM 'owner' claim -> tenant, provisions tenant + user, sets payload-tenant cookie
- iamAuthFields helper (iamSub unique, iamOrg, username)
- IAM = sole identity authority (no separate CMS login)

tsconfig paths registered; removed dangling @hanzo/cms-figma enterprise path
2026-07-01 18:03:43 -07:00

57 lines
1.6 KiB
JSON

{
"name": "@hanzo/cms-plugin-whitelabel",
"version": "1.0.0",
"description": "Brand-neutral / white-label theming for Hanzo CMS. Resolves brand (logo, icon, name, colors) by domain; neutral by default.",
"license": "MIT",
"type": "module",
"exports": {
".": {
"import": "./src/index.ts",
"types": "./src/index.ts",
"default": "./src/index.ts"
},
"./types": {
"import": "./src/types.ts",
"types": "./src/types.ts",
"default": "./src/types.ts"
}
},
"main": "./src/index.ts",
"types": "./src/index.ts",
"files": [
"dist"
],
"scripts": {
"build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
"build:debug": "pnpm build",
"build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf -g {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"lint": "eslint .",
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@hanzo/cms": "workspace:*"
},
"devDependencies": {
"@hanzo/cms-eslint-config": "workspace:*"
},
"publishConfig": {
"exports": {
".": {
"import": "./dist/index.js",
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
},
"./types": {
"import": "./dist/types.js",
"types": "./dist/types.d.ts",
"default": "./dist/types.js"
}
},
"main": "./dist/index.js",
"types": "./dist/index.d.ts"
}
}