Export messages and controller types from exp_roles and exp_groups

exp_scenario reached into @expcluster/roles/dist/node/* for the message
classes and the controller plugin type. The package index now re-exports
messages and the ControllerPlugin type, so consumers import from the
package name like they do with @clusterio/lib. The controller export is
type only, which keeps node code out of the web bundle. The test still
requires the controller classes from dist since they cannot be
re-exported at runtime.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bbassie
2026-09-09 17:31:31 +00:00
co-authored by Claude Fable 5.1
parent 3a9155697a
commit 51786c5df9
5 changed files with 14 additions and 8 deletions
+3 -3
View File
@@ -5,11 +5,11 @@ const { Controller } = require("@clusterio/controller");
const { ControllerPlugin } = require("../dist/node/controller");
const messages = require("../dist/node/messages");
const { seedRoles, seedGroups } = require("../dist/node/seed");
const roles = require("@expcluster/roles/dist/node");
const groups = require("@expcluster/permission-groups/dist/node");
const roles = require("@expcluster/roles");
const groups = require("@expcluster/permission-groups");
const { ControllerPlugin: RolesPlugin } = require("@expcluster/roles/dist/node/controller");
const { ControllerPlugin: GroupsPlugin } = require("@expcluster/permission-groups/dist/node/controller");
const { GroupRecord, GroupPermissions, RoleMappingRecord } = require("@expcluster/permission-groups/dist/node/messages");
const { GroupRecord, GroupPermissions, RoleMappingRecord } = require("@expcluster/permission-groups");
// Importing this defines the permissions the seed grants
require("../dist/node/permissions");