@alterior/runtime 3.5.6 → 3.6.1

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,4 +1,5 @@
1
1
  import { Annotation, AnnotationDecorator } from '@alterior/annotations';
2
+ import { Provider } from '@alterior/di';
2
3
  export interface ApplicationOptions {
3
4
  /**
4
5
  * Specify a human readable name for your application.
@@ -40,6 +41,10 @@ export interface ApplicationOptions {
40
41
  * Turn off all console output
41
42
  */
42
43
  silent?: boolean;
44
+ /**
45
+ * Additional dependency injection providers to include in the application's injector.
46
+ */
47
+ providers?: Provider[];
43
48
  }
44
49
  /**
45
50
  * Used to attach an ApplicationOptions object onto a class definition.
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AAEtF,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAG,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAG,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAG,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAG,MAAM,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAG,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAG,MAAM,EAAE,CAAC;IAEjB,KAAK,CAAC,EAAG,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAG,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAG,OAAO,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAG,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAG,kBAAkB;gBAA7B,OAAO,CAAC,EAAG,kBAAkB;CAGlD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
1
+ {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB;gBAA5B,OAAO,CAAC,EAAE,kBAAkB;CAGjD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";;;;AAAA,uDAAsF;AAuDtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAU;IACnD,YAAqB,OAA6B;QACjD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAsB;IAElD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,IAAA,0BAAY,EAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;AAJY,oDAAoB;AAMjC;;;GAGG;AACU,QAAA,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";;;;AAAA,uDAAsF;AA6DtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAU;IACnD,YAAqB,OAA4B;QAChD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAqB;IAEjD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,IAAA,0BAAY,EAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;AAJY,oDAAoB;AAMjC;;;GAGG;AACU,QAAA,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import 'reflect-metadata';
2
2
  import { ApplicationOptions } from './app-options';
3
- import { Injector } from '@alterior/di';
4
3
  import { Runtime } from './modules';
5
- import { ApplicationArgs } from './args';
6
4
  export declare class ApplicationOptionsRef {
7
5
  constructor(options: ApplicationOptions);
8
6
  readonly options: ApplicationOptions;
@@ -34,13 +32,12 @@ export declare class ExecutionContext {
34
32
  * Handles bootstrapping the application.
35
33
  */
