M8: portal-shell unified frontend shell (Modular Monolith + micro-kernel). - Apollo Client -> apollo-router (port 4010, RSC prefetch) - 5 layouts: classic/focus/split/triple/canvas - Registry + PluginLoader (dynamic import ssr:false) - 3-layer props merge, Zustand PluginStore - 4 widgets: grades/notification-bell/user-menu/class-selector - config-service: new pluginConfig GraphQL resolver - apollo-router: CORS + header propagation for portal-shell - docker-compose.yml: portal-shell service block
24 lines
729 B
JavaScript
24 lines
729 B
JavaScript
module.exports = {
|
|
extends: ['@commitlint/config-conventional'],
|
|
rules: {
|
|
'type-enum': [
|
|
2,
|
|
'always',
|
|
['feat', 'fix', 'chore', 'docs', 'style', 'refactor', 'test', 'perf', 'ci', 'build', 'revert'],
|
|
],
|
|
'scope-enum': [
|
|
2,
|
|
'always',
|
|
[
|
|
'api-gateway', 'push-gateway',
|
|
'iam', 'core-edu', 'classes', 'content', 'data-ana', 'msg', 'ai',
|
|
'config-service',
|
|
'teacher-bff', 'student-bff', 'parent-bff',
|
|
'teacher-portal', 'student-portal', 'parent-portal', 'admin-portal', 'portal-shell',
|
|
'shared-proto', 'shared-ts', 'shared-go', 'shared-py', 'shared-tokens',
|
|
'arch-scan', 'infra', 'docs', 'deps', 'release',
|
|
],
|
|
],
|
|
},
|
|
};
|