@digitaldefiance/node-express-suite 3.12.12 → 3.12.15
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 +59 -0
- package/package.json +6 -2
- package/src/application.d.ts +1 -0
- package/src/application.d.ts.map +1 -1
- package/src/application.js +12 -1
- package/src/application.js.map +1 -1
- package/src/environment.d.ts +5 -1
- package/src/environment.d.ts.map +1 -1
- package/src/environment.js +31 -0
- package/src/environment.js.map +1 -1
- package/src/greenlock-manager.d.ts +56 -0
- package/src/greenlock-manager.d.ts.map +1 -0
- package/src/greenlock-manager.js +149 -0
- package/src/greenlock-manager.js.map +1 -0
- package/src/index.d.ts +2 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +4 -1
- package/src/index.js.map +1 -1
- package/src/interfaces/environment.d.ts +19 -0
- package/src/interfaces/environment.d.ts.map +1 -1
- package/src/interfaces/index.d.ts +1 -0
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/interfaces/index.js +1 -0
- package/src/interfaces/index.js.map +1 -1
- package/src/interfaces/network/index.d.ts +3 -0
- package/src/interfaces/network/index.d.ts.map +1 -0
- package/src/interfaces/network/index.js +6 -0
- package/src/interfaces/network/index.js.map +1 -0
- package/src/interfaces/network/upnpService.d.ts +86 -0
- package/src/interfaces/network/upnpService.d.ts.map +1 -0
- package/src/interfaces/network/upnpService.js +3 -0
- package/src/interfaces/network/upnpService.js.map +1 -0
- package/src/interfaces/network/upnpTypes.d.ts +120 -0
- package/src/interfaces/network/upnpTypes.d.ts.map +1 -0
- package/src/interfaces/network/upnpTypes.js +57 -0
- package/src/interfaces/network/upnpTypes.js.map +1 -0
- package/src/plugins/index.d.ts +1 -0
- package/src/plugins/index.d.ts.map +1 -1
- package/src/plugins/index.js +1 -0
- package/src/plugins/index.js.map +1 -1
- package/src/plugins/upnp.d.ts +129 -0
- package/src/plugins/upnp.d.ts.map +1 -0
- package/src/plugins/upnp.js +158 -0
- package/src/plugins/upnp.js.map +1 -0
- package/src/services/index.d.ts +3 -0
- package/src/services/index.d.ts.map +1 -1
- package/src/services/index.js +3 -0
- package/src/services/index.js.map +1 -1
- package/src/services/upnp-config.d.ts +131 -0
- package/src/services/upnp-config.d.ts.map +1 -0
- package/src/services/upnp-config.js +225 -0
- package/src/services/upnp-config.js.map +1 -0
- package/src/services/upnp-manager.d.ts +211 -0
- package/src/services/upnp-manager.d.ts.map +1 -0
- package/src/services/upnp-manager.js +447 -0
- package/src/services/upnp-manager.js.map +1 -0
- package/src/services/upnp.d.ts +241 -0
- package/src/services/upnp.d.ts.map +1 -0
- package/src/services/upnp.js +415 -0
- package/src/services/upnp.js.map +1 -0
- package/src/utils.d.ts +13 -0
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js +26 -0
- package/src/utils.js.map +1 -1
package/README.md
CHANGED
|
@@ -685,6 +685,65 @@ yarn add -D @faker-js/faker
|
|
|
685
685
|
- **11 modules** at 100% coverage
|
|
686
686
|
- All critical paths tested (validation, auth, services)
|
|
687
687
|
|
|
688
|
+
## Let's Encrypt (Automated TLS)
|
|
689
|
+
|
|
690
|
+
The package supports automated TLS certificate management via [Let's Encrypt](https://letsencrypt.org/) using `greenlock-express`. When enabled, the Application automatically obtains and renews certificates, serves your app over HTTPS on port 443, and redirects HTTP traffic from port 80 to HTTPS.
|
|
691
|
+
|
|
692
|
+
### Environment Variables
|
|
693
|
+
|
|
694
|
+
| Variable | Type | Default | Description |
|
|
695
|
+
|---|---|---|---|
|
|
696
|
+
| `LETS_ENCRYPT_ENABLED` | `boolean` | `false` | Set to `true` or `1` to enable Let's Encrypt certificate management |
|
|
697
|
+
| `LETS_ENCRYPT_EMAIL` | `string` | *(required when enabled)* | Contact email for your Let's Encrypt account (used for expiry notices and account recovery) |
|
|
698
|
+
| `LETS_ENCRYPT_HOSTNAMES` | `string` | *(required when enabled)* | Comma-separated list of hostnames to obtain certificates for (supports wildcards, e.g. `*.example.com`) |
|
|
699
|
+
| `LETS_ENCRYPT_STAGING` | `boolean` | `false` | Set to `true` or `1` to use the Let's Encrypt staging directory (recommended for testing) |
|
|
700
|
+
| `LETS_ENCRYPT_CONFIG_DIR` | `string` | `./greenlock.d` | Directory for Greenlock configuration and certificate storage |
|
|
701
|
+
|
|
702
|
+
### Example: Single Hostname
|
|
703
|
+
|
|
704
|
+
```env
|
|
705
|
+
LETS_ENCRYPT_ENABLED=true
|
|
706
|
+
LETS_ENCRYPT_EMAIL=admin@example.com
|
|
707
|
+
LETS_ENCRYPT_HOSTNAMES=example.com
|
|
708
|
+
LETS_ENCRYPT_STAGING=false
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
### Example: Multiple Hostnames with Wildcard
|
|
712
|
+
|
|
713
|
+
```env
|
|
714
|
+
LETS_ENCRYPT_ENABLED=true
|
|
715
|
+
LETS_ENCRYPT_EMAIL=admin@example.com
|
|
716
|
+
LETS_ENCRYPT_HOSTNAMES=example.com,*.example.com,api.example.com
|
|
717
|
+
LETS_ENCRYPT_STAGING=false
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
Wildcard hostnames (e.g. `*.example.com`) require DNS-01 challenge validation. Ensure your DNS provider supports programmatic record creation or configure the appropriate Greenlock plugin.
|
|
721
|
+
|
|
722
|
+
### Port Requirements
|
|
723
|
+
|
|
724
|
+
When Let's Encrypt is enabled, the Application binds to three ports:
|
|
725
|
+
|
|
726
|
+
- **Port 443** — HTTPS server with the auto-managed TLS certificate
|
|
727
|
+
- **Port 80** — HTTP redirect server (301 redirects all traffic to HTTPS, also serves ACME HTTP-01 challenges)
|
|
728
|
+
- **`environment.port`** (default 3000) — Primary HTTP server for internal or health-check traffic
|
|
729
|
+
|
|
730
|
+
Ports 80 and 443 are privileged ports on most systems. You may need elevated permissions to bind to them:
|
|
731
|
+
|
|
732
|
+
- **Linux**: Use `setcap` to grant the Node.js binary the capability without running as root:
|
|
733
|
+
```bash
|
|
734
|
+
sudo setcap 'cap_net_bind_service=+ep' $(which node)
|
|
735
|
+
```
|
|
736
|
+
- **Docker**: Map the ports in your container configuration (containers typically run as root internally)
|
|
737
|
+
- **Reverse proxy**: Alternatively, run behind a reverse proxy (e.g. nginx) that handles ports 80/443 and forwards to your app
|
|
738
|
+
|
|
739
|
+
### Mutual Exclusivity with Dev-Certificate HTTPS
|
|
740
|
+
|
|
741
|
+
Let's Encrypt mode and the dev-certificate HTTPS mode (`HTTPS_DEV_CERT_ROOT`) are mutually exclusive at runtime. When `LETS_ENCRYPT_ENABLED=true`, the dev-certificate HTTPS block is automatically skipped to avoid port conflicts. You do not need to unset `HTTPS_DEV_CERT_ROOT` — the Application handles this internally.
|
|
742
|
+
|
|
743
|
+
- **Production**: Use `LETS_ENCRYPT_ENABLED=true` for real certificates
|
|
744
|
+
- **Development**: Use `HTTPS_DEV_CERT_ROOT` for self-signed dev certificates
|
|
745
|
+
- **Never enable both simultaneously** — Let's Encrypt takes precedence when enabled
|
|
746
|
+
|
|
688
747
|
## Best Practices
|
|
689
748
|
|
|
690
749
|
### Security
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/node-express-suite",
|
|
3
|
-
"version": "3.12.
|
|
3
|
+
"version": "3.12.15",
|
|
4
4
|
"homepage": "https://github.com/Digital-Defiance/node-express-suite",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -52,21 +52,25 @@
|
|
|
52
52
|
"ejs": "^3.1.10",
|
|
53
53
|
"express": "^5.1.0",
|
|
54
54
|
"express-validator": "^7.2.1",
|
|
55
|
+
"greenlock-express": "^4.0.3",
|
|
55
56
|
"helmet": "^8.1.0",
|
|
56
57
|
"http": "^0.0.1-security",
|
|
57
58
|
"jsonwebtoken": "^9.0.2",
|
|
58
59
|
"mongodb": "^6.20.0",
|
|
59
60
|
"mongodb-memory-server": "^10.1.4",
|
|
60
61
|
"mongoose": "^8.18.2",
|
|
62
|
+
"nat-upnp": "^1.1.1",
|
|
61
63
|
"reflect-metadata": "^0.2.2",
|
|
62
64
|
"zod": "^3.24.0"
|
|
63
65
|
},
|
|
64
66
|
"devDependencies": {
|
|
65
67
|
"@digitaldefiance/express-suite-test-utils": "1.1.1",
|
|
68
|
+
"@types/nat-upnp": "^1.1.5",
|
|
66
69
|
"@typescript-eslint/eslint-plugin": "^8.53.1",
|
|
67
70
|
"@typescript-eslint/parser": "^8.53.1",
|
|
68
71
|
"eslint-plugin-import": "^2.32.0",
|
|
69
|
-
"eslint-plugin-prettier": "^5.5.4"
|
|
72
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
73
|
+
"fast-check": "^4.3.0"
|
|
70
74
|
},
|
|
71
75
|
"files": [
|
|
72
76
|
"src",
|
package/src/application.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export declare class Application<TInitResults extends IServerInitResult<TID>, TM
|
|
|
25
25
|
private readonly _appRouterFactory;
|
|
26
26
|
private readonly _initMiddleware;
|
|
27
27
|
private _apiRouter?;
|
|
28
|
+
private greenlockManager;
|
|
28
29
|
get environment(): TEnvironment;
|
|
29
30
|
protected registerServices(): void;
|
|
30
31
|
constructor(environment: TEnvironment, apiRouterFactory: (app: IApplication<TID>) => BaseRouter<TID>, schemaMapFactory: (connection: mongoose.Connection) => SchemaMap<TID, TModelDocs>, databaseInitFunction: (application: BaseApplication<TID, TModelDocs, TInitResults>) => Promise<IFailableResult<TInitResults>>, initResultHashFunction: (initResults: TInitResults) => string, cspConfig?: ICSPConfig | HelmetOptions | IFlexibleCSP, constants?: TConstants, appRouterFactory?: (apiRouter: BaseRouter<TID>) => TAppRouter, customInitMiddleware?: typeof initMiddleware);
|
package/src/application.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAOvD,OAAgB,EACd,WAAW,IAAI,kBAAkB,EAIlC,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,eAAe,EAEf,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAiB,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAOvD,OAAgB,EACd,WAAW,IAAI,kBAAkB,EAIlC,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,eAAe,EAEf,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAiB,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAOlE,qBAAa,WAAW,CACtB,YAAY,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAC3C,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC1D,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EACxD,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,UAAU,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAElD,SAAQ,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CACjE,YAAW,YAAY,CAAC,GAAG,CAAC;IAE5B,SAAgB,UAAU,EAAE,kBAAkB,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEb;IACrB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAElB;IAChB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,IAAoB,WAAW,IAAI,YAAY,CAE9C;IAED,SAAS,CAAC,gBAAgB,IAAI,IAAI;gBAMhC,WAAW,EAAE,YAAY,EACzB,gBAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,EAC7D,gBAAgB,EAAE,CAChB,UAAU,EAAE,QAAQ,CAAC,UAAU,KAC5B,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,EAC/B,oBAAoB,EAAE,CACpB,WAAW,EAAE,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,KACxD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAC3C,sBAAsB,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,MAAM,EAC7D,SAAS,GAAE,UAAU,GAAG,aAAa,GAAG,YAWvC,EACD,SAAS,GAAE,UAAoC,EAC/C,gBAAgB,GAAE,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,UAEP,EAC3C,oBAAoB,GAAE,OAAO,cAA+B;IAkBxC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkKvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA0C5C"}
|
package/src/application.js
CHANGED
|
@@ -20,6 +20,7 @@ const middleware_utils_1 = require("./middleware-utils");
|
|
|
20
20
|
const app_1 = require("./routers/app");
|
|
21
21
|
const services_1 = require("./services");
|
|
22
22
|
const utils_1 = require("./utils");
|
|
23
|
+
const greenlock_manager_1 = require("./greenlock-manager");
|
|
23
24
|
class Application extends application_base_1.BaseApplication {
|
|
24
25
|
expressApp;
|
|
25
26
|
server = null;
|
|
@@ -28,6 +29,7 @@ class Application extends application_base_1.BaseApplication {
|
|
|
28
29
|
_appRouterFactory;
|
|
29
30
|
_initMiddleware;
|
|
30
31
|
_apiRouter;
|
|
32
|
+
greenlockManager = null;
|
|
31
33
|
get environment() {
|
|
32
34
|
return super.environment;
|
|
33
35
|
}
|
|
@@ -107,7 +109,12 @@ class Application extends application_base_1.BaseApplication {
|
|
|
107
109
|
resolve();
|
|
108
110
|
});
|
|
109
111
|
}));
|
|
110
|
-
if (this.environment.
|
|
112
|
+
if (this.environment.letsEncrypt.enabled) {
|
|
113
|
+
// Let's Encrypt mode: start GreenlockManager for HTTPS on 443 + redirect on 80
|
|
114
|
+
this.greenlockManager = new greenlock_manager_1.GreenlockManager(this.environment.letsEncrypt);
|
|
115
|
+
serversReady.push(this.greenlockManager.start(this.expressApp));
|
|
116
|
+
}
|
|
117
|
+
else if (this.environment.httpsDevCertRoot) {
|
|
111
118
|
try {
|
|
112
119
|
const certRoot = (0, path_1.normalize)(this.environment.httpsDevCertRoot);
|
|
113
120
|
if (!(0, path_1.isAbsolute)(certRoot) || certRoot.includes('..')) {
|
|
@@ -147,6 +154,10 @@ class Application extends application_base_1.BaseApplication {
|
|
|
147
154
|
}
|
|
148
155
|
}
|
|
149
156
|
async stop() {
|
|
157
|
+
if (this.greenlockManager) {
|
|
158
|
+
await this.greenlockManager.stop();
|
|
159
|
+
this.greenlockManager = null;
|
|
160
|
+
}
|
|
150
161
|
const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: this.constants });
|
|
151
162
|
if (this.server) {
|
|
152
163
|
(0, utils_1.debugLog)(this.environment.debug, 'log', `[ ${engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Common_Stopping)} ] ${engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Common_ApplicationAndDatabase)}`);
|
package/src/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,wDAA4D;AAE5D,oEAKyC;AACzC,8DAKiB;AACjB,2BAAkC;AAGlC,iCAAqC;AACrC,+BAAsD;AACtD,yDAAqD;AAGrD,6CAMsB;AAEtB,4DAAwE;AACxE,yDAAqE;AACrE,uCAA0C;AAE1C,yCAA2D;AAE3D,mCAAwE;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"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"}
|
package/src/environment.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
|
|
7
7
|
import { BackupCode } from './backup-code';
|
|
8
8
|
import { IConstants } from './interfaces/constants';
|
|
9
|
-
import { IEnvironment } from './interfaces/environment';
|
|
9
|
+
import { IEnvironment, ILetsEncryptConfig } from './interfaces/environment';
|
|
10
10
|
import { IMongoEnvironment } from './interfaces/environment-mongo';
|
|
11
11
|
import type { EnvironmentVariables } from './types/environment-variables';
|
|
12
12
|
import { DEBUG_TYPE } from './utils';
|
|
@@ -186,6 +186,10 @@ export declare class Environment<TID extends PlatformID = Buffer> implements IEn
|
|
|
186
186
|
* Whether this is a production environment
|
|
187
187
|
*/
|
|
188
188
|
get production(): boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Let's Encrypt / Greenlock configuration
|
|
191
|
+
*/
|
|
192
|
+
get letsEncrypt(): ILetsEncryptConfig;
|
|
189
193
|
/**
|
|
190
194
|
* Console dump the environment variables for debugging purposes
|
|
191
195
|
*/
|
package/src/environment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAQxE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/environment.ts"],"names":[],"mappings":"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"}
|
package/src/environment.js
CHANGED
|
@@ -206,8 +206,33 @@ class Environment {
|
|
|
206
206
|
adminLanguage: (0, get_language_1.setGlobalActiveContextAdminLanguageFromProcessArgvOrEnv)(),
|
|
207
207
|
pbkdf2Iterations: parseInt(envObj['PBKDF2_ITERATIONS'] ?? '100000'),
|
|
208
208
|
production: envObj['NODE_ENV'] === 'production',
|
|
209
|
+
letsEncrypt: {
|
|
210
|
+
enabled: envObj['LETS_ENCRYPT_ENABLED'] === 'true' ||
|
|
211
|
+
envObj['LETS_ENCRYPT_ENABLED'] === '1',
|
|
212
|
+
maintainerEmail: envObj['LETS_ENCRYPT_EMAIL'] ?? '',
|
|
213
|
+
hostnames: envObj['LETS_ENCRYPT_HOSTNAMES']
|
|
214
|
+
? (0, utils_1.parseHostnames)(envObj['LETS_ENCRYPT_HOSTNAMES'])
|
|
215
|
+
: [],
|
|
216
|
+
staging: envObj['LETS_ENCRYPT_STAGING'] === 'true' ||
|
|
217
|
+
envObj['LETS_ENCRYPT_STAGING'] === '1',
|
|
218
|
+
configDir: envObj['LETS_ENCRYPT_CONFIG_DIR'] || './greenlock.d',
|
|
219
|
+
},
|
|
209
220
|
};
|
|
210
221
|
this._envObject = envObj;
|
|
222
|
+
// Validate Let's Encrypt configuration when enabled
|
|
223
|
+
if (this._environment.letsEncrypt.enabled) {
|
|
224
|
+
if (!this._environment.letsEncrypt.maintainerEmail) {
|
|
225
|
+
throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_LetsEncryptMaintainerEmailRequired);
|
|
226
|
+
}
|
|
227
|
+
if (this._environment.letsEncrypt.hostnames.length === 0) {
|
|
228
|
+
throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_LetsEncryptHostnamesRequired);
|
|
229
|
+
}
|
|
230
|
+
for (const hostname of this._environment.letsEncrypt.hostnames) {
|
|
231
|
+
if (!(0, utils_1.isValidHostname)(hostname)) {
|
|
232
|
+
throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_LetsEncryptInvalidHostnameTemplate, { hostname });
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
211
236
|
// ensure all required environment variables are set
|
|
212
237
|
if (!this._environment.host) {
|
|
213
238
|
throw new Error((0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Admin_EnvNotSetTemplate, {
|
|
@@ -573,6 +598,12 @@ class Environment {
|
|
|
573
598
|
get production() {
|
|
574
599
|
return this._environment.production;
|
|
575
600
|
}
|
|
601
|
+
/**
|
|
602
|
+
* Let's Encrypt / Greenlock configuration
|
|
603
|
+
*/
|
|
604
|
+
get letsEncrypt() {
|
|
605
|
+
return this._environment.letsEncrypt;
|
|
606
|
+
}
|
|
576
607
|
/**
|
|
577
608
|
* Console dump the environment variables for debugging purposes
|
|
578
609
|
*/
|
package/src/environment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/environment.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,0DAAwE;AACxE,oEAIyC;AACzC,mCAAgC;AAChC,2BAAgC;AAEhC,2CAAiD;AACjD,iDAAyF;AACzF,iDAAyF;AAKzF,mCAOiB;AAGjB,MAAa,WAAW;IAGL,YAAY,CAAoB;IAChC,UAAU,CAAuB;IAC3C,MAAM,CAAC,UAAU,CAAI,GAAW,EAAE,GAAyB;QAChE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,gDAAgD,EACnE,EAAE,GAAG,EAAE,CACR,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,sCAAsC,EACzD,EAAE,GAAG,EAAE,CACR,CAAC;QACJ,CAAC;QACD,OAAO,KAAU,CAAC;IACpB,CAAC;IACD,YACE,IAAa,EACb,cAAc,GAAG,KAAK,EACtB,QAAQ,GAAG,IAAI,EACf,YAAwB,8BAAkB,EAC1C,UAAiC;QAEjC,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACzB,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;QAClE,IAAI,aAAa,GACf,MAAM,CAAC,gBAAgB,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC;QAC1E,IAAI,IAAI,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAA,gBAAQ,EACN,KAAK,EACL,KAAK,EACL,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,gCAAgC,EACnD;gBACE,IAAI,EAAE,IAAI;aACX,CACF,CACF,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,MAAM,GAAG,QAAQ;gBACf,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;gBACjC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,gEAAgE;YAChE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;YAC9D,aAAa;gBACX,MAAM,CAAC,gBAAgB,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC;YAE1E,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,mCAAmC,CACvD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YAChB,IAAA,gBAAQ,EACN,KAAK,EACL,MAAM,EACN,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,6BAA6B,EAChD;gBACE,IAAI,EAAE,IAAI;aACX,CACF,CACF,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YACxD,CAAC,CAAC,IAAA,qBAAa,EAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAChD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC;YACnD,CAAC,CAAC,GAAG,CAAC;QAER,MAAM,WAAW,GACf,MAAM,CAAC,cAAc,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE;YACnE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;YACxB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,aAAa,GAAG,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,CAAC;QAEtE,IAAI,CAAC,YAAY,GAAG;YAClB,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,aAAa;YAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS;YACjC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACpD,SAAS,EAAE,WAAW,CAAC,UAAU,CAAS,YAAY,EAAE,MAAM,CAAC;YAC/D,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,mBAAmB;YAC1D,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG;YACpC,SAAS,EACP,MAAM,CAAC,UAAU,CAAC,KAAK,YAAY;gBACjC,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,gBAAgB;oBAChB,CAAC,CAAC,qBAAqB,YAAY,EAAE;oBACrC,CAAC,CAAC,uBAAuB;YAC/B,4DAA4D;YAC5D,+CAA+C;YAC/C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAS,cAAc,EAAE,MAAM,CAAC;YAClE,YAAY,EAAE,WAAW,CAAC,UAAU,CAAS,gBAAgB,EAAE,MAAM,CAAC;YACtE,gBAAgB,EAAE,gBAAgB;YAClC,YAAY,EAAE,YAAY;YAC1B,gBAAgB,EACd,MAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;gBACvC,MAAM,CAAC,oBAAoB,CAAC,KAAK,GAAG;YACtC,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,IAAI;gBACvC,GAAG,EACD,MAAM,CAAC,WAAW,CAAC;oBACnB,sBAAsB,MAAM,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE;gBACzD,qBAAqB,EACnB,MAAM,CAAC,+BAA+B,CAAC,KAAK,MAAM;oBAClD,MAAM,CAAC,+BAA+B,CAAC,KAAK,GAAG;gBACjD,wCAAwC,EACtC,MAAM,CAAC,oDAAoD,CAAC;oBAC1D,MAAM;oBACR,MAAM,CAAC,oDAAoD,CAAC,KAAK,GAAG;gBACtE,+CAA+C,EAC7C,MAAM,CACJ,6DAA6D,CAC9D,KAAK,MAAM;oBACZ,MAAM,CACJ,6DAA6D,CAC9D,KAAK,GAAG;gBACX,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC;oBACxC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBACzC,CAAC,CAAC,EAAE;gBACN,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC;oBACxC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACL,aAAa,EAAE,MAAM,CAAC,wBAAwB,CAAC;oBAC7C,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;oBAC5C,CAAC,CAAC,KAAK;gBACT,wBAAwB,EAAE,MAAM,CAAC,mCAAmC,CAAC;oBACnE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;oBACvD,CAAC,CAAC,IAAI;gBACR,eAAe,EAAE,MAAM,CAAC,yBAAyB,CAAC;oBAChD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,CAAC,CAAC,KAAK;gBACT,WAAW,EACT,MAAM,CAAC,oBAAoB,CAAC,KAAK,OAAO;oBACxC,MAAM,CAAC,oBAAoB,CAAC,KAAK,GAAG;oBAClC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,MAAM;wBACvC,MAAM,CAAC,oBAAoB,CAAC,KAAK,GAAG;wBACpC,IAAI;gBACV,UAAU,EACR,MAAM,CAAC,mBAAmB,CAAC,KAAK,OAAO;oBACvC,MAAM,CAAC,mBAAmB,CAAC,KAAK,GAAG;oBACjC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,MAAM;wBACtC,MAAM,CAAC,mBAAmB,CAAC,KAAK,GAAG;wBACnC,IAAI;gBACV,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;gBAClC,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE;gBACxC,kBAAkB,EAAE,MAAM,CAAC,2BAA2B,CAAC;oBACrD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBAC/C,CAAC,CAAC,mCAA2B;gBAC/B,6BAA6B,EAAE,MAAM,CACnC,wCAAwC,CACzC;oBACC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;oBAC5D,CAAC,CAAC,gDAAwC;gBAC5C,eAAe,EACb,MAAM,CAAC,wBAAwB,CAAC,KAAK,MAAM;oBAC3C,MAAM,CAAC,wBAAwB,CAAC,KAAK,GAAG;gBAC1C,yBAAyB,EAAE,MAAM,CAAC,oCAAoC,CAAC;oBACrE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;oBACxD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,MAAM;wBAC7B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,GAAG;aACV;YACD,aAAa,EAAE,IAAI,wBAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;YACjE,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC;gBACxC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACtC,CAAC,CAAC,IAAI,IAAI,EAAE;YACd,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;gBACzB,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAC7C;gBACX,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CACxB;YACb,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBACrC,CAAC,CAAC,IAAI,wBAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,CAAC,CAAC,SAAS;YACb,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC;gBAClC,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAClD;gBACX,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC;gBACtC,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAClD;gBACX,CAAC,CAAC,SAAS;YACb,gBAAgB,EAAE,MAAM,CAAC,oBAAoB,CAAC;gBAC5C,CAAC,CAAC,IAAA,wBAAgB,EAAC,OAAO,EAAE,MAAM,CAAC;gBACnC,CAAC,CAAC,SAAS;YACb,cAAc,EAAE,IAAI,wBAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;YACnE,eAAe,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBAC1C,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC,CAAC,IAAI,IAAI,EAAE;YACd,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC;gBAC3B,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAC9C;gBACX,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CACxB;YACb,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAC;gBACvC,CAAC,CAAC,IAAI,wBAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC7C,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBACpC,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CACnD;gBACX,CAAC,CAAC,SAAS;YACb,gBAAgB,EAAE,MAAM,CAAC,qBAAqB,CAAC;gBAC7C,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CACxD;gBACX,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,MAAM,CAAC,qBAAqB,CAAC;gBAC9C,CAAC,CAAC,IAAA,wBAAgB,EAAC,QAAQ,EAAE,MAAM,CAAC;gBACpC,CAAC,CAAC,SAAS;YACb,cAAc,EAAE,IAAI,wBAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;YACnE,eAAe,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBAC1C,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC,CAAC,IAAI,IAAI,EAAE;YACd,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC;gBAC3B,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAC9C;gBACX,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CACxB;YACb,kBAAkB,EAAE,MAAM,CAAC,mBAAmB,CAAC,IAAI,SAAS;YAC5D,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAC;gBACvC,CAAC,CAAC,IAAI,wBAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC7C,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBACpC,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CACnD;gBACX,CAAC,CAAC,SAAS;YACb,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBACxC,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CACnD;gBACX,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,MAAM,CAAC,qBAAqB,CAAC;gBAC9C,CAAC,CAAC,IAAA,wBAAgB,EAAC,QAAQ,EAAE,MAAM,CAAC;gBACpC,CAAC,CAAC,SAAS;YACb,kBAAkB,EAAE,IAAI,wBAAY,CAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CACzD;YACD,qBAAqB,EAAE,IAAI,wBAAY,CACrC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAC5D;YACD,QAAQ,EAAE,IAAA,sEAAuD,GAAE;YAEnE,0DAA0D;YAC1D,aAAa,EAAE,IAAA,sEAAuD,GAAE;YACxE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC;YACnE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,YAAY;SAChD,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,MAAM;aACjB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,MAAM;aACjB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,4BAA4B,EAC/C,EAAE,KAAK,EAAE,YAAY,EAAE,CACxB,CAAC;QACJ,CAAC;QACD,IACE,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAC/B,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,gBAAgB,CACtD,EACD,CAAC;YACD,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,4BAA4B,EAC/C,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAClC,CAAC;QACJ,CAAC;QACD,IACE,CAAC,SAAS,CAAC,0BAA0B,CAAC,IAAI,CACxC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,gBAAgB,CACzD,EACD,CAAC;YACD,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,4BAA4B,EAC/C,EAAE,KAAK,EAAE,yBAAyB,EAAE,CACrC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,WAAW;aACtB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,cAAc;aACzB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IACE,CAAC,cAAc;YACf,CAAC,aAAa;YACd,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EACrC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,mBAAmB;aAC9B,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,6CAA6C,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,6CAA6C,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,gDAAgD,CACpE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,gDAAgD,CACpE,CAAC;QACJ,CAAC;QACD,IACE,CAAC,aAAa;YACd,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK;YACtC,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,EAC1E,CAAC;YACD,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,4CAA4C,CAChE,CAAC;QACJ,CAAC;QACD,IACE,CAAC,aAAa;YACd,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK;YACvC,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAC3B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAC7C,EACD,CAAC;YACD,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,6CAA6C,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,cAAc;aACzB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,iCAAiC,EACpD;gBACE,GAAG,EAAE,cAAc;gBACnB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;aACnC,CACF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,EAAE;gBAClE,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,iCAAiC,EACpD;gBACE,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;aACrC,CACF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,2CAA2C,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,GAAG,CAAC,GAAW;QACpB,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;IAEM,GAAG,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAEM,cAAc,CAAC,GAAW,EAAE,KAAU;QAC3C,kGAAkG;QAClG,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAQ,IAAI,CAAC,YAAY,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACrC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;IACvC,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAW,qBAAqB;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,WAAuB,KAAK;QACjD,IAAA,gBAAQ,EACN,IAAI,EACJ,QAAQ,EACR;;SAEG,IAAI,CAAC,KAAK;kBACD,IAAI,CAAC,aAAa;QAC5B,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,IAAI;cACH,IAAI,CAAC,SAAS;gBACZ,IAAI,CAAC,WAAW;aACnB,IAAI,CAAC,QAAQ;cACZ,IAAI,CAAC,SAAS;gBACZ,IAAI,CAAC,UAAU;kBACb,IAAI,CAAC,YAAY;sBACb,IAAI,CAAC,gBAAgB;YAC/B,IAAI,CAAC,QAAQ;;UAEf,IAAI,CAAC,KAAK,CAAC,GAAG;uBACD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;8BACtC,IAAI,CAAC,KAAK,CAAC,qBAAqB;mDAEtD,IAAI,CAAC,KAAK,CAAC,wCACb;4DAEE,IAAI,CAAC,KAAK,CAAC,+CACb;oBACc,IAAI,CAAC,KAAK,CAAC,WAAW;oBACtB,IAAI,CAAC,KAAK,CAAC,WAAW;uBACnB,IAAI,CAAC,KAAK,CAAC,aAAa;kCACb,IAAI,CAAC,KAAK,CAAC,wBAAwB;wBAC7C,IAAI,CAAC,KAAK,CAAC,eAAe;mBAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;kBAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;0BAChC,IAAI,CAAC,KAAK,CAAC,kBAAkB;uCAChB,IAAI,CAAC,KAAK,CAAC,6BAA6B;YACnE,IAAI,CAAC,aAAa;;eAEf,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE;uBAChB,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE;qBACpC,IAAI,CAAC,aAAa,EAAE,KAAK;qBACzB,IAAI,CAAC,aAAa,EAAE,KAAK;oBAC1B,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE;oBAC5B,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE;yBAC3B,IAAI,CAAC,gBAAgB;YACtC,EAAE,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;aACtC,IAAI,CAAC,IAAI,CAAC;;gBAEH,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;wBACjB,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE;sBACrC,IAAI,CAAC,aAAa,EAAE,KAAK;sBACzB,IAAI,CAAC,cAAc,EAAE,KAAK;qBAC3B,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE;0BACxB,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE;0BACjC,IAAI,CAAC,iBAAiB;YACxC,EAAE,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;aACtC,IAAI,CAAC,IAAI,CAAC;;gBAEH,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;wBACjB,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE;sBACrC,IAAI,CAAC,cAAc,EAAE,KAAK;wBACxB,IAAI,CAAC,kBAAkB;sBACzB,IAAI,CAAC,cAAc,EAAE,KAAK;qBAC3B,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE;qBAC7B,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE;0BAC5B,IAAI,CAAC,iBAAiB;YACxC,EAAE,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;aACtC,IAAI,CAAC,IAAI,CAAC;;2BAEQ,IAAI,CAAC,kBAAkB,CAAC,gBAAgB;8BACrC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB;qBACpD,IAAI,CAAC,gBAAgB;0BAChB,CACrB,CAAC;IACJ,CAAC;CACF;AA9zBD,kCA8zBC"}
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview GreenlockManager encapsulates all greenlock-express interactions
|
|
3
|
+
* for automated Let's Encrypt TLS certificate management.
|
|
4
|
+
* @module greenlock-manager
|
|
5
|
+
*/
|
|
6
|
+
import { Application as ExpressApplication } from 'express';
|
|
7
|
+
import { GreenlockChallengeConfig } from 'greenlock-express';
|
|
8
|
+
import { ILetsEncryptConfig } from './interfaces/environment';
|
|
9
|
+
/**
|
|
10
|
+
* Manages the greenlock-express lifecycle for automated Let's Encrypt
|
|
11
|
+
* TLS certificate management. Handles HTTPS server on port 443 and
|
|
12
|
+
* HTTP redirect server on port 80.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Pure function that determines the ACME challenge configuration
|
|
16
|
+
* based on the provided hostnames. Wildcard hostnames (starting with `*.`)
|
|
17
|
+
* require DNS-01 challenge validation; all configurations include HTTP-01.
|
|
18
|
+
*
|
|
19
|
+
* This is exported for testability — it mirrors the logic used internally
|
|
20
|
+
* by {@link GreenlockManager.buildChallengeConfig}.
|
|
21
|
+
*/
|
|
22
|
+
export type { GreenlockChallengeConfig } from 'greenlock-express';
|
|
23
|
+
export declare function determineChallengeTypes(hostnames: string[]): Record<string, GreenlockChallengeConfig>;
|
|
24
|
+
export declare class GreenlockManager {
|
|
25
|
+
private readonly config;
|
|
26
|
+
private greenlockInstance;
|
|
27
|
+
private httpsServer;
|
|
28
|
+
private redirectServer;
|
|
29
|
+
constructor(config: ILetsEncryptConfig);
|
|
30
|
+
/**
|
|
31
|
+
* Determines the challenge configuration based on hostnames.
|
|
32
|
+
* Wildcard hostnames require DNS-01 challenge validation;
|
|
33
|
+
* standard hostnames use HTTP-01.
|
|
34
|
+
*/
|
|
35
|
+
private buildChallengeConfig;
|
|
36
|
+
/**
|
|
37
|
+
* Builds the Greenlock site configuration from the hostnames list.
|
|
38
|
+
* The first non-wildcard hostname (or first hostname) is used as the subject.
|
|
39
|
+
*/
|
|
40
|
+
private buildSiteConfig;
|
|
41
|
+
/**
|
|
42
|
+
* Initialize Greenlock and start HTTPS + HTTP redirect servers.
|
|
43
|
+
* Resolves when both servers are listening.
|
|
44
|
+
*
|
|
45
|
+
* If Greenlock initialization fails, the error is logged and the method
|
|
46
|
+
* returns without starting HTTPS/redirect servers, allowing the primary
|
|
47
|
+
* HTTP server to continue.
|
|
48
|
+
*/
|
|
49
|
+
start(expressApp: ExpressApplication): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Gracefully shut down both the HTTPS and HTTP redirect servers,
|
|
52
|
+
* closing all active connections first.
|
|
53
|
+
*/
|
|
54
|
+
stop(): Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=greenlock-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greenlock-manager.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/greenlock-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE5D,OAAO,EACL,wBAAwB,EAKzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D;;;;GAIG;AAEH;;;;;;;GAOG;AACH,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAY1C;AAED,qBAAa,gBAAgB;IAKf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,cAAc,CAAwC;gBAEjC,MAAM,EAAE,kBAAkB;IAEvD;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;;;;;;OAOG;IACG,KAAK,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0E1D;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B5B"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview GreenlockManager encapsulates all greenlock-express interactions
|
|
4
|
+
* for automated Let's Encrypt TLS certificate management.
|
|
5
|
+
* @module greenlock-manager
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.GreenlockManager = void 0;
|
|
9
|
+
exports.determineChallengeTypes = determineChallengeTypes;
|
|
10
|
+
const tslib_1 = require("tslib");
|
|
11
|
+
const greenlockExpress = tslib_1.__importStar(require("greenlock-express"));
|
|
12
|
+
function determineChallengeTypes(hostnames) {
|
|
13
|
+
const hasWildcard = hostnames.some((h) => h.startsWith('*.'));
|
|
14
|
+
const challenges = {
|
|
15
|
+
'http-01': { module: 'acme-http-01-standalone' },
|
|
16
|
+
};
|
|
17
|
+
if (hasWildcard) {
|
|
18
|
+
challenges['dns-01'] = { module: 'acme-dns-01-cli' };
|
|
19
|
+
}
|
|
20
|
+
return challenges;
|
|
21
|
+
}
|
|
22
|
+
class GreenlockManager {
|
|
23
|
+
config;
|
|
24
|
+
greenlockInstance = null;
|
|
25
|
+
httpsServer = null;
|
|
26
|
+
redirectServer = null;
|
|
27
|
+
constructor(config) {
|
|
28
|
+
this.config = config;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Determines the challenge configuration based on hostnames.
|
|
32
|
+
* Wildcard hostnames require DNS-01 challenge validation;
|
|
33
|
+
* standard hostnames use HTTP-01.
|
|
34
|
+
*/
|
|
35
|
+
buildChallengeConfig() {
|
|
36
|
+
return determineChallengeTypes(this.config.hostnames);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Builds the Greenlock site configuration from the hostnames list.
|
|
40
|
+
* The first non-wildcard hostname (or first hostname) is used as the subject.
|
|
41
|
+
*/
|
|
42
|
+
buildSiteConfig() {
|
|
43
|
+
const subject = this.config.hostnames.find((h) => !h.startsWith('*.')) ??
|
|
44
|
+
this.config.hostnames[0];
|
|
45
|
+
return [
|
|
46
|
+
{
|
|
47
|
+
subject,
|
|
48
|
+
altnames: this.config.hostnames,
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Initialize Greenlock and start HTTPS + HTTP redirect servers.
|
|
54
|
+
* Resolves when both servers are listening.
|
|
55
|
+
*
|
|
56
|
+
* If Greenlock initialization fails, the error is logged and the method
|
|
57
|
+
* returns without starting HTTPS/redirect servers, allowing the primary
|
|
58
|
+
* HTTP server to continue.
|
|
59
|
+
*/
|
|
60
|
+
async start(expressApp) {
|
|
61
|
+
const initOptions = {
|
|
62
|
+
packageRoot: process.cwd(),
|
|
63
|
+
configDir: this.config.configDir,
|
|
64
|
+
maintainerEmail: this.config.maintainerEmail,
|
|
65
|
+
cluster: false,
|
|
66
|
+
staging: this.config.staging,
|
|
67
|
+
challenges: this.buildChallengeConfig(),
|
|
68
|
+
sites: this.buildSiteConfig(),
|
|
69
|
+
};
|
|
70
|
+
try {
|
|
71
|
+
this.greenlockInstance = greenlockExpress.init(initOptions);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
console.error('Failed to initialize greenlock-express:', err);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
return new Promise((resolve) => {
|
|
78
|
+
this.greenlockInstance.ready((glx) => {
|
|
79
|
+
// Start HTTPS server on port 443
|
|
80
|
+
try {
|
|
81
|
+
this.httpsServer = glx.httpsServer(undefined, expressApp);
|
|
82
|
+
this.httpsServer.on('error', (err) => {
|
|
83
|
+
console.error('HTTPS server error on port 443:', err);
|
|
84
|
+
if (process.env['NODE_ENV'] === 'test') {
|
|
85
|
+
throw err;
|
|
86
|
+
}
|
|
87
|
+
process.exit(1);
|
|
88
|
+
});
|
|
89
|
+
this.httpsServer.listen(443, () => {
|
|
90
|
+
console.log('[ ready ] https on port 443');
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
console.error('Failed to start HTTPS server on port 443:', err);
|
|
95
|
+
if (process.env['NODE_ENV'] === 'test') {
|
|
96
|
+
throw err;
|
|
97
|
+
}
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
// Start HTTP redirect server on port 80
|
|
101
|
+
try {
|
|
102
|
+
this.redirectServer = glx.httpServer(undefined, expressApp);
|
|
103
|
+
this.redirectServer.on('error', (err) => {
|
|
104
|
+
console.error('HTTP redirect server error on port 80:', err);
|
|
105
|
+
// Continue without redirect — HTTPS still works
|
|
106
|
+
});
|
|
107
|
+
this.redirectServer.listen(80, () => {
|
|
108
|
+
console.log('[ ready ] http redirect on port 80');
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
console.error('Failed to start HTTP redirect server on port 80:', err);
|
|
113
|
+
// Continue without redirect — HTTPS still works
|
|
114
|
+
}
|
|
115
|
+
resolve();
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Gracefully shut down both the HTTPS and HTTP redirect servers,
|
|
121
|
+
* closing all active connections first.
|
|
122
|
+
*/
|
|
123
|
+
async stop() {
|
|
124
|
+
const closeServer = (server) => new Promise((resolve, reject) => {
|
|
125
|
+
server.closeAllConnections?.();
|
|
126
|
+
server.close((err) => {
|
|
127
|
+
if (err) {
|
|
128
|
+
reject(err);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
resolve();
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
const shutdownPromises = [];
|
|
136
|
+
if (this.httpsServer) {
|
|
137
|
+
shutdownPromises.push(closeServer(this.httpsServer));
|
|
138
|
+
this.httpsServer = null;
|
|
139
|
+
}
|
|
140
|
+
if (this.redirectServer) {
|
|
141
|
+
shutdownPromises.push(closeServer(this.redirectServer));
|
|
142
|
+
this.redirectServer = null;
|
|
143
|
+
}
|
|
144
|
+
await Promise.all(shutdownPromises);
|
|
145
|
+
this.greenlockInstance = null;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.GreenlockManager = GreenlockManager;
|
|
149
|
+
//# sourceMappingURL=greenlock-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greenlock-manager.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/greenlock-manager.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAgCH,0DAcC;;AA3CD,4EAAsD;AA6BtD,SAAgB,uBAAuB,CACrC,SAAmB;IAEnB,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9D,MAAM,UAAU,GAA6C;QAC3D,SAAS,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE;KACjD,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAa,gBAAgB;IAKE;IAJrB,iBAAiB,GAA6B,IAAI,CAAC;IACnD,WAAW,GAAmC,IAAI,CAAC;IACnD,cAAc,GAAmC,IAAI,CAAC;IAE9D,YAA6B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE3D;;;;OAIG;IACK,oBAAoB;QAC1B,OAAO,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAE3B,OAAO;YACL;gBACE,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;aAChC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,UAA8B;QACxC,MAAM,WAAW,GAAyB;YACxC,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;YAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;YAC5C,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACvC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE;SAC9B,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,iBAAkB,CAAC,KAAK,CAAC,CAAC,GAA0B,EAAE,EAAE;gBAC3D,iCAAiC;gBACjC,IAAI,CAAC;oBACH,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAChC,SAAS,EACT,UAAU,CACgB,CAAC;oBAE7B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;wBAC1D,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;wBACtD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;4BACvC,MAAM,GAAG,CAAC;wBACZ,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;wBAChC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;oBAChE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;wBACvC,MAAM,GAAG,CAAC;oBACZ,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAED,wCAAwC;gBACxC,IAAI,CAAC;oBACH,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAClC,SAAS,EACT,UAAU,CACgB,CAAC;oBAE7B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;wBAC7D,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;wBAC7D,gDAAgD;oBAClD,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE;wBAClC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CACX,kDAAkD,EAClD,GAAG,CACJ,CAAC;oBACF,gDAAgD;gBAClD,CAAC;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,WAAW,GAAG,CAAC,MAA+B,EAAiB,EAAE,CACrE,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,MAAM,gBAAgB,GAAoB,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;CACF;AAnJD,4CAmJC"}
|
package/src/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from './enumerations';
|
|
|
15
15
|
export * from './environment';
|
|
16
16
|
export * from './errors';
|
|
17
17
|
export * from './get-language';
|
|
18
|
+
export * from './greenlock-manager';
|
|
18
19
|
export * from './get-timezone';
|
|
19
20
|
export * from './interfaces';
|
|
20
21
|
export * from './middlewares';
|
|
@@ -33,7 +34,7 @@ export * from './services';
|
|
|
33
34
|
export * from './transactions';
|
|
34
35
|
export * from './types';
|
|
35
36
|
export * from './openapi';
|
|
36
|
-
export { type DEBUG_TYPE, debugLog, directLog, getValueAtPath, mapZodIssuesToValidationErrors, requireValidatedFieldsAsync, requireOneOfValidatedFieldsAsync, requireValidatedFieldsOrThrow, isValidStringObjectId as isValidStringId, DEFAULT_RETRY_ATTEMPTS, DEFAULT_TRANSACTION_TIMEOUT, DEFAULT_TRANSACTION_LOCK_REQUEST_TIMEOUT, type TransactionOptions, getDefaultBaseDelay, withTransaction, sendApiMessageResponse, sendApiErrorResponse, sendApiExpressValidationErrorResponse, sendApiMongoValidationErrorResponse, sendRawJsonResponse, handleError, locatePEMRoot, lengthEncodeData, decodeLengthEncodedData, isValidTimezone, omit, validateEnumCollection, uint8ArrayToBase64, base64ToUint8Array, uint8ArrayToHex, hexToUint8Array, crc16, stringToUint8Array, uint8ArrayToString, randomBytes, arraysEqual, concatUint8Arrays, getLengthEncodingTypeForLength, getLengthEncodingTypeFromValue, getLengthForLengthType, parseBackupCodes, } from './utils';
|
|
37
|
+
export { type DEBUG_TYPE, debugLog, directLog, getValueAtPath, mapZodIssuesToValidationErrors, requireValidatedFieldsAsync, requireOneOfValidatedFieldsAsync, requireValidatedFieldsOrThrow, isValidStringObjectId as isValidStringId, DEFAULT_RETRY_ATTEMPTS, DEFAULT_TRANSACTION_TIMEOUT, DEFAULT_TRANSACTION_LOCK_REQUEST_TIMEOUT, type TransactionOptions, getDefaultBaseDelay, withTransaction, sendApiMessageResponse, sendApiErrorResponse, sendApiExpressValidationErrorResponse, sendApiMongoValidationErrorResponse, sendRawJsonResponse, handleError, locatePEMRoot, lengthEncodeData, decodeLengthEncodedData, isValidTimezone, omit, validateEnumCollection, uint8ArrayToBase64, base64ToUint8Array, uint8ArrayToHex, hexToUint8Array, crc16, stringToUint8Array, uint8ArrayToString, randomBytes, arraysEqual, concatUint8Arrays, getLengthEncodingTypeForLength, getLengthEncodingTypeFromValue, getLengthForLengthType, parseBackupCodes, isValidHostname, parseHostnames, } from './utils';
|
|
37
38
|
export type { TransactionOptions as UtilsTransactionOptions } from './utils';
|
|
38
39
|
export * from './validation';
|
|
39
40
|
//# sourceMappingURL=index.d.ts.map
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,KAAK,UAAU,EACf,QAAQ,EACR,SAAS,EACT,cAAc,EACd,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,6BAA6B,EAC7B,qBAAqB,IAAI,eAAe,EACxC,sBAAsB,EACtB,2BAA2B,EAC3B,wCAAwC,EACxC,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qCAAqC,EACrC,mCAAmC,EACnC,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,IAAI,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,KAAK,UAAU,EACf,QAAQ,EACR,SAAS,EACT,cAAc,EACd,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,6BAA6B,EAC7B,qBAAqB,IAAI,eAAe,EACxC,sBAAsB,EACtB,2BAA2B,EAC3B,wCAAwC,EACxC,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qCAAqC,EACrC,mCAAmC,EACnC,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,IAAI,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,kBAAkB,IAAI,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAC7E,cAAc,cAAc,CAAC"}
|