@gemeentenijmegen/aws-constructs
Advanced tools
Comparing version 0.0.2 to 0.0.3
100
API.md
@@ -5,3 +5,103 @@ # API Reference <a name="API Reference" id="api-reference"></a> | ||
## Classes <a name="Classes" id="Classes"></a> | ||
### PermissionsBoundaryAspect <a name="PermissionsBoundaryAspect" id="@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect"></a> | ||
- *Implements:* aws-cdk-lib.IAspect | ||
As a best practice organizations enforce policies which require all custom IAM Roles created to be defined under a specific path and permission boundary. | ||
Well, this allows better governance and also prevents unintended privilege escalation. | ||
AWS CDK high level constructs and patterns encapsulates the role creation from end users. | ||
So it is a laborious and at times impossible to get a handle of newly created roles within a stack. | ||
This aspect will scan all roles within the given scope and will attach the right permission boundary and path to them. | ||
#### Initializers <a name="Initializers" id="@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.Initializer"></a> | ||
```typescript | ||
import { PermissionsBoundaryAspect } from '@gemeentenijmegen/aws-constructs' | ||
new PermissionsBoundaryAspect(rolePath?: string, rolePermissionBoundary?: string) | ||
``` | ||
| **Name** | **Type** | **Description** | | ||
| --- | --- | --- | | ||
| <code><a href="#@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.Initializer.parameter.rolePath">rolePath</a></code> | <code>string</code> | - the role path to attach to newly created roles. | | ||
| <code><a href="#@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.Initializer.parameter.rolePermissionBoundary">rolePermissionBoundary</a></code> | <code>string</code> | - the permission boundary to attach to newly created roles. | | ||
--- | ||
##### `rolePath`<sup>Optional</sup> <a name="rolePath" id="@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.Initializer.parameter.rolePath"></a> | ||
- *Type:* string | ||
the role path to attach to newly created roles. | ||
--- | ||
##### `rolePermissionBoundary`<sup>Optional</sup> <a name="rolePermissionBoundary" id="@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.Initializer.parameter.rolePermissionBoundary"></a> | ||
- *Type:* string | ||
the permission boundary to attach to newly created roles. | ||
--- | ||
#### Methods <a name="Methods" id="Methods"></a> | ||
| **Name** | **Description** | | ||
| --- | --- | | ||
| <code><a href="#@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.visit">visit</a></code> | All aspects can visit an IConstruct. | | ||
--- | ||
##### `visit` <a name="visit" id="@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.visit"></a> | ||
```typescript | ||
public visit(node: IConstruct): void | ||
``` | ||
All aspects can visit an IConstruct. | ||
###### `node`<sup>Required</sup> <a name="node" id="@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.visit.parameter.node"></a> | ||
- *Type:* constructs.IConstruct | ||
--- | ||
#### Properties <a name="Properties" id="Properties"></a> | ||
| **Name** | **Type** | **Description** | | ||
| --- | --- | --- | | ||
| <code><a href="#@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.property.rolePermissionBoundary">rolePermissionBoundary</a></code> | <code>string</code> | The permission boundary to attach to newly created roles. | | ||
| <code><a href="#@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.property.rolePath">rolePath</a></code> | <code>string</code> | The role path to attach to newly created roles. | | ||
--- | ||
##### `rolePermissionBoundary`<sup>Required</sup> <a name="rolePermissionBoundary" id="@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.property.rolePermissionBoundary"></a> | ||
```typescript | ||
public readonly rolePermissionBoundary: string; | ||
``` | ||
- *Type:* string | ||
The permission boundary to attach to newly created roles. | ||
--- | ||
##### `rolePath`<sup>Optional</sup> <a name="rolePath" id="@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect.property.rolePath"></a> | ||
```typescript | ||
public readonly rolePath: string; | ||
``` | ||
- *Type:* string | ||
The role path to attach to newly created roles. | ||
--- | ||
"use strict"; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIiJdfQ== | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__exportStar(require("./PermissionsBoundaryAspect"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsOERBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9QZXJtaXNzaW9uc0JvdW5kYXJ5QXNwZWN0JzsiXX0= |
@@ -24,4 +24,4 @@ import { IAspect } from 'aws-cdk-lib'; | ||
*/ | ||
constructor(rolePath: string, rolePermissionBoundary: string); | ||
constructor(rolePath?: string, rolePermissionBoundary?: string); | ||
visit(node: IConstruct): void; | ||
} |
"use strict"; | ||
var _a; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.PermissionsBoundaryAspect = void 0; | ||
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); | ||
const aws_cdk_lib_1 = require("aws-cdk-lib"); | ||
@@ -20,4 +22,4 @@ const aws_iam_1 = require("aws-cdk-lib/aws-iam"); | ||
constructor(rolePath, rolePermissionBoundary) { | ||
this.rolePath = rolePath; | ||
this.rolePermissionBoundary = rolePermissionBoundary; | ||
this.rolePath = rolePath ?? '/'; | ||
this.rolePermissionBoundary = rolePermissionBoundary ?? 'landingzone-workload-permissions-boundary'; | ||
} | ||
@@ -40,2 +42,4 @@ visit(node) { | ||
exports.PermissionsBoundaryAspect = PermissionsBoundaryAspect; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVybWlzc2lvbnNCb3VuZGFyeUFzcGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QZXJtaXNzaW9uc0JvdW5kYXJ5QXNwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE2QztBQUM3QyxpREFBb0Q7QUFHcEQ7Ozs7OztHQU1HO0FBQ0gsTUFBYSx5QkFBeUI7SUFXcEM7Ozs7T0FJRztJQUNILFlBQW1CLFFBQWdCLEVBQUUsc0JBQThCO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztJQUN2RCxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQWdCO1FBRTNCLElBQUksSUFBSSxZQUFZLGNBQUksRUFBRTtZQUN4QixNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQVksQ0FBQztZQUNoRSxpQ0FBaUM7WUFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixZQUFZLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6RDtZQUNELGdEQUFnRDtZQUNoRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3pGLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsRUFBRSxnQkFBZ0IsS0FBSyxDQUFDLE9BQU8sV0FBVyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO2FBQ2hJO1NBQ0Y7SUFFSCxDQUFDO0NBQ0Y7QUFyQ0QsOERBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFzcGVjdCwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5Sb2xlLCBSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQXMgYSBiZXN0IHByYWN0aWNlIG9yZ2FuaXphdGlvbnMgZW5mb3JjZSBwb2xpY2llcyB3aGljaCByZXF1aXJlIGFsbCBjdXN0b20gSUFNIFJvbGVzIGNyZWF0ZWQgdG8gYmUgZGVmaW5lZCB1bmRlclxuICogYSBzcGVjaWZpYyBwYXRoIGFuZCBwZXJtaXNzaW9uIGJvdW5kYXJ5LiBXZWxsLCB0aGlzIGFsbG93cyBiZXR0ZXIgZ292ZXJuYW5jZSBhbmQgYWxzbyBwcmV2ZW50cyB1bmludGVuZGVkIHByaXZpbGVnZSBlc2NhbGF0aW9uLlxuICogQVdTIENESyBoaWdoIGxldmVsIGNvbnN0cnVjdHMgYW5kIHBhdHRlcm5zIGVuY2Fwc3VsYXRlcyB0aGUgcm9sZSBjcmVhdGlvbiBmcm9tIGVuZCB1c2Vycy5cbiAqIFNvIGl0IGlzIGEgbGFib3Jpb3VzIGFuZCBhdCB0aW1lcyBpbXBvc3NpYmxlIHRvIGdldCBhIGhhbmRsZSBvZiBuZXdseSBjcmVhdGVkIHJvbGVzIHdpdGhpbiBhIHN0YWNrLlxuICogVGhpcyBhc3BlY3Qgd2lsbCBzY2FuIGFsbCByb2xlcyB3aXRoaW4gdGhlIGdpdmVuIHNjb3BlIGFuZCB3aWxsIGF0dGFjaCB0aGUgcmlnaHQgcGVybWlzc2lvbiBib3VuZGFyeSBhbmQgcGF0aCB0byB0aGVtLlxuICovXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNCb3VuZGFyeUFzcGVjdCBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICAvKipcbiAgICogVGhlIHJvbGUgcGF0aCB0byBhdHRhY2ggdG8gbmV3bHkgY3JlYXRlZCByb2xlcy5cbiAgICovXG4gIHJvbGVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbiBib3VuZGFyeSB0byBhdHRhY2ggdG8gbmV3bHkgY3JlYXRlZCByb2xlcy5cbiAgICovXG4gIHJvbGVQZXJtaXNzaW9uQm91bmRhcnk6IHN0cmluZztcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBQZXJtaXNzaW9uc0JvdW5kYXJ5QXNwZWN0LlxuICAgKiBAcGFyYW0gcm9sZVBhdGggLSB0aGUgcm9sZSBwYXRoIHRvIGF0dGFjaCB0byBuZXdseSBjcmVhdGVkIHJvbGVzLlxuICAgKiBAcGFyYW0gcm9sZVBlcm1pc3Npb25Cb3VuZGFyeSAtIHRoZSBwZXJtaXNzaW9uIGJvdW5kYXJ5IHRvIGF0dGFjaCB0byBuZXdseSBjcmVhdGVkIHJvbGVzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHJvbGVQYXRoOiBzdHJpbmcsIHJvbGVQZXJtaXNzaW9uQm91bmRhcnk6IHN0cmluZykge1xuICAgIHRoaXMucm9sZVBhdGggPSByb2xlUGF0aDtcbiAgICB0aGlzLnJvbGVQZXJtaXNzaW9uQm91bmRhcnkgPSByb2xlUGVybWlzc2lvbkJvdW5kYXJ5O1xuICB9XG5cbiAgcHVibGljIHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkIHtcblxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgUm9sZSkge1xuICAgICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihub2RlKTtcbiAgICAgIGNvbnN0IHJvbGVSZXNvdXJjZSA9IG5vZGUubm9kZS5maW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgQ2ZuUm9sZTtcbiAgICAgIC8vIHNldCB0aGUgcGF0aCBpZiBpdCBpcyBwcm92aWRlZFxuICAgICAgaWYgKHRoaXMucm9sZVBhdGgpIHtcbiAgICAgICAgcm9sZVJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1BhdGgnLCB0aGlzLnJvbGVQYXRoKTtcbiAgICAgIH1cbiAgICAgIC8vIHNldCB0aGUgcGVybWlzc2lvbiBib3VuZGFyeSBpZiBpdCBpcyBwcm92aWRlZFxuICAgICAgaWYgKHRoaXMucm9sZVBlcm1pc3Npb25Cb3VuZGFyeSAmJiAhdGhpcy5yb2xlUGVybWlzc2lvbkJvdW5kYXJ5LnN0YXJ0c1dpdGgoJ2Fybjphd3M6aWFtJykpIHtcbiAgICAgICAgcm9sZVJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1Blcm1pc3Npb25zQm91bmRhcnknLCBgYXJuOmF3czppYW06OiR7c3RhY2suYWNjb3VudH06cG9saWN5LyR7dGhpcy5yb2xlUGVybWlzc2lvbkJvdW5kYXJ5fWApO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuIl19 | ||
_a = JSII_RTTI_SYMBOL_1; | ||
PermissionsBoundaryAspect[_a] = { fqn: "@gemeentenijmegen/aws-constructs.PermissionsBoundaryAspect", version: "0.0.3" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVybWlzc2lvbnNCb3VuZGFyeUFzcGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QZXJtaXNzaW9uc0JvdW5kYXJ5QXNwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTZDO0FBQzdDLGlEQUFvRDtBQUdwRDs7Ozs7O0dBTUc7QUFDSCxNQUFhLHlCQUF5QjtJQVdwQzs7OztPQUlHO0lBQ0gsWUFBbUIsUUFBaUIsRUFBRSxzQkFBK0I7UUFDbkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksR0FBRyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsSUFBSSwyQ0FBMkMsQ0FBQztJQUN0RyxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQWdCO1FBRTNCLElBQUksSUFBSSxZQUFZLGNBQUksRUFBRTtZQUN4QixNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQVksQ0FBQztZQUNoRSxpQ0FBaUM7WUFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixZQUFZLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6RDtZQUNELGdEQUFnRDtZQUNoRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3pGLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsRUFBRSxnQkFBZ0IsS0FBSyxDQUFDLE9BQU8sV0FBVyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO2FBQ2hJO1NBQ0Y7SUFFSCxDQUFDOztBQXBDSCw4REFxQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXNwZWN0LCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmblJvbGUsIFJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBBcyBhIGJlc3QgcHJhY3RpY2Ugb3JnYW5pemF0aW9ucyBlbmZvcmNlIHBvbGljaWVzIHdoaWNoIHJlcXVpcmUgYWxsIGN1c3RvbSBJQU0gUm9sZXMgY3JlYXRlZCB0byBiZSBkZWZpbmVkIHVuZGVyXG4gKiBhIHNwZWNpZmljIHBhdGggYW5kIHBlcm1pc3Npb24gYm91bmRhcnkuIFdlbGwsIHRoaXMgYWxsb3dzIGJldHRlciBnb3Zlcm5hbmNlIGFuZCBhbHNvIHByZXZlbnRzIHVuaW50ZW5kZWQgcHJpdmlsZWdlIGVzY2FsYXRpb24uXG4gKiBBV1MgQ0RLIGhpZ2ggbGV2ZWwgY29uc3RydWN0cyBhbmQgcGF0dGVybnMgZW5jYXBzdWxhdGVzIHRoZSByb2xlIGNyZWF0aW9uIGZyb20gZW5kIHVzZXJzLlxuICogU28gaXQgaXMgYSBsYWJvcmlvdXMgYW5kIGF0IHRpbWVzIGltcG9zc2libGUgdG8gZ2V0IGEgaGFuZGxlIG9mIG5ld2x5IGNyZWF0ZWQgcm9sZXMgd2l0aGluIGEgc3RhY2suXG4gKiBUaGlzIGFzcGVjdCB3aWxsIHNjYW4gYWxsIHJvbGVzIHdpdGhpbiB0aGUgZ2l2ZW4gc2NvcGUgYW5kIHdpbGwgYXR0YWNoIHRoZSByaWdodCBwZXJtaXNzaW9uIGJvdW5kYXJ5IGFuZCBwYXRoIHRvIHRoZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uc0JvdW5kYXJ5QXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIC8qKlxuICAgKiBUaGUgcm9sZSBwYXRoIHRvIGF0dGFjaCB0byBuZXdseSBjcmVhdGVkIHJvbGVzLlxuICAgKi9cbiAgcm9sZVBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9uIGJvdW5kYXJ5IHRvIGF0dGFjaCB0byBuZXdseSBjcmVhdGVkIHJvbGVzLlxuICAgKi9cbiAgcm9sZVBlcm1pc3Npb25Cb3VuZGFyeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IFBlcm1pc3Npb25zQm91bmRhcnlBc3BlY3QuXG4gICAqIEBwYXJhbSByb2xlUGF0aCAtIHRoZSByb2xlIHBhdGggdG8gYXR0YWNoIHRvIG5ld2x5IGNyZWF0ZWQgcm9sZXMuXG4gICAqIEBwYXJhbSByb2xlUGVybWlzc2lvbkJvdW5kYXJ5IC0gdGhlIHBlcm1pc3Npb24gYm91bmRhcnkgdG8gYXR0YWNoIHRvIG5ld2x5IGNyZWF0ZWQgcm9sZXMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Iocm9sZVBhdGg/OiBzdHJpbmcsIHJvbGVQZXJtaXNzaW9uQm91bmRhcnk/OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJvbGVQYXRoID0gcm9sZVBhdGggPz8gJy8nO1xuICAgIHRoaXMucm9sZVBlcm1pc3Npb25Cb3VuZGFyeSA9IHJvbGVQZXJtaXNzaW9uQm91bmRhcnkgPz8gJ2xhbmRpbmd6b25lLXdvcmtsb2FkLXBlcm1pc3Npb25zLWJvdW5kYXJ5JztcbiAgfVxuXG4gIHB1YmxpYyB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG5cbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIFJvbGUpIHtcbiAgICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yobm9kZSk7XG4gICAgICBjb25zdCByb2xlUmVzb3VyY2UgPSBub2RlLm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIENmblJvbGU7XG4gICAgICAvLyBzZXQgdGhlIHBhdGggaWYgaXQgaXMgcHJvdmlkZWRcbiAgICAgIGlmICh0aGlzLnJvbGVQYXRoKSB7XG4gICAgICAgIHJvbGVSZXNvdXJjZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdQYXRoJywgdGhpcy5yb2xlUGF0aCk7XG4gICAgICB9XG4gICAgICAvLyBzZXQgdGhlIHBlcm1pc3Npb24gYm91bmRhcnkgaWYgaXQgaXMgcHJvdmlkZWRcbiAgICAgIGlmICh0aGlzLnJvbGVQZXJtaXNzaW9uQm91bmRhcnkgJiYgIXRoaXMucm9sZVBlcm1pc3Npb25Cb3VuZGFyeS5zdGFydHNXaXRoKCdhcm46YXdzOmlhbScpKSB7XG4gICAgICAgIHJvbGVSZXNvdXJjZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdQZXJtaXNzaW9uc0JvdW5kYXJ5JywgYGFybjphd3M6aWFtOjoke3N0YWNrLmFjY291bnR9OnBvbGljeS8ke3RoaXMucm9sZVBlcm1pc3Npb25Cb3VuZGFyeX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5cbiJdfQ== |
@@ -72,3 +72,3 @@ { | ||
}, | ||
"version": "0.0.2", | ||
"version": "0.0.3", | ||
"jest": { | ||
@@ -75,0 +75,0 @@ "testMatch": [ |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
121426
82
0