@alterior/runtime 3.6.0 → 3.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -57,13 +57,23 @@ To register a role, use `RolesService.registerRole(roleRegistration)`. This is u
57
57
 
58
58
  ## Configuring enabled roles
59
59
 
60
- When an Alterior app is bootstrapped, the `ALT_ROLES_ONLY`/`ALT_ROLES_ALL_EXCEPT` environment variables are inspected to determine which roles should be started when the application starts. The variables are comma-delimited lists of role `identifiers` that should be started or ignored. By default all registered roles are started. If both variables are specified, `ALT_ROLES_ONLY` takes precedence.
60
+ When an Alterior app is bootstrapped, several environment variables are inspected to determine which roles should be
61
+ enabled by default. They are checked in the following order (the first one found wins).
61
62
 
62
- Alternatively you can specify roles via the command line when the application is started using one of the following options:
63
+ - `ALT_ROLES_ONLY` - Enable only the given roles
64
+ - `ALT_ROLES_ALL_EXCEPT` - Enable all roles except those listed (including roles that are disabled by default)
65
+ - `ALT_ROLES_DEFAULT_EXCEPT` - Enable all default-enabled roles except those listed
66
+
67
+ The variables are comma-delimited lists of role `identifiers` that should be started or ignored. By default all
68
+ registered roles which are configured as enabled by default are started.
69
+
70
+ Alternatively you can specify roles via the command line when the application is started using one of the following
71
+ options:
63
72
 
64
73
  ```
65
- --roles-only, -r [role,...] Enable only the specified roles
66
- --roles-except, -R [role,...] Enable all roles except the specified roles
74
+ --roles-only, -r [role,...] Enable only the specified roles
75
+ --roles-skip, -x [role,...] Enable all default-enabled roles except those specified
76
+ --all-roles-except, -R [role,...] Enable all roles except the specified roles (regardless of default status)
67
77
  ```
68
78
 
69
79
  For example, to enable only the `web-server` and `tasks` roles:
