Rename namespace from maya/* to ceedcv-maya/* (composer) and @maya/* to
@ceedcv-maya/* (npm) for public registry publication. PHP autoload
namespaces remain Maya\* — only the Composer package name changes.
Per-package changes:
- Add complete metadata: description, keywords, authors, homepage,
bugs, support links pointing back to Maya-AQSS/maya_platform
- Copy MIT LICENSE file into each package (12)
- Add README.md with installation, basic usage, peer-dependency
notes (12)
- JS: declare cross-package peer dependencies properly:
* shared-i18n-react -> shared-auth-react
* shared-layout-react -> shared-auth-react, shared-ui-react
* shared-profile-react -> shared-auth-react, shared-ui-react
* shared-sidebar-react -> shared-auth-react, shared-layout-react
- JS: add sideEffects: false (tree-shaking) and files array (publish
whitelist: src, LICENSE, README, tsconfig)
- JS: update all @maya/* runtime imports in src/ to @ceedcv-maya/*
- JS: bump version 0.1.0 -> 0.2.0
- PHP: drop redundant version field (Packagist derives from tag)
Distribution model:
- JS packages ship TypeScript source (main: src/index.ts). Consumers
using Vite or Webpack with ts-loader work out of the box. Next.js
consumers add the package to transpilePackages.
- PHP packages ship PSR-4 source as standard, Laravel auto-discovery
registers the service providers.
CI:
- Add .github/workflows/publish-npm.yml: tag push triggers npm publish
--access public --provenance for every JS package under @ceedcv-maya.
Verifies tag version matches package.json before upload.
- Packagist is updated via its GitHub webhook integration on each
split repo (no CI action required after one-time webhook setup).
Required secrets (to be added at org level before next release):
- NPM_TOKEN: npm automation token with publish rights on the
@ceedcv-maya scope.
- SPLIT_TOKEN (already configured): fine-grained PAT for splits.