36
34
  export declare class Application {
37
- readonly runtime?: Runtime;
38
- private _optionsRef?;
39
- private _args?;
40
- constructor(runtime?: Runtime, _optionsRef?: ApplicationOptionsRef, _args?: ApplicationArgs);
35
+ readonly runtime: Runtime;
36
+ private _optionsRef;
37
+ private _args;
41
38
  start(): void;
42
39
  stop(): void;
43
- get injector(): Injector;
40
+ get injector(): import("@alterior/di").Injector;
44
41
  inject<T>(ctor: {
45
42
  new (...args: any[]): T;
46
43
  }, notFoundValue?: T): T;
@@ -48,7 +45,6 @@ export declare class Application {
48
45
  get options(): ApplicationOptions;
49
46
  private static loadOptions;
50
47
  private static validateEntryModule;
51
- private _bootstrapped;
52
48
  /**
53
49
  * Bootstrap an Alterior application.
54
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AACzE,OAAO,EACc,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAMzC,qBAAa,qBAAqB;gBAEhC,OAAO,EAAG,kBAAkB;IAK7B,QAAQ,CAAC,OAAO,EAAG,kBAAkB,CAAC;CACtC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC5B;;;OAGG;IACI,WAAW,EAAG,WAAW,CAAQ;IAExC,MAAM,CAAC,QAAQ,CAAC,eAAe,wCAAyC;IAExE;;OAEG;IACH,WAAkB,OAAO,IAAI,gBAAgB,CAE5C;IAED;;;OAGG;IACU,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAG,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAWrD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAG,MAAM,CAAC,GAAG,CAAC;CAUxC;AAED;;GAEG;AACH,qBACa,WAAW;IAEtB,QAAQ,CAAC,OAAO,CAAC,EAAG,OAAO;IAC3B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC;gBAFL,OAAO,CAAC,EAAG,OAAO,EACnB,WAAW,CAAC,EAAG,qBAAqB,EACpC,KAAK,CAAC,EAAG,eAAe;IAK1B,KAAK;IAIL,IAAI;IAIX,IAAI,QAAQ,aAEX;IAED,MAAM,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,EAAE,aAAa,CAAC,EAAG,CAAC,GAAG,CAAC;IAI7D,IAAI,IAAI,IAAK,MAAM,EAAE,CAEpB;IAED,IAAI,OAAO,IAAK,kBAAkB,CAEjC;IAED,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC,OAAO,CAAC,aAAa,CAAmB;IAExC;;OAEG;WACW,SAAS,CAAC,WAAW,EAAG,QAAQ,EAAE,OAAO,CAAC,EAAG,kBAAkB,GAAG,WAAW;CA4D3F"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAU1B,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,qBAAqB;gBAEhC,OAAO,EAAE,kBAAkB;IAK5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC5B;;;OAGG;IACI,WAAW,EAAE,WAAW,CAAQ;IAEvC,MAAM,CAAC,QAAQ,CAAC,eAAe,wCAAyC;IAExE;;OAEG;IACH,WAAkB,OAAO,IAAI,gBAAgB,CAE5C;IAED;;;OAGG;IACU,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAWpD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;CAUvC;AAED;;GAEG;AACH,qBACa,WAAW;IACvB,QAAQ,CAAC,OAAO,UAAmB;IACnC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,KAAK,CAA2B;IAEjC,KAAK;IAIL,IAAI;IAIX,IAAI,QAAQ,oCAEX;IAED,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,KAAI,GAAG,IAAI,OAAA,GAAG,CAAC,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC;IAI1D,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAED,IAAI,OAAO,IAAI,kBAAkB,CAEhC;IAED,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC;;OAEG;WACW,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;CA6DzF"}
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Application = exports.ExecutionContext = exports.ApplicationOptionsRef = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  require("reflect-metadata");
7
- const app_options_1 = require("./app-options");
7
+ const common_1 = require("@alterior/common");
8
8
  const di_1 = require("@alterior/di");
9
- const modules_1 = require("./modules");
9
+ const app_options_1 = require("./app-options");
10
10
  const args_1 = require("./args");
11
+ const modules_1 = require("./modules");
11
12
  const roles_service_1 = require("./roles.service");
12
- const common_1 = require("@alterior/common");
13
13
  class ApplicationOptionsRef {
14
14
  constructor(options) {
15
15
  this.options = Object.assign({}, options);
@@ -66,11 +66,10 @@ ExecutionContext.ZONE_LOCAL_NAME = '@alterior/runtime:ExecutionContext';
66
66
  * Handles bootstrapping the application.
67
67
  */
68
68
  let Application = Application_1 = class Application {
69
- constructor(runtime, _optionsRef, _args) {
70
- this.runtime = runtime;
71
- this._optionsRef = _optionsRef;
72
- this._args = _args;
73
- this._bootstrapped = false;
69
+ constructor() {
70
+ this.runtime = (0, di_1.inject)(modules_1.Runtime);
71
+ this._optionsRef = (0, di_1.inject)(ApplicationOptionsRef);
72
+ this._args = (0, di_1.inject)(args_1.ApplicationArgs);
74
73
  }
75
74
  start() {
76
75
  this.runtime.start();
@@ -119,6 +118,7 @@ let Application = Application_1 = class Application {
119
118
  static bootstrap(entryModule, options) {
120
119
  let executionContext = new ExecutionContext();
121
120
  return executionContext.runSync(() => {
121
+ var _a;
122
122
  this.validateEntryModule(entryModule);
123
123
  options = this.loadOptions(entryModule, options);
124
124
  let runtime = new modules_1.Runtime(entryModule);
@@ -134,6 +134,7 @@ let Application = Application_1 = class Application {
134
134
  useValue: new ApplicationOptionsRef(options)
135
135
  });
136
136
  providers.push(Application_1);
137
+ providers.push((_a = options.providers) !== null && _a !== void 0 ? _a : []);
137
138
  runtime.providers = providers;
138
139
  let injector;
139
140
  try {
@@ -164,10 +165,7 @@ let Application = Application_1 = class Application {
164
165
  }
165
166
  };
166
167
  Application = Application_1 = tslib_1.__decorate([
167
- (0, di_1.Injectable)(),
168
- tslib_1.__metadata("design:paramtypes", [modules_1.Runtime,
169
- ApplicationOptionsRef,
170
- args_1.ApplicationArgs])
168
+ (0, di_1.Injectable)()
171
169
  ], Application);
172
170
  exports.Application = Application;
173
171
  //# sourceMappingURL=application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":";;;;;AAAA,4BAA0B;AAE1B,6CAAqD;AACrD,qCAMsB;AACtB,+CAAyE;AACzE,iCAAyC;AACzC,uCAAoC;AACpC,mDAA+C;AAE/C,MAAa,qBAAqB;IACjC,YACC,OAA2B;QAE3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CAGD;AARD,sDAQC;AAED;;;;GAIG;AACH,MAAa,gBAAgB;IAA7B;QACC;;;WAGG;QACI,gBAAW,GAAgB,IAAI,CAAC;IAoCxC,CAAC;IAhCA;;OAEG;IACI,MAAM,KAAK,OAAO;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACU,GAAG,CAAI,QAA0B;;YAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,UAAU,EAAE;oBACX,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,IAAI;iBACxC;aACD,CAAC,CAAC;YAEH,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,CAAC;KAAA;IAEM,OAAO,CAAI,QAAiB;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5B,IAAI,EAAE,0BAA0B;YAChC,UAAU,EAAE;gBACX,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,IAAI;aACxC;SACD,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;;AAxCF,4CAyCC;AAlCgB,gCAAe,GAAI,oCAAoC,CAAC;AAoCzE;;GAEG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAAjB;QACG,YAAO,GAAG,IAAA,WAAM,EAAC,iBAAO,CAAC,CAAC;QAC3B,gBAAW,GAAG,IAAA,WAAM,EAAC,qBAAqB,CAAC,CAAC;QAC5C,UAAK,GAAG,IAAA,WAAM,EAAC,sBAAe,CAAC,CAAC;IA4HzC,CAAC;IA1HO,KAAK;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEM,IAAI;QACV,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,MAAM,CAAI,IAAyB,EAAE,aAAiB;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,WAAqB,EAAE,gBAAoC;QACrF,uEAAuE;QACvE,kCAAkC;QAElC,IAAI,oBAAoB,GAAG,kCAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,kBAAkB,GAAuB,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAA,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAE3G,OAAO,MAAM,CAAC,MAAM,CACC;YACnB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,EAAE;SACb,EACD,kBAAkB,EAClB,gBAAgB,CAChB,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,MAAgB;QAClD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YACjC,MAAM,IAAI,KAAK,CACd,sDAAsD;kBACpD,gCAAgC;kBAChC,GAAG,OAAO,MAAM,gBAAgB,MAAM,GAAG,CAC3C,CAAC;SACF;QAED,IAAI,cAAc,GAAG,qBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc;YAClB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS,CAAC,WAAqB,EAAE,OAA4B;QAC1E,IAAI,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE;;YACpC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAEtC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAEjD,IAAI,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAC;YAEvC,IAAI,SAAS,GAAe;gBAC3B,sBAAe;gBACf,4BAAY;gBACZ,oBAAW;gBACX,aAAI;aACJ,CAAC;YAEF,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACvC,SAAS,CAAC,IAAI,CACb;gBACC,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,IAAI,qBAAqB,CAAC,OAAO,CAAC;aAC5C,CACD,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,aAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,MAAA,OAAO,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC;YAExC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAE9B,IAAI,QAA4B,CAAC;YACjC,IAAI;gBACH,QAAQ,GAAG,uBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aAC1D;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC7C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACjC,MAAM,CAAC,CAAC;aACR;YAEc,QAAQ,CAAC,GAAG,CAAC,4BAAY,CAAE,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAEnE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,gBAAgB,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC;YAE/D,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO,CAAC,SAAS,EAAE,CAAC;YAEpB,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAChB;YAED,IAAI,OAAO,CAAC,SAAS;gBACpB,OAAO,CAAC,KAAK,EAAE,CAAC;YAEjB,OAAO,gBAAgB,CAAC,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;IACJ,CAAC;CAED,CAAA;AA/HY,WAAW;IADvB,IAAA,eAAU,GAAE;GACA,WAAW,CA+HvB;AA/HY,kCAAW"}
@@ -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 == '-r' || 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,4 +1,5 @@
1
1
  import { Annotation, AnnotationDecorator } from '@alterior/annotations';
2
+ import { Provider } from '@alterior/di';
2
3
  export interface ApplicationOptions {
3
4
  /**
4
5
  * Specify a human readable name for your application.
@@ -40,6 +41,10 @@ export interface ApplicationOptions {
40
41
  * Turn off all console output
41
42
  */
42
43
  silent?: boolean;
44
+ /**
45
+ * Additional dependency injection providers to include in the application's injector.
46
+ */
47
+ providers?: Provider[];
43
48
  }
44
49
  /**
45
50
  * Used to attach an ApplicationOptions object onto a class definition.
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AAEtF,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAG,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAG,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAG,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAG,MAAM,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAG,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAG,MAAM,EAAE,CAAC;IAEjB,KAAK,CAAC,EAAG,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAG,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAG,OAAO,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAG,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAG,kBAAkB;gBAA7B,OAAO,CAAC,EAAG,kBAAkB;CAGlD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
1
+ {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB;gBAA5B,OAAO,CAAC,EAAE,kBAAkB;CAGjD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuDtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IACnD,YAAqB,OAA6B;QACjD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAsB;IAElD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,YAAY,CAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;SAJY,oBAAoB;AAMjC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AA6DtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IACnD,YAAqB,OAA4B;QAChD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAqB;IAEjD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,YAAY,CAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;SAJY,oBAAoB;AAMjC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import 'reflect-metadata';
2
2
  import { ApplicationOptions } from './app-options';
3
- import { Injector } from '@alterior/di';
4
3
  import { Runtime } from './modules';
5
- import { ApplicationArgs } from './args';
6
4
  export declare class ApplicationOptionsRef {
7
5
  constructor(options: ApplicationOptions);
8
6
  readonly options: ApplicationOptions;
@@ -34,13 +32,12 @@ export declare class ExecutionContext {
34
32
  * Handles bootstrapping the application.
35
33
  */
36
34
  export declare class Application {
37
- readonly runtime?: Runtime;
38
- private _optionsRef?;
39
- private _args?;
40
- constructor(runtime?: Runtime, _optionsRef?: ApplicationOptionsRef, _args?: ApplicationArgs);
35
+ readonly runtime: Runtime;
36
+ private _optionsRef;
37
+ private _args;
41
38
  start(): void;
42
39
  stop(): void;
43
- get injector(): Injector;
40
+ get injector(): import("@alterior/di").Injector;
44
41
  inject<T>(ctor: {
45
42
  new (...args: any[]): T;
46
43
  }, notFoundValue?: T): T;
@@ -48,7 +45,6 @@ export declare class Application {
48
45
  get options(): ApplicationOptions;
49
46
  private static loadOptions;
50
47
  private static validateEntryModule;
51
- private _bootstrapped;
52
48
  /**
53
49
  * Bootstrap an Alterior application.
54
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AACzE,OAAO,EACc,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAMzC,qBAAa,qBAAqB;gBAEhC,OAAO,EAAG,kBAAkB;IAK7B,QAAQ,CAAC,OAAO,EAAG,kBAAkB,CAAC;CACtC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC5B;;;OAGG;IACI,WAAW,EAAG,WAAW,CAAQ;IAExC,MAAM,CAAC,QAAQ,CAAC,eAAe,wCAAyC;IAExE;;OAEG;IACH,WAAkB,OAAO,IAAI,gBAAgB,CAE5C;IAED;;;OAGG;IACU,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAG,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAWrD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAG,MAAM,CAAC,GAAG,CAAC;CAUxC;AAED;;GAEG;AACH,qBACa,WAAW;IAEtB,QAAQ,CAAC,OAAO,CAAC,EAAG,OAAO;IAC3B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC;gBAFL,OAAO,CAAC,EAAG,OAAO,EACnB,WAAW,CAAC,EAAG,qBAAqB,EACpC,KAAK,CAAC,EAAG,eAAe;IAK1B,KAAK;IAIL,IAAI;IAIX,IAAI,QAAQ,aAEX;IAED,MAAM,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,EAAE,aAAa,CAAC,EAAG,CAAC,GAAG,CAAC;IAI7D,IAAI,IAAI,IAAK,MAAM,EAAE,CAEpB;IAED,IAAI,OAAO,IAAK,kBAAkB,CAEjC;IAED,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC,OAAO,CAAC,aAAa,CAAmB;IAExC;;OAEG;WACW,SAAS,CAAC,WAAW,EAAG,QAAQ,EAAE,OAAO,CAAC,EAAG,kBAAkB,GAAG,WAAW;CA4D3F"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAU1B,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,qBAAqB;gBAEhC,OAAO,EAAE,kBAAkB;IAK5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC5B;;;OAGG;IACI,WAAW,EAAE,WAAW,CAAQ;IAEvC,MAAM,CAAC,QAAQ,CAAC,eAAe,wCAAyC;IAExE;;OAEG;IACH,WAAkB,OAAO,IAAI,gBAAgB,CAE5C;IAED;;;OAGG;IACU,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAWpD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;CAUvC;AAED;;GAEG;AACH,qBACa,WAAW;IACvB,QAAQ,CAAC,OAAO,UAAmB;IACnC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,KAAK,CAA2B;IAEjC,KAAK;IAIL,IAAI;IAIX,IAAI,QAAQ,oCAEX;IAED,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,KAAI,GAAG,IAAI,OAAA,GAAG,CAAC,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC;IAI1D,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAED,IAAI,OAAO,IAAI,kBAAkB,CAEhC;IAED,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC;;OAEG;WACW,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;CA6DzF"}
@@ -1,12 +1,12 @@
1
1
  var Application_1;
2
- import { __awaiter, __decorate, __metadata } from "tslib";
2
+ import { __awaiter, __decorate } from "tslib";
3
3
  import 'reflect-metadata';
4
+ import { Environment, Time } from '@alterior/common';
5
+ import { inject, Injectable, ModuleAnnotation, ReflectiveInjector } from '@alterior/di';
4
6
  import { AppOptionsAnnotation } from './app-options';
5
- import { ReflectiveInjector, Injectable, ModuleAnnotation } from '@alterior/di';
6
- import { Runtime } from './modules';
7
7
  import { ApplicationArgs } from './args';
8
+ import { Runtime } from './modules';
8
9
  import { RolesService } from './roles.service';
9
- import { Environment, Time } from '@alterior/common';
10
10
  export class ApplicationOptionsRef {
11
11
  constructor(options) {
12
12
  this.options = Object.assign({}, options);
@@ -61,11 +61,10 @@ ExecutionContext.ZONE_LOCAL_NAME = '@alterior/runtime:ExecutionContext';
61
61
  * Handles bootstrapping the application.
62
62
  */
63
63
  let Application = Application_1 = class Application {
64
- constructor(runtime, _optionsRef, _args) {
65
- this.runtime = runtime;
66
- this._optionsRef = _optionsRef;
67
- this._args = _args;
68
- this._bootstrapped = false;
64
+ constructor() {
65
+ this.runtime = inject(Runtime);
66
+ this._optionsRef = inject(ApplicationOptionsRef);
67
+ this._args = inject(ApplicationArgs);
69
68
  }
70
69
  start() {
71
70
  this.runtime.start();
@@ -114,6 +113,7 @@ let Application = Application_1 = class Application {
114
113
  static bootstrap(entryModule, options) {
115
114
  let executionContext = new ExecutionContext();
116
115
  return executionContext.runSync(() => {
116
+ var _a;
117
117
  this.validateEntryModule(entryModule);
118
118
  options = this.loadOptions(entryModule, options);
119
119
  let runtime = new Runtime(entryModule);
@@ -129,6 +129,7 @@ let Application = Application_1 = class Application {
129
129
  useValue: new ApplicationOptionsRef(options)
130
130
  });
131
131
  providers.push(Application_1);
132
+ providers.push((_a = options.providers) !== null && _a !== void 0 ? _a : []);
132
133
  runtime.providers = providers;
133
134
  let injector;
134
135
  try {
@@ -159,10 +160,7 @@ let Application = Application_1 = class Application {
159
160
  }
160
161
  };
161
162
  Application = Application_1 = __decorate([
162
- Injectable(),
163
- __metadata("design:paramtypes", [Runtime,
164
- ApplicationOptionsRef,
165
- ApplicationArgs])
163
+ Injectable()
166
164
  ], Application);
167
165
  export { Application };
168
166
  //# sourceMappingURL=application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.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 == '-r' || 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.5.6",
3
+ "version": "3.6.1",
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": "220e169fc8c855dc0935620bdb5efb1e9a2b86a7"
50
+ "gitHead": "e1e2f0ee6dc9dba8c0d897330194606f97d2c0d3"
51
51
  }
@@ -1,56 +1,62 @@
1
1
  import { Annotation, AnnotationDecorator, MetadataName } from '@alterior/annotations';
2
+ import { Provider } from '@alterior/di';
2
3
 
3
4
  export interface ApplicationOptions {
4
5
 
5
6
  /**
6
7
  * Specify a human readable name for your application.
7
8
  */
8
- name? : string;
9
+ name?: string;
9
10
 
10
11
  /**
11
12
  * Version of the service
12
13
  */
13
- version? : string;
14
+ version?: string;
14
15
 
15
16
  /**
16
17
  * The computer-readable name for your application. Should match your NPM package name.
17
18
  */
18
- packageName? : string;
19
+ packageName?: string;
19
20
 
20
21
  /**
21
22
  * A long-form description for your application, when necessary. If you implement only one,
22
23
  * implement summary instead.
23
24
  */
24
- description? : string;
25
+ description?: string;
25
26
 
26
27
  /**
27
28
  * A shorter-form description for your application, when necessary. If you implement only one,
28
29
  * implement this instead of description.
29
30
  */
30
- summary? : string;
31
+ summary?: string;
31
32
 
32
33
  /**
33
34
  * A set of string tags related to your application.
34
35
  */
35
- tags? : string[];
36
+ tags?: string[];
36
37
 
37
- group? : string;
38
+ group?: string;
38
39
 
39
40
  /**
40
41
  * Enable verbose console logging for Alterior
41
42
  */
42
- verbose? : boolean;
43
+ verbose?: boolean;
43
44
 
44
45
  /**
45
46
  * Whether to start the service immediately on startup.
46
47
  * Defaults to true.
47
48
  */
48
- autostart? : boolean;
49
+ autostart?: boolean;
49
50
 
50
51
  /**
51
52
  * Turn off all console output
52
53
  */
53
- silent? : boolean;
54
+ silent?: boolean;
55
+
56
+ /**
57
+ * Additional dependency injection providers to include in the application's injector.
58
+ */
59
+ providers?: Provider[];
54
60
  }
55
61
 
56
62
  /**
@@ -58,7 +64,7 @@ export interface ApplicationOptions {
58
64
  */
59
65
  @MetadataName('@alterior/di:Application')
60
66
  export class AppOptionsAnnotation extends Annotation {
61
- constructor(readonly options? : ApplicationOptions) {
67
+ constructor(readonly options?: ApplicationOptions) {
62
68
  super();
63
69
  }
64
70
  }
@@ -1,23 +1,26 @@
1
1
  import 'reflect-metadata';
2
2
 
3
+ import { Environment, Time } from '@alterior/common';
4
+ import {
5
+ inject,
6
+ Injectable,
7
+ ModuleAnnotation,
8
+ Provider,
9
+ ReflectiveInjector
10
+ } from '@alterior/di';
3
11
  import { ApplicationOptions, AppOptionsAnnotation } from './app-options';
4
- import { ReflectiveInjector, Provider, Injectable,
5
- ModuleAnnotation, Injector } from '@alterior/di';
6
- import { Runtime } from './modules';
7
12
  import { ApplicationArgs } from './args';
13
+ import { Runtime } from './modules';
8
14
  import { RolesService } from './roles.service';
9
- import { Environment, Time } from '@alterior/common';
10
-
11
- declare let module : never;
12
15
 
13
16
  export class ApplicationOptionsRef {
14
17
  constructor(
15
- options : ApplicationOptions
18
+ options: ApplicationOptions
16
19
  ) {
17
20
  this.options = Object.assign({}, options);
18
21
  }
19
22
 
20
- readonly options : ApplicationOptions;
23
+ readonly options: ApplicationOptions;
21
24
  }
22
25
 
23
26
  /**
@@ -30,7 +33,7 @@ export class ExecutionContext {
30
33
  * Retrieve the Alterior application which is currently being executed.
31
34
  * If an application has not been bootstrapped yet, the value is null.
32
35
  */
33
- public application : Application = null;
36
+ public application: Application = null;
34
37
 
35
38
  static readonly ZONE_LOCAL_NAME = '@alterior/runtime:ExecutionContext';
36
39
 
@@ -45,7 +48,7 @@ export class ExecutionContext {
45
48
  * Execute the given function in a new zone which has
46
49
  * this ExecutionContext instance as the current execution context.
47
50
  */
48
- public async run<T>(callback : () => Promise<T>): Promise<T> {
51
+ public async run<T>(callback: () => Promise<T>): Promise<T> {
49
52
  let zone = Zone.current.fork({
50
53
  name: `AlteriorExecutionContext`,
51
54
  properties: {
@@ -56,7 +59,7 @@ export class ExecutionContext {
56
59
  return await zone.run(() => callback());
57
60
  }
58
61
 
59
- public runSync<T>(callback : () => T): T {
62
+ public runSync<T>(callback: () => T): T {
60
63
  let zone = Zone.current.fork({
61
64
  name: `AlteriorExecutionContext`,
62
65
  properties: {
@@ -73,14 +76,10 @@ export class ExecutionContext {
73
76
  */
74
77
  @Injectable()
75
78
  export class Application {
76
- constructor(
77
- readonly runtime? : Runtime,
78
- private _optionsRef? : ApplicationOptionsRef,
79
- private _args? : ApplicationArgs
80
- ) {
81
-
82
- }
83
-
79
+ readonly runtime = inject(Runtime);
80
+ private _optionsRef = inject(ApplicationOptionsRef);
81
+ private _args = inject(ApplicationArgs);
82
+
84
83
  public start() {
85
84
  this.runtime.start();
86
85
  }
@@ -93,24 +92,24 @@ export class Application {
93
92
  return this.runtime.injector;
94
93
  }
95
94
 
96
- inject<T>(ctor : { new(...args) : T }, notFoundValue? : T): T {
95
+ inject<T>(ctor: { new(...args): T }, notFoundValue?: T): T {
97
96
  return this.injector.get(ctor, notFoundValue);
98
97
  }
99
98
 
100
- get args() : string[] {
99
+ get args(): string[] {
101
100
  return this._args.get();
102
101
  }
103
102
 
104
- get options() : ApplicationOptions {
103
+ get options(): ApplicationOptions {
105
104
  return this._optionsRef.options;
106
105
  }
107
106
 
108
- private static loadOptions(entryModule : Function, bootstrapOptions : ApplicationOptions): ApplicationOptions {
107
+ private static loadOptions(entryModule: Function, bootstrapOptions: ApplicationOptions): ApplicationOptions {
109
108
  // Read an @AppOptions() decorator if any, and merge providers from it
110
109
  // into the bootstrapped providers
111
110
 
112
111
  let appOptionsAnnotation = AppOptionsAnnotation.getForClass(entryModule);
113
- let appProvidedOptions : ApplicationOptions = appOptionsAnnotation ? appOptionsAnnotation.options : {} || {};
112
+ let appProvidedOptions: ApplicationOptions = appOptionsAnnotation ? appOptionsAnnotation.options: {} || {};
114
113
 
115
114
  return Object.assign(
116
115
  <ApplicationOptions>{
@@ -125,7 +124,7 @@ export class Application {
125
124
  );
126
125
  }
127
126
 
128
- private static validateEntryModule(module : Function) {
127
+ private static validateEntryModule(module: Function) {
129
128
  if (typeof module !== 'function') {
130
129
  throw new Error(
131
130
  `You must pass a Module class as the first parameter `
@@ -138,13 +137,11 @@ export class Application {
138
137
  if (!moduleMetadata)
139
138
  throw new Error(`You must pass a module class decorated by @Module()`);
140
139
  }
141
-
142
- private _bootstrapped : boolean = false;
143
-
140
+
144
141
  /**
145
142
  * Bootstrap an Alterior application.
146
143
  */
147
- public static bootstrap(entryModule : Function, options? : ApplicationOptions): Application {
144
+ public static bootstrap(entryModule: Function, options?: ApplicationOptions): Application {
148
145
  let executionContext = new ExecutionContext();
149
146
  return executionContext.runSync(() => {
150
147
  this.validateEntryModule(entryModule);
@@ -153,7 +150,7 @@ export class Application {
153
150
 
154
151
  let runtime = new Runtime(entryModule);
155
152
 
156
- let providers : Provider[] = [
153
+ let providers: Provider[] = [
157
154
  ApplicationArgs,
158
155
  RolesService,
159
156
  Environment,
@@ -168,10 +165,11 @@ export class Application {
168
165
  }
169
166
  );
170
167
  providers.push(Application);
168
+ providers.push(options.providers ?? []);
171
169
 
172
170
  runtime.providers = providers;
173
171
 
174
- let injector : ReflectiveInjector;
172
+ let injector: ReflectiveInjector;
175
173
  try {
176
174
  injector = ReflectiveInjector.resolveAndCreate(providers);
177
175
  } catch (e) {
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 == '-r' || 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