@@ -1 +1 @@
1
- {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,QAAQ,EAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAG,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,QAAQ,CAAC,UAAU,EAAG,gBAAgB;IACtC,QAAQ,CAAC,QAAQ,EAAG,GAAG;gBADd,UAAU,EAAG,gBAAgB,EAC7B,QAAQ,EAAG,GAAG;CAG9B;AAED;;;;GAIG;AACH,qBAAa,OAAO;gBACJ,WAAW,EAAG,QAAQ;IAIlC,WAAW,EAAG,gBAAgB,EAAE,CAAM;IACtC,OAAO,EAAG,UAAU,EAAE,CAAM;IAC5B,SAAS,EAAG,cAAc,EAAE,CAAQ;IAEpC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,GAAG,CAAC;IAI7C;;;OAGG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAM;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAG,QAAQ,EAAE;IAQ1C;;OAEG;IACH,SAAS;IA6BT,OAAO,CAAC,SAAS,CAAS;IAE1B;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED,kBAAkB,CAAC,IAAI,EAAG,MAAM,EAAE;IAiDlC;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAG,MAAM;IAO5B,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;OAGG;IACH,IAAI,QAAQ,aAEX;IAED;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAG,QAAQ,GAAG,cAAc,EAAE;IA6B3C;;;;;;;;OAQG;IACG,IAAI;IAMV;;;;;;;OAOG;IACH,KAAK;IAOL;;OAEG;IACG,QAAQ;IAKd;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAG,UAAU,GAAG,gBAAgB;IAIlE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAmDxB"}
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,QAAQ,EAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAG,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,QAAQ,CAAC,UAAU,EAAG,gBAAgB;IACtC,QAAQ,CAAC,QAAQ,EAAG,GAAG;gBADd,UAAU,EAAG,gBAAgB,EAC7B,QAAQ,EAAG,GAAG;CAG9B;AAED;;;;GAIG;AACH,qBAAa,OAAO;gBACJ,WAAW,EAAG,QAAQ;IAIlC,WAAW,EAAG,gBAAgB,EAAE,CAAM;IACtC,OAAO,EAAG,UAAU,EAAE,CAAM;IAC5B,SAAS,EAAG,cAAc,EAAE,CAAQ;IAEpC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,GAAG,CAAC;IAI7C;;;OAGG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAM;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAG,QAAQ,EAAE;IAQ1C;;OAEG;IACH,SAAS;IAqCT,OAAO,CAAC,SAAS,CAAS;IAE1B;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED,kBAAkB,CAAC,IAAI,EAAG,MAAM,EAAE;IA2DlC;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAG,MAAM;IAO5B,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;OAGG;IACH,IAAI,QAAQ,aAEX;IAED;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAG,QAAQ,GAAG,cAAc,EAAE;IA6B3C;;;;;;;;OAQG;IACG,IAAI;IAMV;;;;;;;OAOG;IACH,KAAK;IAOL;;OAEG;IACG,QAAQ;IAKd;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAG,UAAU,GAAG,gBAAgB;IAIlE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAmDxB"}
package/dist/modules.js CHANGED
@@ -85,6 +85,13 @@ class Runtime {
85
85
  .map(x => x.class);
86
86
  rolesService.configure({ mode: 'all-except', roles });
87
87
  }
88
+ else if (environment.get().ALT_ROLES_DEFAULT_EXCEPT) {
89
+ let value = environment.get().ALT_ROLES_DEFAULT_EXCEPT;
90
+ let roles = value.split(',')
91
+ .map(x => allRoles.find(y => y.identifier == x))
92
+ .map(x => x.class);
93
+ rolesService.configure({ mode: 'default-except', roles });
94
+ }
88
95
  if (typeof process !== 'undefined' && process.argv) {
89
96
  this.processCommandLine(process.argv.slice(2));
90
97
  }
@@ -122,6 +129,14 @@ class Runtime {
122
129
  .map(x => x.class);
123
130
  rolesService.configure({ mode: 'only', roles });
124
131
  }
132
+ else if (arg == '-x' || arg == '--roles-skip') {
133
+ let value = getArgumentValue();
134
+ let roles = value.split(',')
135
+ .map(x => allRoles.find(y => y.identifier == x))
136
+ .filter(x => x)
137
+ .map(x => x.class);
138
+ rolesService.configure({ mode: 'default-except', roles });
139
+ }
125
140
  else if (arg == '-R' || arg == '--roles-all-except') {
126
141
  let value = getArgumentValue();
127
142
  let roles = value.split(',')
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type RoleConfigurationMode = 'all-except' | 'only';
1
+ export type RoleConfigurationMode = 'default' | 'default-except' | 'all-except' | 'only';
2
2
  export interface RoleConfiguration {
3
3
  mode: RoleConfigurationMode;
4
4
  roles: any[];
@@ -13,6 +13,11 @@ export interface RoleRegistration {
13
13
  * called from an Alterior module's `altOnInit()` method.
14
14
  */
15
15
  instance: any;
16
+ /**
17
+ * Set to false to cause this role to be disabled unless explicitly asked for. When unspecified, the default is
18
+ * true.
19
+ */
20
+ enabledByDefault?: boolean;
16
21
  /**
17
22
  * The identifier that will be matched when interpreting command line role enablements.
18
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"roles.service.d.ts","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,MAAM,CAAG;AAE5D,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAG,qBAAqB,CAAC;IAC7B,KAAK,EAAG,GAAG,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,QAAQ,EAAG,GAAG,CAAC;IAEf;;OAEG;IACH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAC/C,KAAK,EAAG,GAAG,CAAC;IACZ,OAAO,EAAG,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBACa,YAAY;;IAKrB,YAAY,EAAG,GAAG,EAAE,CAAQ;IAC5B,cAAc,EAAG,iBAAiB,CAAqC;IACvE,MAAM,EAAG,SAAS,EAAE,CAAM;IAE1B,IAAI,aAAa,IAAK,iBAAiB,CAEtC;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAG,gBAAgB;IAYpC,IAAI,KAAK,IAAI,SAAS,EAAE,CAEvB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,SAAS,EAAE,CAShC;IAED,IAAI,WAAW,IAAI,SAAS,EAAE,CAE7B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAG,iBAAiB;IAOpC,YAAY,CAAC,eAAe,KAAA;IAS5B,OAAO,CAAC,EAAE,EAAG,MAAM;IASb,UAAU;IAMhB,MAAM,UAAS;IAET,QAAQ;IAYR,OAAO;CAWhB"}
1
+ {"version":3,"file":"roles.service.d.ts","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,CAAG;AAE3F,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAG,qBAAqB,CAAC;IAC7B,KAAK,EAAG,GAAG,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,QAAQ,EAAG,GAAG,CAAC;IAEf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAC/C,KAAK,EAAG,GAAG,CAAC;IACZ,OAAO,EAAG,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBACa,YAAY;;IAKrB,YAAY,EAAG,GAAG,EAAE,CAAQ;IAC5B,cAAc,EAAG,iBAAiB,CAAkC;IACpE,MAAM,EAAG,SAAS,EAAE,CAAM;IAE1B,IAAI,aAAa,IAAK,iBAAiB,CAEtC;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAG,gBAAgB;IAYpC,IAAI,KAAK,IAAI,SAAS,EAAE,CAEvB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,SAAS,EAAE,CAahC;IAED,IAAI,WAAW,IAAI,SAAS,EAAE,CAE7B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAG,iBAAiB;IAOpC,YAAY,CAAC,eAAe,KAAA;IAS5B,OAAO,CAAC,EAAE,EAAG,MAAM;IASb,UAAU;IAMhB,MAAM,UAAS;IAET,QAAQ;IAYR,OAAO;CAWhB"}
@@ -4,7 +4,7 @@ exports.RolesService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const di_1 = require("@alterior/di");
6
6
  const common_1 = require("@alterior/common");
7
- const SUPPORTED_ROLE_MODES = ['all-except', 'only'];
7
+ const SUPPORTED_ROLE_MODES = ['default', 'default-except', 'all-except', 'only'];
8
8
  /**
9
9
  * Roles allow runtime configuration of which outward facing services to start.
10
10
  * For instance WebServerModule and TasksModule both register their respective roles,
@@ -14,7 +14,7 @@ const SUPPORTED_ROLE_MODES = ['all-except', 'only'];
14
14
  let RolesService = class RolesService {
15
15
  constructor() {
16
16
  this._activeRoles = null;
17
- this._configuration = { mode: 'all-except', roles: [] };
17
+ this._configuration = { mode: 'default', roles: [] };
18
18
  this._roles = [];
19
19
  this.silent = false;
20
20
  }
@@ -39,8 +39,12 @@ let RolesService = class RolesService {
39
39
  */
40
40
  get effectiveRoles() {
41
41
  let config = this._configuration;
42
- if (config.mode == 'all-except')
42
+ if (config.mode === 'default')
43
+ return this._roles.filter(x => x.enabledByDefault !== false);
44
+ else if (config.mode == 'all-except')
43
45
  return this._roles.filter(x => !config.roles.includes(x.class));
46
+ else if (config.mode == 'default-except')
47
+ return this._roles.filter(x => x.enabledByDefault !== false).filter(x => !config.roles.includes(x.class));
44
48
  else if (config.mode == 'only')
45
49
  return this._roles.filter(x => config.roles.includes(x.class));
46
50
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"roles.service.js","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.service.js","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,QAAQ,EAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAG,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,QAAQ,CAAC,UAAU,EAAG,gBAAgB;IACtC,QAAQ,CAAC,QAAQ,EAAG,GAAG;gBADd,UAAU,EAAG,gBAAgB,EAC7B,QAAQ,EAAG,GAAG;CAG9B;AAED;;;;GAIG;AACH,qBAAa,OAAO;gBACJ,WAAW,EAAG,QAAQ;IAIlC,WAAW,EAAG,gBAAgB,EAAE,CAAM;IACtC,OAAO,EAAG,UAAU,EAAE,CAAM;IAC5B,SAAS,EAAG,cAAc,EAAE,CAAQ;IAEpC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,GAAG,CAAC;IAI7C;;;OAGG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAM;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAG,QAAQ,EAAE;IAQ1C;;OAEG;IACH,SAAS;IA6BT,OAAO,CAAC,SAAS,CAAS;IAE1B;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED,kBAAkB,CAAC,IAAI,EAAG,MAAM,EAAE;IAiDlC;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAG,MAAM;IAO5B,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;OAGG;IACH,IAAI,QAAQ,aAEX;IAED;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAG,QAAQ,GAAG,cAAc,EAAE;IA6B3C;;;;;;;;OAQG;IACG,IAAI;IAMV;;;;;;;OAOG;IACH,KAAK;IAOL;;OAEG;IACG,QAAQ;IAKd;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAG,UAAU,GAAG,gBAAgB;IAIlE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAmDxB"}
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,QAAQ,EAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAG,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,QAAQ,CAAC,UAAU,EAAG,gBAAgB;IACtC,QAAQ,CAAC,QAAQ,EAAG,GAAG;gBADd,UAAU,EAAG,gBAAgB,EAC7B,QAAQ,EAAG,GAAG;CAG9B;AAED;;;;GAIG;AACH,qBAAa,OAAO;gBACJ,WAAW,EAAG,QAAQ;IAIlC,WAAW,EAAG,gBAAgB,EAAE,CAAM;IACtC,OAAO,EAAG,UAAU,EAAE,CAAM;IAC5B,SAAS,EAAG,cAAc,EAAE,CAAQ;IAEpC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,GAAG,CAAC;IAI7C;;;OAGG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAM;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAG,QAAQ,EAAE;IAQ1C;;OAEG;IACH,SAAS;IAqCT,OAAO,CAAC,SAAS,CAAS;IAE1B;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED,kBAAkB,CAAC,IAAI,EAAG,MAAM,EAAE;IA2DlC;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAG,MAAM;IAO5B,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;OAGG;IACH,IAAI,QAAQ,aAEX;IAED;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAG,QAAQ,GAAG,cAAc,EAAE;IA6B3C;;;;;;;;OAQG;IACG,IAAI;IAMV;;;;;;;OAOG;IACH,KAAK;IAOL;;OAEG;IACG,QAAQ;IAKd;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAG,UAAU,GAAG,gBAAgB;IAIlE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAmDxB"}
@@ -80,6 +80,13 @@ export class Runtime {
80
80
  .map(x => x.class);
81
81
  rolesService.configure({ mode: 'all-except', roles });
82
82
  }
83
+ else if (environment.get().ALT_ROLES_DEFAULT_EXCEPT) {
84
+ let value = environment.get().ALT_ROLES_DEFAULT_EXCEPT;
85
+ let roles = value.split(',')
86
+ .map(x => allRoles.find(y => y.identifier == x))
87
+ .map(x => x.class);
88
+ rolesService.configure({ mode: 'default-except', roles });
89
+ }
83
90
  if (typeof process !== 'undefined' && process.argv) {
84
91
  this.processCommandLine(process.argv.slice(2));
85
92
  }
@@ -117,6 +124,14 @@ export class Runtime {
117
124
  .map(x => x.class);
118
125
  rolesService.configure({ mode: 'only', roles });
119
126
  }
127
+ else if (arg == '-x' || arg == '--roles-skip') {
128
+ let value = getArgumentValue();
129
+ let roles = value.split(',')
130
+ .map(x => allRoles.find(y => y.identifier == x))
131
+ .filter(x => x)
132
+ .map(x => x.class);
133
+ rolesService.configure({ mode: 'default-except', roles });
134
+ }
120
135
  else if (arg == '-R' || arg == '--roles-all-except') {
121
136
  let value = getArgumentValue();
122
137
  let roles = value.split(',')
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type RoleConfigurationMode = 'all-except' | 'only';
1
+ export type RoleConfigurationMode = 'default' | 'default-except' | 'all-except' | 'only';
2
2
  export interface RoleConfiguration {
3
3
  mode: RoleConfigurationMode;
4
4
  roles: any[];
@@ -13,6 +13,11 @@ export interface RoleRegistration {
13
13
  * called from an Alterior module's `altOnInit()` method.
14
14
  */
15
15
  instance: any;
16
+ /**
17
+ * Set to false to cause this role to be disabled unless explicitly asked for. When unspecified, the default is
18
+ * true.
19
+ */
20
+ enabledByDefault?: boolean;
16
21
  /**
17
22
  * The identifier that will be matched when interpreting command line role enablements.
18
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"roles.service.d.ts","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,MAAM,CAAG;AAE5D,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAG,qBAAqB,CAAC;IAC7B,KAAK,EAAG,GAAG,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,QAAQ,EAAG,GAAG,CAAC;IAEf;;OAEG;IACH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAC/C,KAAK,EAAG,GAAG,CAAC;IACZ,OAAO,EAAG,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBACa,YAAY;;IAKrB,YAAY,EAAG,GAAG,EAAE,CAAQ;IAC5B,cAAc,EAAG,iBAAiB,CAAqC;IACvE,MAAM,EAAG,SAAS,EAAE,CAAM;IAE1B,IAAI,aAAa,IAAK,iBAAiB,CAEtC;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAG,gBAAgB;IAYpC,IAAI,KAAK,IAAI,SAAS,EAAE,CAEvB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,SAAS,EAAE,CAShC;IAED,IAAI,WAAW,IAAI,SAAS,EAAE,CAE7B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAG,iBAAiB;IAOpC,YAAY,CAAC,eAAe,KAAA;IAS5B,OAAO,CAAC,EAAE,EAAG,MAAM;IASb,UAAU;IAMhB,MAAM,UAAS;IAET,QAAQ;IAYR,OAAO;CAWhB"}
1
+ {"version":3,"file":"roles.service.d.ts","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,CAAG;AAE3F,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAG,qBAAqB,CAAC;IAC7B,KAAK,EAAG,GAAG,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,QAAQ,EAAG,GAAG,CAAC;IAEf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAC/C,KAAK,EAAG,GAAG,CAAC;IACZ,OAAO,EAAG,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBACa,YAAY;;IAKrB,YAAY,EAAG,GAAG,EAAE,CAAQ;IAC5B,cAAc,EAAG,iBAAiB,CAAkC;IACpE,MAAM,EAAG,SAAS,EAAE,CAAM;IAE1B,IAAI,aAAa,IAAK,iBAAiB,CAEtC;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAG,gBAAgB;IAYpC,IAAI,KAAK,IAAI,SAAS,EAAE,CAEvB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,SAAS,EAAE,CAahC;IAED,IAAI,WAAW,IAAI,SAAS,EAAE,CAE7B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAG,iBAAiB;IAOpC,YAAY,CAAC,eAAe,KAAA;IAS5B,OAAO,CAAC,EAAE,EAAG,MAAM;IASb,UAAU;IAMhB,MAAM,UAAS;IAET,QAAQ;IAYR,OAAO;CAWhB"}
@@ -1,7 +1,7 @@
1
1
  import { __awaiter, __decorate, __metadata } from "tslib";
2
2
  import { Injectable } from "@alterior/di";
3
3
  import { timeout, InvalidOperationError, ArgumentError } from "@alterior/common";
4
- const SUPPORTED_ROLE_MODES = ['all-except', 'only'];
4
+ const SUPPORTED_ROLE_MODES = ['default', 'default-except', 'all-except', 'only'];
5
5
  /**
6
6
  * Roles allow runtime configuration of which outward facing services to start.
7
7
  * For instance WebServerModule and TasksModule both register their respective roles,
@@ -11,7 +11,7 @@ const SUPPORTED_ROLE_MODES = ['all-except', 'only'];
11
11
  let RolesService = class RolesService {
12
12
  constructor() {
13
13
  this._activeRoles = null;
14
- this._configuration = { mode: 'all-except', roles: [] };
14
+ this._configuration = { mode: 'default', roles: [] };
15
15
  this._roles = [];
16
16
  this.silent = false;
17
17
  }
@@ -36,8 +36,12 @@ let RolesService = class RolesService {
36
36
  */
37
37
  get effectiveRoles() {
38
38
  let config = this._configuration;
39
- if (config.mode == 'all-except')
39
+ if (config.mode === 'default')
40
+ return this._roles.filter(x => x.enabledByDefault !== false);
41
+ else if (config.mode == 'all-except')
40
42
  return this._roles.filter(x => !config.roles.includes(x.class));
43
+ else if (config.mode == 'default-except')
44
+ return this._roles.filter(x => x.enabledByDefault !== false).filter(x => !config.roles.includes(x.class));
41
45
  else if (config.mode == 'only')
42
46
  return this._roles.filter(x => config.roles.includes(x.class));
43
47
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"roles.service.js","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.service.js","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alterior/runtime",
3
- "version": "3.6.0",
3
+ "version": "3.6.2",
4
4
  "description": "Core runtime for Alterior apps",
5
5
  "author": "The Alterior Project (https://github.com/alterior-mvc)",
6
6
  "license": "MIT",
@@ -47,5 +47,5 @@
47
47
  "zone.js": "^0.11.4"
48
48
  },
49
49
  "lernaKick": 1,
50
- "gitHead": "c83b259643c92246ac54eaadc88f5794ae7dae57"
50
+ "gitHead": "3d76494c065dfd4167c4653765fd2ade030ad9f4"
51
51
  }
package/src/modules.ts CHANGED
@@ -92,6 +92,14 @@ export class Runtime {
92
92
  ;
93
93
 
94
94
  rolesService.configure({ mode: 'all-except', roles });
95
+ } else if (environment.get<any>().ALT_ROLES_DEFAULT_EXCEPT) {
96
+ let value = environment.get<any>().ALT_ROLES_DEFAULT_EXCEPT;
97
+ let roles = value.split(',')
98
+ .map(x => allRoles.find(y => y.identifier == x))
99
+ .map(x => x.class)
100
+ ;
101
+
102
+ rolesService.configure({ mode: 'default-except', roles });
95
103
  }
96
104
 
97
105
  if (typeof process !== 'undefined' && process.argv) {
@@ -143,6 +151,16 @@ export class Runtime {
143
151
  ;
144
152
 
145
153
  rolesService.configure({ mode: 'only', roles });
154
+ } else if (arg == '-x' || arg == '--roles-skip') {
155
+ let value = getArgumentValue();
156
+
157
+ let roles = value.split(',')
158
+ .map(x => allRoles.find(y => y.identifier == x))
159
+ .filter(x => x)
160
+ .map(x => x.class)
161
+ ;
162
+
163
+ rolesService.configure({ mode: 'default-except', roles });
146
164
  } else if (arg == '-R' || arg == '--roles-all-except') {
147
165
  let value = getArgumentValue();
148
166
 
@@ -1,8 +1,8 @@
1
1
  import { Injectable } from "@alterior/di";
2
2
  import { timeout, InvalidOperationError, ArgumentError } from "@alterior/common";
3
3
 
4
- const SUPPORTED_ROLE_MODES = ['all-except', 'only' ];
5
- export type RoleConfigurationMode = 'all-except' | 'only' ;
4
+ const SUPPORTED_ROLE_MODES = [ 'default', 'default-except', 'all-except', 'only' ];
5
+ export type RoleConfigurationMode = 'default' | 'default-except' | 'all-except' | 'only' ;
6
6
 
7
7
  export interface RoleConfiguration {
8
8
  mode : RoleConfigurationMode;
@@ -19,6 +19,12 @@ export interface RoleRegistration {
19
19
  * called from an Alterior module's `altOnInit()` method.
20
20
  */
21
21
  instance : any;
22
+
23
+ /**
24
+ * Set to false to cause this role to be disabled unless explicitly asked for. When unspecified, the default is
25
+ * true.
26
+ */
27
+ enabledByDefault?: boolean;
22
28
 
23
29
  /**
24
30
  * The identifier that will be matched when interpreting command line role enablements.
@@ -65,7 +71,7 @@ export class RolesService {
65
71
  }
66
72
 
67
73
  _activeRoles : any[] = null;
68
- _configuration : RoleConfiguration = { mode: 'all-except', roles: [] };
74
+ _configuration : RoleConfiguration = { mode: 'default', roles: [] };
69
75
  _roles : RoleState[] = [];
70
76
 
71
77
  get configuration() : RoleConfiguration {
@@ -97,8 +103,12 @@ export class RolesService {
97
103
  get effectiveRoles(): RoleState[] {
98
104
  let config = this._configuration;
99
105
 
100
- if (config.mode == 'all-except')
106
+ if (config.mode === 'default')
107
+ return this._roles.filter(x => x.enabledByDefault !== false);
108
+ else if (config.mode == 'all-except')
101
109
  return this._roles.filter(x => !config.roles.includes(x.class));
110
+ else if (config.mode == 'default-except')
111
+ return this._roles.filter(x => x.enabledByDefault !== false).filter(x => !config.roles.includes(x.class));
102
112
  else if (config.mode == 'only')
103
113
  return this._roles.filter(x => config.roles.includes(x.class));
104
114