├── .github
└── workflows
│ └── publish.yml
├── .gitignore
├── .npmignore
├── README.md
├── lib
├── builder.ts
├── function.ts
├── index.ts
└── util.ts
├── package-lock.json
└── package.json
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | ---
2 | name: Publish CDK packages
3 |
4 | on:
5 | push:
6 | tags:
7 | - "v*"
8 |
9 | jobs:
10 | build:
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - name: Get the version
15 | id: get_version
16 | run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}
17 |
18 | - name: Checkout code
19 | uses: actions/checkout@v1
20 | with:
21 | fetch-depth: 1
22 |
23 | - name: Publish packages
24 | uses: udondan/jsii-publish@v0.8.3
25 | with:
26 | VERSION: ${{ steps.get_version.outputs.VERSION }}
27 | BUILD_SOURCE: true
28 | BUILD_PACKAGES: true
29 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
30 | PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
31 | NUGET_TOKEN: ${{ secrets.NUGET_TOKEN }}
32 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33 | GITHUB_REPOSITORY: ${{ github.repository }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.js
2 | tsconfig.json
3 | tslint.json
4 | *.js.map
5 | *.d.ts
6 | *.generated.ts
7 | dist
8 | lib/generated/resources.ts
9 | .jsii
10 |
11 | .LAST_BUILD
12 | .nyc_output
13 | coverage
14 | nyc.config.js
15 | .LAST_PACKAGE
16 | *.snk
17 |
18 | node_modules
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | # Don't include original .ts files when doing `npm pack`
2 | *.ts
3 | !*.d.ts
4 | coverage
5 | .nyc_output
6 | *.tgz
7 |
8 | dist
9 | example
10 | .LAST_PACKAGE
11 | .LAST_BUILD
12 | !*.js
13 |
14 | # Include .jsii
15 | !.jsii
16 |
17 | *.snk
18 |
19 | *.tsbuildinfo
20 |
21 | tsconfig.json
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://badge.fury.io/gh/RafalWilinski%2Faws-lambda-golang-cdk)
2 | [](https://badge.fury.io/js/aws-lambda-golang)
3 | [](https://badge.fury.io/nu/rwilinski.GolangFunction)
4 | [](https://badge.fury.io/py/rwilinski.aws-lambda-golang)
5 |
6 | ## Amazon Lambda Golang Construct
7 |
8 | This library provides constructs for Golang (Go 1.11 and 1.12 because of go modules) Lambda functions.
9 |
10 | [Why? Read this blogpost](https://www.rwilinski.me/blog/golang-and-cdk/)
11 |
12 | ### Installing
13 | In Typescript:
14 |
15 | ```sh
16 | npm i aws-lambda-golang --save
17 | # or using yarn
18 | yarn add aws-lambda-golang
19 | ```
20 |
21 | In .NET:
22 | ```sh
23 | dotnet add package rwilinski.GolangFunction --version 0.1.0
24 | ```
25 |
26 | In Python using Pip:
27 | ```sh
28 | pip install rwilinski.aws-lambda-golang
29 | ```
30 |
31 | In Java using Maven, add this to `pom.xml`:
32 | ```xml
33 |
34 | com.rwilinski
35 | aws-lambda-golang
36 | 0.1.1
37 |
38 | ```
39 |
40 | ### Usage
41 | In Typescript:
42 |
43 | ```ts
44 | import * as golang from 'aws-lambda-golang'; // Import aws-lambda-golang module
45 | import * as cdk from '@aws-cdk/core';
46 | import * as apigateway from '@aws-cdk/aws-apigateway';
47 |
48 | export class TestStackStack extends cdk.Stack {
49 | constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
50 | super(scope, id, props);
51 |
52 | // Define function. Source code should be located in ./test-function/main.go
53 | const backend = new golang.GolangFunction(this, 'test-function');
54 | const api = new apigateway.LambdaRestApi(this, 'myapi', {
55 | handler: backend,
56 | proxy: false,
57 | });
58 |
59 | const items = api.root.addResource('items');
60 | items.addMethod('GET');
61 | }
62 | }
63 | ```
64 |
65 | By default, the construct will use the name of the defining file and the construct's id to look
66 | up the entry file:
67 | ```
68 | .
69 | ├── stack.ts # defines a 'GolangFunction' with 'my-handler' as id
70 | ├── stack/my-handler/main.go
71 | ├── stack/my-handler/go.mod
72 | ├── stack/my-handler/go.sum
73 | ```
74 |
75 | The simplest Golang function (`stack/my-handler/main.go`):
76 |
77 | ```go
78 | package main
79 |
80 | import (
81 | "fmt"
82 | "net/http"
83 | "github.com/aws/aws-lambda-go/events"
84 | "github.com/aws/aws-lambda-go/lambda"
85 | )
86 |
87 | func handler(req events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {
88 | fmt.Println("Received body: ", req.Body)
89 |
90 | return events.APIGatewayProxyResponse{
91 | StatusCode: http.StatusOK,
92 | Body: "Hello from CDK GolangFunction!",
93 | }, nil
94 | }
95 |
96 | func main() {
97 | lambda.Start(handler)
98 | }
99 | ```
100 |
101 | ### Configuring build
102 |
103 | The `GolangFunction` construct exposes some options via properties: `buildCmd`, `buildDir`, `entry` and `handler`, `extraEnv`.
104 |
105 | By default, your Golang code is compiled using `go build -ldflags="-s -w"` command with `GOOS=linux` env variable.
106 |
107 | ## 🤝 Contributing
108 |
109 | Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/RafalWilinski/aws-lambda-golang-cdk/issues).
110 |
111 | Project sponsored by [Dynobase](https://dynobase.dev)
112 |
--------------------------------------------------------------------------------
/lib/builder.ts:
--------------------------------------------------------------------------------
1 | import { spawnSync } from 'child_process';
2 | import * as path from 'path';
3 |
4 | /**
5 | * Builder options
6 | */
7 | export interface BuilderOptions {
8 | /**
9 | * Entry file
10 | */
11 | readonly entry: string;
12 |
13 | /**
14 | * The output directory
15 | */
16 | readonly outDir: string;
17 |
18 | /**
19 | * The output directory
20 | */
21 | readonly buildCmd: string;
22 |
23 | /**
24 | * The handler name, also name of compiled file, defaults to `main`
25 | */
26 | readonly handler: string;
27 |
28 | /**
29 | * Additional env variables
30 | */
31 | readonly extraEnv: string;
32 | }
33 |
34 | /**
35 | * Builder
36 | */
37 | export class Builder {
38 | private readonly entry: string;
39 | private readonly outDir: string;
40 | private readonly buildCmd: string;
41 | private readonly handler: string;
42 | private readonly extraEnv: any;
43 |
44 | constructor(options: BuilderOptions) {
45 | this.entry = options.entry;
46 | this.outDir = options.outDir;
47 | this.buildCmd = options.buildCmd;
48 | this.handler = options.handler;
49 | this.extraEnv = options.extraEnv;
50 | }
51 |
52 | public build(): void {
53 | try {
54 | const cmd = `${this.buildCmd} -o ${this.outDir}/${this.handler} ${this.entry}`;
55 | const cwd = path.dirname(this.entry);
56 |
57 | const goBuild = spawnSync(cmd, {
58 | env: { ...process.env, GOOS: 'linux', ...this.extraEnv },
59 | shell: true,
60 | cwd,
61 | });
62 |
63 | if (goBuild.error) {
64 | throw goBuild.error;
65 | }
66 |
67 | if (goBuild.status !== 0) {
68 | throw new Error(goBuild.stdout.toString().trim());
69 | }
70 | } catch (err) {
71 | throw new Error(`Failed to compile Go function at ${this.entry}: ${err}`);
72 | }
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/lib/function.ts:
--------------------------------------------------------------------------------
1 | import * as lambda from '@aws-cdk/aws-lambda';
2 | import * as cdk from '@aws-cdk/core';
3 | import * as crypto from 'crypto';
4 | import * as fs from 'fs';
5 | import * as path from 'path';
6 | import { Builder } from './builder';
7 | import { parseStackTrace } from './util';
8 |
9 | /**
10 | * Properties for a GolangFunction
11 | */
12 | export interface GolangFunctionProps extends lambda.FunctionOptions {
13 | /**
14 | * Path to the entry Golang source file.
15 | *
16 | * @default - Derived from the name of the defining file and the construct's id.
17 | * If the `GolangFunction` is defined in `stack.ts` with `my-handler` as id
18 | * (`new GolangFunction(this, 'my-handler')`), the construct will look at `stack/my-handler/main.go`
19 | */
20 | readonly entry?: string;
21 |
22 | /**
23 | * The name of the exported handler in the entry file.
24 | *
25 | * @default main
26 | */
27 | readonly handler?: string;
28 |
29 | /**
30 | * The build directory
31 | *
32 | * @default - `.build` in the entry file directory
33 | */
34 | readonly buildDir?: string;
35 |
36 | /**
37 | * The build command
38 | *
39 | * @default - `go build -ldflags="-s -w"`
40 | */
41 | readonly buildCmd?: string;
42 |
43 | /**
44 | * Additional environment variables
45 | *
46 | * @default - `{ GOOS: 'linux' }`
47 | */
48 | readonly extraEnv?: any;
49 | }
50 |
51 | /**
52 | * A Node.js Lambda function bundled using Parcel
53 | */
54 | export class GolangFunction extends lambda.Function {
55 | constructor(scope: cdk.Construct, id: string, props: GolangFunctionProps = {}) {
56 | const entry = findEntry(id, props.entry);
57 | const handler = props.handler || 'main';
58 | const buildCmd = props.buildCmd || 'go build -ldflags="-s -w"';
59 | const buildDir = props.buildDir || path.join(path.dirname(entry), '.build');
60 | const handlerDir = path.join(buildDir, crypto.createHash('sha256').update(entry).digest('hex'));
61 | const runtime = lambda.Runtime.GO_1_X;
62 |
63 | // Build with go
64 | const builder = new Builder({
65 | entry,
66 | outDir: handlerDir,
67 | handler,
68 | buildCmd,
69 | extraEnv: props.extraEnv || {},
70 | });
71 | builder.build();
72 |
73 | super(scope, id, {
74 | ...props,
75 | runtime,
76 | code: lambda.Code.fromAsset(handlerDir),
77 | handler: handler,
78 | });
79 | }
80 | }
81 |
82 | /**
83 | * Searches for an entry file. Preference order is the following:
84 | * 1. Given entry file
85 | * 2. A .go file named as the defining file with id as suffix (defining-file.id.go)
86 | */
87 | function findEntry(id: string, entry?: string): string {
88 | if (entry) {
89 | if (!/\.(go)$/.test(entry)) {
90 | throw new Error('Only Golang entry files are supported.');
91 | }
92 |
93 | entry = path.join(process.cwd(), path.sep, entry)
94 |
95 | if (!fs.existsSync(entry)) {
96 | throw new Error(`Cannot find entry file at ${entry}`);
97 | }
98 | return entry;
99 | }
100 |
101 | const definingFile = findDefiningFile();
102 | const libDir = path.join(definingFile, '..');
103 | const goHandlerFile = path.join(libDir, `/${id}/main.go`);
104 |
105 | if (fs.existsSync(goHandlerFile)) {
106 | return goHandlerFile;
107 | }
108 |
109 | throw new Error('Cannot find entry file.');
110 | }
111 |
112 | /**
113 | * Finds the name of the file where the `GolangFunction` is defined
114 | */
115 | function findDefiningFile(): string {
116 | const stackTrace = parseStackTrace();
117 | const functionIndex = stackTrace.findIndex((s) => /GolangFunction/.test(s.methodName || ''));
118 |
119 | if (functionIndex === -1 || !stackTrace[functionIndex + 1]) {
120 | throw new Error('Cannot find defining file.');
121 | }
122 |
123 | return stackTrace[functionIndex + 1].file;
124 | }
125 |
--------------------------------------------------------------------------------
/lib/index.ts:
--------------------------------------------------------------------------------
1 | export * from './function';
2 |
--------------------------------------------------------------------------------
/lib/util.ts:
--------------------------------------------------------------------------------
1 | // From https://github.com/errwischt/stacktrace-parser/blob/master/src/stack-trace-parser.js
2 | const STACK_RE = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;
3 |
4 | /**
5 | * A parsed stack trace line
6 | */
7 | export interface StackTrace {
8 | readonly file: string;
9 | readonly methodName?: string;
10 | readonly lineNumber: number;
11 | readonly column: number;
12 | }
13 |
14 | /**
15 | * Parses the stack trace of an error
16 | */
17 | export function parseStackTrace(error?: Error): StackTrace[] {
18 | const err = error || new Error();
19 |
20 | if (!err.stack) {
21 | return [];
22 | }
23 |
24 | const lines = err.stack.split('\n');
25 |
26 | const stackTrace: StackTrace[] = [];
27 |
28 | for (const line of lines) {
29 | const results = STACK_RE.exec(line);
30 | if (results) {
31 | stackTrace.push({
32 | file: results[2],
33 | methodName: results[1],
34 | lineNumber: parseInt(results[3], 10),
35 | column: parseInt(results[4], 10),
36 | });
37 | }
38 | }
39 |
40 | return stackTrace;
41 | }
42 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aws-lambda-golang",
3 | "version": "0.1.1",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@aws-cdk/assert": {
8 | "version": "1.43.0",
9 | "resolved": "https://registry.npmjs.org/@aws-cdk/assert/-/assert-1.43.0.tgz",
10 | "integrity": "sha512-QwUH3oDOroMKBNzfWc0d2ohdr1UD16mReFgcqEk49VGXM6qWGCuS0i9K2bl3RBP1sxFuk98rpU7Fbx/DzKK2Tw==",
11 | "dev": true,
12 | "requires": {
13 | "@aws-cdk/cloud-assembly-schema": "1.43.0",
14 | "@aws-cdk/cloudformation-diff": "1.43.0",
15 | "@aws-cdk/core": "1.43.0",
16 | "@aws-cdk/cx-api": "1.43.0",
17 | "constructs": "^3.0.2"
18 | },
19 | "dependencies": {
20 | "constructs": {
21 | "version": "3.0.3",
22 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
23 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ==",
24 | "dev": true
25 | }
26 | }
27 | },
28 | "@aws-cdk/assets": {
29 | "version": "1.43.0",
30 | "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.43.0.tgz",
31 | "integrity": "sha512-bfmNJ6hbGmIDtjTGCH5Y9V/BY9pHBz4EV/53X09GoPPYKowTBMAAg6FziXbPQLV4TsAwv2G57HqCXlCFC7pR3A==",
32 | "requires": {
33 | "@aws-cdk/core": "1.43.0",
34 | "@aws-cdk/cx-api": "1.43.0",
35 | "constructs": "^3.0.2"
36 | },
37 | "dependencies": {
38 | "constructs": {
39 | "version": "3.0.3",
40 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
41 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
42 | }
43 | }
44 | },
45 | "@aws-cdk/aws-cloudwatch": {
46 | "version": "1.43.0",
47 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.43.0.tgz",
48 | "integrity": "sha512-3LiXJODevdAompJmlJa7lMYH1dipfaaux62sM8X/NO4kPvSr6r77cyx3qLQ8yEX2b28JObnrphg2lLKv7RH+Sw==",
49 | "requires": {
50 | "@aws-cdk/aws-iam": "1.43.0",
51 | "@aws-cdk/core": "1.43.0",
52 | "constructs": "^3.0.2"
53 | },
54 | "dependencies": {
55 | "constructs": {
56 | "version": "3.0.3",
57 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
58 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
59 | }
60 | }
61 | },
62 | "@aws-cdk/aws-ec2": {
63 | "version": "1.43.0",
64 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.43.0.tgz",
65 | "integrity": "sha512-lymf3GDtVsVuTmS2KQ4d5ovQ0mTDdb+K+kJu8DezQNvl35EMmriTzWRNAyf9b84aVRrRox2g1TMXiH6IkkZBDw==",
66 | "requires": {
67 | "@aws-cdk/aws-cloudwatch": "1.43.0",
68 | "@aws-cdk/aws-iam": "1.43.0",
69 | "@aws-cdk/aws-logs": "1.43.0",
70 | "@aws-cdk/aws-s3": "1.43.0",
71 | "@aws-cdk/aws-ssm": "1.43.0",
72 | "@aws-cdk/cloud-assembly-schema": "1.43.0",
73 | "@aws-cdk/core": "1.43.0",
74 | "@aws-cdk/cx-api": "1.43.0",
75 | "@aws-cdk/region-info": "1.43.0",
76 | "constructs": "^3.0.2"
77 | },
78 | "dependencies": {
79 | "constructs": {
80 | "version": "3.0.3",
81 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
82 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
83 | }
84 | }
85 | },
86 | "@aws-cdk/aws-events": {
87 | "version": "1.43.0",
88 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.43.0.tgz",
89 | "integrity": "sha512-3BHyZLgvpGRns4FMsstG2jQyFXl4GqpBxUsONfO0JOmB3n8nJEmGvnlmmurGNdITS4YilU6e203GC2WuI8kKDQ==",
90 | "requires": {
91 | "@aws-cdk/aws-iam": "1.43.0",
92 | "@aws-cdk/core": "1.43.0",
93 | "constructs": "^3.0.2"
94 | },
95 | "dependencies": {
96 | "constructs": {
97 | "version": "3.0.3",
98 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
99 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
100 | }
101 | }
102 | },
103 | "@aws-cdk/aws-iam": {
104 | "version": "1.43.0",
105 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.43.0.tgz",
106 | "integrity": "sha512-/nRVUmgcA+83rCfQhrrnUhLEzeVcIvymUpYhD6lcLDihuHrCW/8ds9JL8diWRgcBJsUAiogwqvKAUVkh3KP1Bg==",
107 | "requires": {
108 | "@aws-cdk/core": "1.43.0",
109 | "@aws-cdk/region-info": "1.43.0",
110 | "constructs": "^3.0.2"
111 | },
112 | "dependencies": {
113 | "constructs": {
114 | "version": "3.0.3",
115 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
116 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
117 | }
118 | }
119 | },
120 | "@aws-cdk/aws-kms": {
121 | "version": "1.43.0",
122 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.43.0.tgz",
123 | "integrity": "sha512-eqYINo1HWTs50ClMgSt8xCb0CYJM5S59zcsG9bgKFCE0emXMp7w2yW9/Pj/R++8HxZ97fMEu/iDyLxOnwxB8Ag==",
124 | "requires": {
125 | "@aws-cdk/aws-iam": "1.43.0",
126 | "@aws-cdk/core": "1.43.0",
127 | "constructs": "^3.0.2"
128 | },
129 | "dependencies": {
130 | "constructs": {
131 | "version": "3.0.3",
132 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
133 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
134 | }
135 | }
136 | },
137 | "@aws-cdk/aws-lambda": {
138 | "version": "1.43.0",
139 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.43.0.tgz",
140 | "integrity": "sha512-wIHx9J0pqABSEuhIH/6MKF9ccAO4ucxTK/B2Zgshc60H+2swPhO+qtCMwB0N5QWmXM3hwB5pG3jCBG6ib+OUpg==",
141 | "requires": {
142 | "@aws-cdk/aws-cloudwatch": "1.43.0",
143 | "@aws-cdk/aws-ec2": "1.43.0",
144 | "@aws-cdk/aws-events": "1.43.0",
145 | "@aws-cdk/aws-iam": "1.43.0",
146 | "@aws-cdk/aws-logs": "1.43.0",
147 | "@aws-cdk/aws-s3": "1.43.0",
148 | "@aws-cdk/aws-s3-assets": "1.43.0",
149 | "@aws-cdk/aws-sqs": "1.43.0",
150 | "@aws-cdk/core": "1.43.0",
151 | "@aws-cdk/cx-api": "1.43.0",
152 | "constructs": "^3.0.2"
153 | },
154 | "dependencies": {
155 | "constructs": {
156 | "version": "3.0.3",
157 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
158 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
159 | }
160 | }
161 | },
162 | "@aws-cdk/aws-logs": {
163 | "version": "1.43.0",
164 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.43.0.tgz",
165 | "integrity": "sha512-gylDRoxoTNolP0E53scXLpvIZUk0J1WnL6F7AqKkgdw99OQ4ZY72pkCIH/3pF/kZ6tLYPZ3Nh7XqUnGIZKlAcg==",
166 | "requires": {
167 | "@aws-cdk/aws-cloudwatch": "1.43.0",
168 | "@aws-cdk/aws-iam": "1.43.0",
169 | "@aws-cdk/core": "1.43.0",
170 | "constructs": "^3.0.2"
171 | },
172 | "dependencies": {
173 | "constructs": {
174 | "version": "3.0.3",
175 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
176 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
177 | }
178 | }
179 | },
180 | "@aws-cdk/aws-s3": {
181 | "version": "1.43.0",
182 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.43.0.tgz",
183 | "integrity": "sha512-5fAyohoUbI33rxpNDRJfHnCc5jpHt5UI2KFxX9fc+YvTLyw7k712awdcSdNZQxWGM4vgTvPA8b3/DM7fFV5AqQ==",
184 | "requires": {
185 | "@aws-cdk/aws-events": "1.43.0",
186 | "@aws-cdk/aws-iam": "1.43.0",
187 | "@aws-cdk/aws-kms": "1.43.0",
188 | "@aws-cdk/core": "1.43.0",
189 | "constructs": "^3.0.2"
190 | },
191 | "dependencies": {
192 | "constructs": {
193 | "version": "3.0.3",
194 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
195 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
196 | }
197 | }
198 | },
199 | "@aws-cdk/aws-s3-assets": {
200 | "version": "1.43.0",
201 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.43.0.tgz",
202 | "integrity": "sha512-BHzUO5vbUV5ejyHviXYHKfaIZ+UP83MqBnN5evCRPB3swr7JIcAMriMAVbcrA8fAdlhVGrdigSqifTef3lnkTw==",
203 | "requires": {
204 | "@aws-cdk/assets": "1.43.0",
205 | "@aws-cdk/aws-iam": "1.43.0",
206 | "@aws-cdk/aws-s3": "1.43.0",
207 | "@aws-cdk/core": "1.43.0",
208 | "@aws-cdk/cx-api": "1.43.0",
209 | "constructs": "^3.0.2"
210 | },
211 | "dependencies": {
212 | "constructs": {
213 | "version": "3.0.3",
214 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
215 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
216 | }
217 | }
218 | },
219 | "@aws-cdk/aws-sqs": {
220 | "version": "1.43.0",
221 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.43.0.tgz",
222 | "integrity": "sha512-tQlFu/TU/PA35y1QbqZplzJHPlgSoerZ4bAxjDioGOjdey66JtMZMCKUGH43uBfAsCWKbq+qm8dF4TQg3U/xRQ==",
223 | "requires": {
224 | "@aws-cdk/aws-cloudwatch": "1.43.0",
225 | "@aws-cdk/aws-iam": "1.43.0",
226 | "@aws-cdk/aws-kms": "1.43.0",
227 | "@aws-cdk/core": "1.43.0",
228 | "constructs": "^3.0.2"
229 | },
230 | "dependencies": {
231 | "constructs": {
232 | "version": "3.0.3",
233 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
234 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
235 | }
236 | }
237 | },
238 | "@aws-cdk/aws-ssm": {
239 | "version": "1.43.0",
240 | "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.43.0.tgz",
241 | "integrity": "sha512-gBKrUEsvo1VzwibFzXqVZCvrZOW89zl2b/BNTpR19G8gEhXDZMsBkGW44eGvswzU5ac0q90B54ELGEh0IvPvxQ==",
242 | "requires": {
243 | "@aws-cdk/aws-iam": "1.43.0",
244 | "@aws-cdk/aws-kms": "1.43.0",
245 | "@aws-cdk/cloud-assembly-schema": "1.43.0",
246 | "@aws-cdk/core": "1.43.0",
247 | "constructs": "^3.0.2"
248 | },
249 | "dependencies": {
250 | "constructs": {
251 | "version": "3.0.3",
252 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
253 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
254 | }
255 | }
256 | },
257 | "@aws-cdk/cdk-assets-schema": {
258 | "version": "1.43.0",
259 | "resolved": "https://registry.npmjs.org/@aws-cdk/cdk-assets-schema/-/cdk-assets-schema-1.43.0.tgz",
260 | "integrity": "sha512-zG2XlJPOajQGwTX3ptxyyLKKUu/viFRD5AdjlvhYFLQKX2fSDnjDtWdFf34FRNyPdI8gR3erzttn5Etw/alTsA==",
261 | "requires": {
262 | "semver": "^7.2.2"
263 | },
264 | "dependencies": {
265 | "semver": {
266 | "version": "7.3.2",
267 | "bundled": true
268 | }
269 | }
270 | },
271 | "@aws-cdk/cfnspec": {
272 | "version": "1.43.0",
273 | "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-1.43.0.tgz",
274 | "integrity": "sha512-CcVb2icN6GVSXelYA9vYMHCy0bU68t5m1bZghYZFavhJVtq1ZL3gMLVMZ9R0O7Nc1zKk7xUkXnj0Ljt7SgTb0Q==",
275 | "dev": true,
276 | "requires": {
277 | "md5": "^2.2.1"
278 | }
279 | },
280 | "@aws-cdk/cloud-assembly-schema": {
281 | "version": "1.43.0",
282 | "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.43.0.tgz",
283 | "integrity": "sha512-PRPoErhsenkgukL48pWgWc2lhk7ntwxWgo/s2+tlARa6BclXM8ZwxmACNxWvqvgb9G1fVdsXmAQFHJJs5DHciw==",
284 | "requires": {
285 | "jsonschema": "^1.2.5",
286 | "semver": "^7.2.2"
287 | },
288 | "dependencies": {
289 | "jsonschema": {
290 | "version": "1.2.6",
291 | "bundled": true
292 | },
293 | "semver": {
294 | "version": "7.3.2",
295 | "bundled": true
296 | }
297 | }
298 | },
299 | "@aws-cdk/cloudformation-diff": {
300 | "version": "1.43.0",
301 | "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.43.0.tgz",
302 | "integrity": "sha512-FnqeFYP2QCnXUAytxLy8/UQgpiwkfuPucxfUGhIOlhU/4xu25HLStFdN1SFCteSZP+SaTS4fmFQkI2r6lVEF4g==",
303 | "dev": true,
304 | "requires": {
305 | "@aws-cdk/cfnspec": "1.43.0",
306 | "colors": "^1.4.0",
307 | "diff": "^4.0.2",
308 | "fast-deep-equal": "^3.1.1",
309 | "string-width": "^4.2.0",
310 | "table": "^5.4.6"
311 | }
312 | },
313 | "@aws-cdk/core": {
314 | "version": "1.43.0",
315 | "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.43.0.tgz",
316 | "integrity": "sha512-QdnVC/IcSvS8001YvYRBFgJ/CtbC7+Lh0ow2yBLkoo66AhmP0QZzHgxkvI5QxikLtMNpFp2wqnrQtNFS1heNMw==",
317 | "requires": {
318 | "@aws-cdk/cdk-assets-schema": "1.43.0",
319 | "@aws-cdk/cloud-assembly-schema": "1.43.0",
320 | "@aws-cdk/cx-api": "1.43.0",
321 | "constructs": "^3.0.2",
322 | "minimatch": "^3.0.4"
323 | },
324 | "dependencies": {
325 | "balanced-match": {
326 | "version": "1.0.0",
327 | "bundled": true
328 | },
329 | "brace-expansion": {
330 | "version": "1.1.11",
331 | "bundled": true,
332 | "requires": {
333 | "balanced-match": "^1.0.0",
334 | "concat-map": "0.0.1"
335 | }
336 | },
337 | "concat-map": {
338 | "version": "0.0.1",
339 | "bundled": true
340 | },
341 | "constructs": {
342 | "version": "3.0.3",
343 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
344 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
345 | },
346 | "minimatch": {
347 | "version": "3.0.4",
348 | "bundled": true,
349 | "requires": {
350 | "brace-expansion": "^1.1.7"
351 | }
352 | }
353 | }
354 | },
355 | "@aws-cdk/cx-api": {
356 | "version": "1.43.0",
357 | "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.43.0.tgz",
358 | "integrity": "sha512-0NTFa+HScC8rdk5asS2Fcj1fjWzQ1s4XbJPDe5ZUek88hej9gJUpjh5GbCy8rRTUx3qjAJU4vT5vpGeAXUGFYA==",
359 | "requires": {
360 | "@aws-cdk/cloud-assembly-schema": "1.43.0",
361 | "semver": "^7.2.2"
362 | },
363 | "dependencies": {
364 | "semver": {
365 | "version": "7.3.2",
366 | "bundled": true
367 | }
368 | }
369 | },
370 | "@aws-cdk/region-info": {
371 | "version": "1.43.0",
372 | "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.43.0.tgz",
373 | "integrity": "sha512-x7rwK6kSm17EdMDbjFuIujWgiJMKfgJgHH37y9YqLedpanAtIm1iJsP9ZRC3ieo0zESpQLsHv2RkRRbTEWClZA=="
374 | },
375 | "@jsii/spec": {
376 | "version": "1.6.0",
377 | "resolved": "https://registry.npmjs.org/@jsii/spec/-/spec-1.6.0.tgz",
378 | "integrity": "sha512-6S863f3YQCLG00236OOT29EOqZZRFQEQcfACZ5f3Ph1PApRRndeZLsELm23MS6cCktdgdptRzaYR0HCupajBHQ==",
379 | "dev": true,
380 | "requires": {
381 | "jsonschema": "^1.2.6"
382 | }
383 | },
384 | "@types/color-name": {
385 | "version": "1.1.1",
386 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
387 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
388 | "dev": true
389 | },
390 | "@types/node": {
391 | "version": "14.0.10",
392 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.10.tgz",
393 | "integrity": "sha512-Bz23oN/5bi0rniKT24ExLf4cK0JdvN3dH/3k0whYkdN4eI4vS2ZW/2ENNn2uxHCzWcbdHIa/GRuWQytfzCjRYw==",
394 | "dev": true
395 | },
396 | "ajv": {
397 | "version": "6.12.0",
398 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
399 | "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
400 | "dev": true,
401 | "requires": {
402 | "fast-deep-equal": "^3.1.1",
403 | "fast-json-stable-stringify": "^2.0.0",
404 | "json-schema-traverse": "^0.4.1",
405 | "uri-js": "^4.2.2"
406 | }
407 | },
408 | "ansi-styles": {
409 | "version": "3.2.1",
410 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
411 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
412 | "dev": true,
413 | "requires": {
414 | "color-convert": "^1.9.0"
415 | }
416 | },
417 | "array-filter": {
418 | "version": "1.0.0",
419 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
420 | "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
421 | "dev": true
422 | },
423 | "astral-regex": {
424 | "version": "1.0.0",
425 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
426 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
427 | "dev": true
428 | },
429 | "at-least-node": {
430 | "version": "1.0.0",
431 | "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
432 | "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
433 | "dev": true
434 | },
435 | "available-typed-arrays": {
436 | "version": "1.0.2",
437 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
438 | "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
439 | "dev": true,
440 | "requires": {
441 | "array-filter": "^1.0.0"
442 | }
443 | },
444 | "camelcase": {
445 | "version": "5.3.1",
446 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
447 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
448 | "dev": true
449 | },
450 | "case": {
451 | "version": "1.6.3",
452 | "resolved": "https://registry.npmjs.org/case/-/case-1.6.3.tgz",
453 | "integrity": "sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==",
454 | "dev": true
455 | },
456 | "charenc": {
457 | "version": "0.0.2",
458 | "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
459 | "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
460 | "dev": true
461 | },
462 | "cliui": {
463 | "version": "6.0.0",
464 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
465 | "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
466 | "dev": true,
467 | "requires": {
468 | "string-width": "^4.2.0",
469 | "strip-ansi": "^6.0.0",
470 | "wrap-ansi": "^6.2.0"
471 | }
472 | },
473 | "clone": {
474 | "version": "2.1.2",
475 | "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
476 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
477 | "dev": true
478 | },
479 | "codemaker": {
480 | "version": "1.6.0",
481 | "resolved": "https://registry.npmjs.org/codemaker/-/codemaker-1.6.0.tgz",
482 | "integrity": "sha512-B8FcGhBVMfQs+a8i8VnAWZLUgsM8IU3Q+V2hrLnBXd82Tlp/uUm5K5melOJeSKCoHHaTU8y1kNLaNo6qq47etw==",
483 | "dev": true,
484 | "requires": {
485 | "camelcase": "^6.0.0",
486 | "decamelize": "^1.2.0",
487 | "fs-extra": "^9.0.0"
488 | },
489 | "dependencies": {
490 | "camelcase": {
491 | "version": "6.0.0",
492 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
493 | "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
494 | "dev": true
495 | },
496 | "fs-extra": {
497 | "version": "9.0.1",
498 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
499 | "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
500 | "dev": true,
501 | "requires": {
502 | "at-least-node": "^1.0.0",
503 | "graceful-fs": "^4.2.0",
504 | "jsonfile": "^6.0.1",
505 | "universalify": "^1.0.0"
506 | }
507 | },
508 | "jsonfile": {
509 | "version": "6.0.1",
510 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
511 | "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
512 | "dev": true,
513 | "requires": {
514 | "graceful-fs": "^4.1.6",
515 | "universalify": "^1.0.0"
516 | }
517 | },
518 | "universalify": {
519 | "version": "1.0.0",
520 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
521 | "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
522 | "dev": true
523 | }
524 | }
525 | },
526 | "color-convert": {
527 | "version": "1.9.3",
528 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
529 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
530 | "dev": true,
531 | "requires": {
532 | "color-name": "1.1.3"
533 | }
534 | },
535 | "color-name": {
536 | "version": "1.1.3",
537 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
538 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
539 | "dev": true
540 | },
541 | "colors": {
542 | "version": "1.4.0",
543 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
544 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
545 | "dev": true
546 | },
547 | "commonmark": {
548 | "version": "0.29.1",
549 | "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.1.tgz",
550 | "integrity": "sha512-DafPdNYFXoEhsSiR4O+dJ45UJBfDL4cBTks4B+agKiaWt7qjG0bIhg5xuCE0RqU71ikJcBIf4/sRHh9vYQVF8Q==",
551 | "dev": true,
552 | "requires": {
553 | "entities": "~1.1.1",
554 | "mdurl": "~1.0.1",
555 | "minimist": "~1.2.0",
556 | "string.prototype.repeat": "^0.2.0"
557 | }
558 | },
559 | "constructs": {
560 | "version": "3.0.3",
561 | "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.3.tgz",
562 | "integrity": "sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ=="
563 | },
564 | "crypt": {
565 | "version": "0.0.2",
566 | "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
567 | "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=",
568 | "dev": true
569 | },
570 | "date-format": {
571 | "version": "3.0.0",
572 | "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
573 | "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==",
574 | "dev": true
575 | },
576 | "debug": {
577 | "version": "4.1.1",
578 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
579 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
580 | "dev": true,
581 | "requires": {
582 | "ms": "^2.1.1"
583 | }
584 | },
585 | "decamelize": {
586 | "version": "1.2.0",
587 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
588 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
589 | "dev": true
590 | },
591 | "deep-equal": {
592 | "version": "2.0.3",
593 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.3.tgz",
594 | "integrity": "sha512-Spqdl4H+ky45I9ByyJtXteOm9CaIrPmnIPmOhrkKGNYWeDgCvJ8jNYVCTjChxW4FqGuZnLHADc8EKRMX6+CgvA==",
595 | "dev": true,
596 | "requires": {
597 | "es-abstract": "^1.17.5",
598 | "es-get-iterator": "^1.1.0",
599 | "is-arguments": "^1.0.4",
600 | "is-date-object": "^1.0.2",
601 | "is-regex": "^1.0.5",
602 | "isarray": "^2.0.5",
603 | "object-is": "^1.1.2",
604 | "object-keys": "^1.1.1",
605 | "object.assign": "^4.1.0",
606 | "regexp.prototype.flags": "^1.3.0",
607 | "side-channel": "^1.0.2",
608 | "which-boxed-primitive": "^1.0.1",
609 | "which-collection": "^1.0.1",
610 | "which-typed-array": "^1.1.2"
611 | }
612 | },
613 | "define-properties": {
614 | "version": "1.1.3",
615 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
616 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
617 | "dev": true,
618 | "requires": {
619 | "object-keys": "^1.0.12"
620 | }
621 | },
622 | "detect-indent": {
623 | "version": "5.0.0",
624 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz",
625 | "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=",
626 | "dev": true
627 | },
628 | "detect-newline": {
629 | "version": "2.1.0",
630 | "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
631 | "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
632 | "dev": true
633 | },
634 | "diff": {
635 | "version": "4.0.2",
636 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
637 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
638 | "dev": true
639 | },
640 | "emoji-regex": {
641 | "version": "7.0.3",
642 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
643 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
644 | "dev": true
645 | },
646 | "entities": {
647 | "version": "1.1.2",
648 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
649 | "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
650 | "dev": true
651 | },
652 | "es-abstract": {
653 | "version": "1.17.5",
654 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
655 | "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
656 | "dev": true,
657 | "requires": {
658 | "es-to-primitive": "^1.2.1",
659 | "function-bind": "^1.1.1",
660 | "has": "^1.0.3",
661 | "has-symbols": "^1.0.1",
662 | "is-callable": "^1.1.5",
663 | "is-regex": "^1.0.5",
664 | "object-inspect": "^1.7.0",
665 | "object-keys": "^1.1.1",
666 | "object.assign": "^4.1.0",
667 | "string.prototype.trimleft": "^2.1.1",
668 | "string.prototype.trimright": "^2.1.1"
669 | }
670 | },
671 | "es-get-iterator": {
672 | "version": "1.1.0",
673 | "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz",
674 | "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==",
675 | "dev": true,
676 | "requires": {
677 | "es-abstract": "^1.17.4",
678 | "has-symbols": "^1.0.1",
679 | "is-arguments": "^1.0.4",
680 | "is-map": "^2.0.1",
681 | "is-set": "^2.0.1",
682 | "is-string": "^1.0.5",
683 | "isarray": "^2.0.5"
684 | }
685 | },
686 | "es-to-primitive": {
687 | "version": "1.2.1",
688 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
689 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
690 | "dev": true,
691 | "requires": {
692 | "is-callable": "^1.1.4",
693 | "is-date-object": "^1.0.1",
694 | "is-symbol": "^1.0.2"
695 | }
696 | },
697 | "escape-string-regexp": {
698 | "version": "4.0.0",
699 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
700 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
701 | "dev": true
702 | },
703 | "fast-deep-equal": {
704 | "version": "3.1.1",
705 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
706 | "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
707 | "dev": true
708 | },
709 | "fast-json-stable-stringify": {
710 | "version": "2.1.0",
711 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
712 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
713 | "dev": true
714 | },
715 | "find-up": {
716 | "version": "4.1.0",
717 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
718 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
719 | "dev": true,
720 | "requires": {
721 | "locate-path": "^5.0.0",
722 | "path-exists": "^4.0.0"
723 | }
724 | },
725 | "flatted": {
726 | "version": "2.0.2",
727 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
728 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
729 | "dev": true
730 | },
731 | "foreach": {
732 | "version": "2.0.5",
733 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
734 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
735 | "dev": true
736 | },
737 | "fs-extra": {
738 | "version": "8.1.0",
739 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
740 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
741 | "dev": true,
742 | "requires": {
743 | "graceful-fs": "^4.2.0",
744 | "jsonfile": "^4.0.0",
745 | "universalify": "^0.1.0"
746 | }
747 | },
748 | "function-bind": {
749 | "version": "1.1.1",
750 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
751 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
752 | "dev": true
753 | },
754 | "get-caller-file": {
755 | "version": "2.0.5",
756 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
757 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
758 | "dev": true
759 | },
760 | "graceful-fs": {
761 | "version": "4.2.3",
762 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
763 | "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
764 | "dev": true
765 | },
766 | "has": {
767 | "version": "1.0.3",
768 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
769 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
770 | "dev": true,
771 | "requires": {
772 | "function-bind": "^1.1.1"
773 | }
774 | },
775 | "has-symbols": {
776 | "version": "1.0.1",
777 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
778 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
779 | "dev": true
780 | },
781 | "is-arguments": {
782 | "version": "1.0.4",
783 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
784 | "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
785 | "dev": true
786 | },
787 | "is-bigint": {
788 | "version": "1.0.0",
789 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz",
790 | "integrity": "sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==",
791 | "dev": true
792 | },
793 | "is-boolean-object": {
794 | "version": "1.0.1",
795 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz",
796 | "integrity": "sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==",
797 | "dev": true
798 | },
799 | "is-buffer": {
800 | "version": "1.1.6",
801 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
802 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
803 | "dev": true
804 | },
805 | "is-callable": {
806 | "version": "1.2.0",
807 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
808 | "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
809 | "dev": true
810 | },
811 | "is-date-object": {
812 | "version": "1.0.2",
813 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
814 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
815 | "dev": true
816 | },
817 | "is-fullwidth-code-point": {
818 | "version": "3.0.0",
819 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
820 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
821 | "dev": true
822 | },
823 | "is-map": {
824 | "version": "2.0.1",
825 | "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz",
826 | "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==",
827 | "dev": true
828 | },
829 | "is-number-object": {
830 | "version": "1.0.4",
831 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz",
832 | "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==",
833 | "dev": true
834 | },
835 | "is-regex": {
836 | "version": "1.1.0",
837 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
838 | "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
839 | "dev": true,
840 | "requires": {
841 | "has-symbols": "^1.0.1"
842 | }
843 | },
844 | "is-set": {
845 | "version": "2.0.1",
846 | "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz",
847 | "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==",
848 | "dev": true
849 | },
850 | "is-string": {
851 | "version": "1.0.5",
852 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
853 | "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
854 | "dev": true
855 | },
856 | "is-symbol": {
857 | "version": "1.0.3",
858 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
859 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
860 | "dev": true,
861 | "requires": {
862 | "has-symbols": "^1.0.1"
863 | }
864 | },
865 | "is-typed-array": {
866 | "version": "1.1.3",
867 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.3.tgz",
868 | "integrity": "sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ==",
869 | "dev": true,
870 | "requires": {
871 | "available-typed-arrays": "^1.0.0",
872 | "es-abstract": "^1.17.4",
873 | "foreach": "^2.0.5",
874 | "has-symbols": "^1.0.1"
875 | }
876 | },
877 | "is-weakmap": {
878 | "version": "2.0.1",
879 | "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
880 | "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
881 | "dev": true
882 | },
883 | "is-weakset": {
884 | "version": "2.0.1",
885 | "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz",
886 | "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==",
887 | "dev": true
888 | },
889 | "isarray": {
890 | "version": "2.0.5",
891 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
892 | "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
893 | "dev": true
894 | },
895 | "jsii": {
896 | "version": "1.6.0",
897 | "resolved": "https://registry.npmjs.org/jsii/-/jsii-1.6.0.tgz",
898 | "integrity": "sha512-g9L2xBnKCrzfMPkaioYSz8lYATYGt8SWimycq9HxfszaI0/QjKv+68E5pgTimy6EZil+2O/KguiYqlK9jNQE7A==",
899 | "dev": true,
900 | "requires": {
901 | "@jsii/spec": "^1.6.0",
902 | "case": "^1.6.3",
903 | "colors": "^1.4.0",
904 | "deep-equal": "^2.0.3",
905 | "fs-extra": "^9.0.0",
906 | "log4js": "^6.3.0",
907 | "semver": "^7.3.2",
908 | "semver-intersect": "^1.4.0",
909 | "sort-json": "^2.0.0",
910 | "spdx-license-list": "^6.2.0",
911 | "typescript": "~3.8.3",
912 | "yargs": "^15.3.1"
913 | },
914 | "dependencies": {
915 | "fs-extra": {
916 | "version": "9.0.1",
917 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
918 | "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
919 | "dev": true,
920 | "requires": {
921 | "at-least-node": "^1.0.0",
922 | "graceful-fs": "^4.2.0",
923 | "jsonfile": "^6.0.1",
924 | "universalify": "^1.0.0"
925 | }
926 | },
927 | "jsonfile": {
928 | "version": "6.0.1",
929 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
930 | "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
931 | "dev": true,
932 | "requires": {
933 | "graceful-fs": "^4.1.6",
934 | "universalify": "^1.0.0"
935 | }
936 | },
937 | "universalify": {
938 | "version": "1.0.0",
939 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
940 | "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
941 | "dev": true
942 | }
943 | }
944 | },
945 | "jsii-pacmak": {
946 | "version": "1.6.0",
947 | "resolved": "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.6.0.tgz",
948 | "integrity": "sha512-Ces8X36Ccyq5AZjzpznFUfV5wd0Ol0hiprJwtGHhs5vug5uJFLZxdS0hPFBFFPLiXQWwsEToWyM7PQ+xakTTpg==",
949 | "dev": true,
950 | "requires": {
951 | "@jsii/spec": "^1.6.0",
952 | "clone": "^2.1.2",
953 | "codemaker": "^1.6.0",
954 | "commonmark": "^0.29.1",
955 | "escape-string-regexp": "^4.0.0",
956 | "fs-extra": "^9.0.0",
957 | "jsii-reflect": "^1.6.0",
958 | "jsii-rosetta": "^1.6.0",
959 | "semver": "^7.3.2",
960 | "spdx-license-list": "^6.2.0",
961 | "xmlbuilder": "^15.1.1",
962 | "yargs": "^15.3.1"
963 | },
964 | "dependencies": {
965 | "fs-extra": {
966 | "version": "9.0.1",
967 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
968 | "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
969 | "dev": true,
970 | "requires": {
971 | "at-least-node": "^1.0.0",
972 | "graceful-fs": "^4.2.0",
973 | "jsonfile": "^6.0.1",
974 | "universalify": "^1.0.0"
975 | }
976 | },
977 | "jsonfile": {
978 | "version": "6.0.1",
979 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
980 | "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
981 | "dev": true,
982 | "requires": {
983 | "graceful-fs": "^4.1.6",
984 | "universalify": "^1.0.0"
985 | }
986 | },
987 | "universalify": {
988 | "version": "1.0.0",
989 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
990 | "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
991 | "dev": true
992 | }
993 | }
994 | },
995 | "jsii-reflect": {
996 | "version": "1.6.0",
997 | "resolved": "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.6.0.tgz",
998 | "integrity": "sha512-JsVGJCcezNdnR4OukLNs7p6T6f3rKbGWNByE8Omvi7GfDf9c/YiVG4LggxEQaWyIZiYYqeEtBw6JtIKj3Qme5w==",
999 | "dev": true,
1000 | "requires": {
1001 | "@jsii/spec": "^1.6.0",
1002 | "colors": "^1.4.0",
1003 | "fs-extra": "^9.0.0",
1004 | "oo-ascii-tree": "^1.6.0",
1005 | "yargs": "^15.3.1"
1006 | },
1007 | "dependencies": {
1008 | "fs-extra": {
1009 | "version": "9.0.1",
1010 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
1011 | "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
1012 | "dev": true,
1013 | "requires": {
1014 | "at-least-node": "^1.0.0",
1015 | "graceful-fs": "^4.2.0",
1016 | "jsonfile": "^6.0.1",
1017 | "universalify": "^1.0.0"
1018 | }
1019 | },
1020 | "jsonfile": {
1021 | "version": "6.0.1",
1022 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
1023 | "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
1024 | "dev": true,
1025 | "requires": {
1026 | "graceful-fs": "^4.1.6",
1027 | "universalify": "^1.0.0"
1028 | }
1029 | },
1030 | "universalify": {
1031 | "version": "1.0.0",
1032 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
1033 | "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
1034 | "dev": true
1035 | }
1036 | }
1037 | },
1038 | "jsii-rosetta": {
1039 | "version": "1.6.0",
1040 | "resolved": "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.6.0.tgz",
1041 | "integrity": "sha512-eDaaIyvFcnB07j4aRS/xWBxenHE+OEW8gWLwSnv72+BsPifcS1QOkYcz/p/fTtPjNDyjtO8dcG5V4NUsy3QKdw==",
1042 | "dev": true,
1043 | "requires": {
1044 | "@jsii/spec": "^1.6.0",
1045 | "commonmark": "^0.29.1",
1046 | "fs-extra": "^9.0.0",
1047 | "typescript": "~3.8.3",
1048 | "xmldom": "^0.3.0",
1049 | "yargs": "^15.3.1"
1050 | },
1051 | "dependencies": {
1052 | "fs-extra": {
1053 | "version": "9.0.1",
1054 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
1055 | "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
1056 | "dev": true,
1057 | "requires": {
1058 | "at-least-node": "^1.0.0",
1059 | "graceful-fs": "^4.2.0",
1060 | "jsonfile": "^6.0.1",
1061 | "universalify": "^1.0.0"
1062 | }
1063 | },
1064 | "jsonfile": {
1065 | "version": "6.0.1",
1066 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
1067 | "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
1068 | "dev": true,
1069 | "requires": {
1070 | "graceful-fs": "^4.1.6",
1071 | "universalify": "^1.0.0"
1072 | }
1073 | },
1074 | "universalify": {
1075 | "version": "1.0.0",
1076 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
1077 | "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
1078 | "dev": true
1079 | }
1080 | }
1081 | },
1082 | "json-schema-traverse": {
1083 | "version": "0.4.1",
1084 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1085 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1086 | "dev": true
1087 | },
1088 | "jsonfile": {
1089 | "version": "4.0.0",
1090 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
1091 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
1092 | "dev": true,
1093 | "requires": {
1094 | "graceful-fs": "^4.1.6"
1095 | }
1096 | },
1097 | "jsonschema": {
1098 | "version": "1.2.6",
1099 | "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.6.tgz",
1100 | "integrity": "sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA==",
1101 | "dev": true
1102 | },
1103 | "locate-path": {
1104 | "version": "5.0.0",
1105 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
1106 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
1107 | "dev": true,
1108 | "requires": {
1109 | "p-locate": "^4.1.0"
1110 | }
1111 | },
1112 | "lodash": {
1113 | "version": "4.17.19",
1114 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
1115 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
1116 | "dev": true
1117 | },
1118 | "log4js": {
1119 | "version": "6.3.0",
1120 | "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz",
1121 | "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==",
1122 | "dev": true,
1123 | "requires": {
1124 | "date-format": "^3.0.0",
1125 | "debug": "^4.1.1",
1126 | "flatted": "^2.0.1",
1127 | "rfdc": "^1.1.4",
1128 | "streamroller": "^2.2.4"
1129 | }
1130 | },
1131 | "md5": {
1132 | "version": "2.2.1",
1133 | "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
1134 | "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=",
1135 | "dev": true,
1136 | "requires": {
1137 | "charenc": "~0.0.1",
1138 | "crypt": "~0.0.1",
1139 | "is-buffer": "~1.1.1"
1140 | }
1141 | },
1142 | "mdurl": {
1143 | "version": "1.0.1",
1144 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
1145 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
1146 | "dev": true
1147 | },
1148 | "minimist": {
1149 | "version": "1.2.5",
1150 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1151 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
1152 | "dev": true
1153 | },
1154 | "ms": {
1155 | "version": "2.1.2",
1156 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1157 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1158 | "dev": true
1159 | },
1160 | "object-inspect": {
1161 | "version": "1.7.0",
1162 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
1163 | "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
1164 | "dev": true
1165 | },
1166 | "object-is": {
1167 | "version": "1.1.2",
1168 | "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz",
1169 | "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==",
1170 | "dev": true,
1171 | "requires": {
1172 | "define-properties": "^1.1.3",
1173 | "es-abstract": "^1.17.5"
1174 | }
1175 | },
1176 | "object-keys": {
1177 | "version": "1.1.1",
1178 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
1179 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
1180 | "dev": true
1181 | },
1182 | "object.assign": {
1183 | "version": "4.1.0",
1184 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
1185 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
1186 | "dev": true,
1187 | "requires": {
1188 | "define-properties": "^1.1.2",
1189 | "function-bind": "^1.1.1",
1190 | "has-symbols": "^1.0.0",
1191 | "object-keys": "^1.0.11"
1192 | }
1193 | },
1194 | "oo-ascii-tree": {
1195 | "version": "1.6.0",
1196 | "resolved": "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.6.0.tgz",
1197 | "integrity": "sha512-3JNvbe7r+qHPHbJhnQ8R8GzgSdF5sAA49gNKnJDWD/bQ9cZzSKG8qtbGPBBnwQ2wX/YCaJ4rUTs1c2Rz2sx1+w==",
1198 | "dev": true
1199 | },
1200 | "p-limit": {
1201 | "version": "2.3.0",
1202 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
1203 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
1204 | "dev": true,
1205 | "requires": {
1206 | "p-try": "^2.0.0"
1207 | }
1208 | },
1209 | "p-locate": {
1210 | "version": "4.1.0",
1211 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
1212 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
1213 | "dev": true,
1214 | "requires": {
1215 | "p-limit": "^2.2.0"
1216 | }
1217 | },
1218 | "p-try": {
1219 | "version": "2.2.0",
1220 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
1221 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
1222 | "dev": true
1223 | },
1224 | "path-exists": {
1225 | "version": "4.0.0",
1226 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1227 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1228 | "dev": true
1229 | },
1230 | "punycode": {
1231 | "version": "2.1.1",
1232 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1233 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1234 | "dev": true
1235 | },
1236 | "regexp.prototype.flags": {
1237 | "version": "1.3.0",
1238 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
1239 | "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
1240 | "dev": true,
1241 | "requires": {
1242 | "define-properties": "^1.1.3",
1243 | "es-abstract": "^1.17.0-next.1"
1244 | }
1245 | },
1246 | "require-directory": {
1247 | "version": "2.1.1",
1248 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1249 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
1250 | "dev": true
1251 | },
1252 | "require-main-filename": {
1253 | "version": "2.0.0",
1254 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
1255 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
1256 | "dev": true
1257 | },
1258 | "rfdc": {
1259 | "version": "1.1.4",
1260 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz",
1261 | "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==",
1262 | "dev": true
1263 | },
1264 | "semver": {
1265 | "version": "7.3.2",
1266 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
1267 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
1268 | "dev": true
1269 | },
1270 | "semver-intersect": {
1271 | "version": "1.4.0",
1272 | "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz",
1273 | "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
1274 | "dev": true,
1275 | "requires": {
1276 | "semver": "^5.0.0"
1277 | },
1278 | "dependencies": {
1279 | "semver": {
1280 | "version": "5.7.1",
1281 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1282 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1283 | "dev": true
1284 | }
1285 | }
1286 | },
1287 | "set-blocking": {
1288 | "version": "2.0.0",
1289 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
1290 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
1291 | "dev": true
1292 | },
1293 | "side-channel": {
1294 | "version": "1.0.2",
1295 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz",
1296 | "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==",
1297 | "dev": true,
1298 | "requires": {
1299 | "es-abstract": "^1.17.0-next.1",
1300 | "object-inspect": "^1.7.0"
1301 | }
1302 | },
1303 | "slice-ansi": {
1304 | "version": "2.1.0",
1305 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
1306 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
1307 | "dev": true,
1308 | "requires": {
1309 | "ansi-styles": "^3.2.0",
1310 | "astral-regex": "^1.0.0",
1311 | "is-fullwidth-code-point": "^2.0.0"
1312 | },
1313 | "dependencies": {
1314 | "is-fullwidth-code-point": {
1315 | "version": "2.0.0",
1316 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1317 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1318 | "dev": true
1319 | }
1320 | }
1321 | },
1322 | "sort-json": {
1323 | "version": "2.0.0",
1324 | "resolved": "https://registry.npmjs.org/sort-json/-/sort-json-2.0.0.tgz",
1325 | "integrity": "sha512-OgXPErPJM/rBK5OhzIJ+etib/BmLQ1JY55Nb/ElhoWUec62pXNF/X6DrecHq3NW5OAGX0KxYD7m0HtgB9dvGeA==",
1326 | "dev": true,
1327 | "requires": {
1328 | "detect-indent": "^5.0.0",
1329 | "detect-newline": "^2.1.0",
1330 | "minimist": "^1.2.0"
1331 | }
1332 | },
1333 | "spdx-license-list": {
1334 | "version": "6.2.0",
1335 | "resolved": "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-6.2.0.tgz",
1336 | "integrity": "sha512-sHM1eQz+yYrKRIO5j/tzu3yWhbouQc2RYmCn5nNC296nVztW0VSlpJvmgsWPKAMEIqjfghXy3vvIwCbEOJPSHg==",
1337 | "dev": true
1338 | },
1339 | "streamroller": {
1340 | "version": "2.2.4",
1341 | "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
1342 | "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==",
1343 | "dev": true,
1344 | "requires": {
1345 | "date-format": "^2.1.0",
1346 | "debug": "^4.1.1",
1347 | "fs-extra": "^8.1.0"
1348 | },
1349 | "dependencies": {
1350 | "date-format": {
1351 | "version": "2.1.0",
1352 | "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
1353 | "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
1354 | "dev": true
1355 | }
1356 | }
1357 | },
1358 | "string-width": {
1359 | "version": "4.2.0",
1360 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
1361 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
1362 | "dev": true,
1363 | "requires": {
1364 | "emoji-regex": "^8.0.0",
1365 | "is-fullwidth-code-point": "^3.0.0",
1366 | "strip-ansi": "^6.0.0"
1367 | },
1368 | "dependencies": {
1369 | "emoji-regex": {
1370 | "version": "8.0.0",
1371 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1372 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1373 | "dev": true
1374 | }
1375 | }
1376 | },
1377 | "string.prototype.repeat": {
1378 | "version": "0.2.0",
1379 | "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
1380 | "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
1381 | "dev": true
1382 | },
1383 | "string.prototype.trimend": {
1384 | "version": "1.0.1",
1385 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
1386 | "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
1387 | "dev": true,
1388 | "requires": {
1389 | "define-properties": "^1.1.3",
1390 | "es-abstract": "^1.17.5"
1391 | }
1392 | },
1393 | "string.prototype.trimleft": {
1394 | "version": "2.1.2",
1395 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
1396 | "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
1397 | "dev": true,
1398 | "requires": {
1399 | "define-properties": "^1.1.3",
1400 | "es-abstract": "^1.17.5",
1401 | "string.prototype.trimstart": "^1.0.0"
1402 | }
1403 | },
1404 | "string.prototype.trimright": {
1405 | "version": "2.1.2",
1406 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
1407 | "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
1408 | "dev": true,
1409 | "requires": {
1410 | "define-properties": "^1.1.3",
1411 | "es-abstract": "^1.17.5",
1412 | "string.prototype.trimend": "^1.0.0"
1413 | }
1414 | },
1415 | "string.prototype.trimstart": {
1416 | "version": "1.0.1",
1417 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
1418 | "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
1419 | "dev": true,
1420 | "requires": {
1421 | "define-properties": "^1.1.3",
1422 | "es-abstract": "^1.17.5"
1423 | }
1424 | },
1425 | "strip-ansi": {
1426 | "version": "6.0.0",
1427 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1428 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1429 | "dev": true,
1430 | "requires": {
1431 | "ansi-regex": "^5.0.0"
1432 | },
1433 | "dependencies": {
1434 | "ansi-regex": {
1435 | "version": "5.0.0",
1436 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
1437 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
1438 | "dev": true
1439 | }
1440 | }
1441 | },
1442 | "table": {
1443 | "version": "5.4.6",
1444 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1445 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1446 | "dev": true,
1447 | "requires": {
1448 | "ajv": "^6.10.2",
1449 | "lodash": "^4.17.14",
1450 | "slice-ansi": "^2.1.0",
1451 | "string-width": "^3.0.0"
1452 | },
1453 | "dependencies": {
1454 | "ansi-regex": {
1455 | "version": "4.1.0",
1456 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1457 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1458 | "dev": true
1459 | },
1460 | "is-fullwidth-code-point": {
1461 | "version": "2.0.0",
1462 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1463 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1464 | "dev": true
1465 | },
1466 | "string-width": {
1467 | "version": "3.1.0",
1468 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1469 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1470 | "dev": true,
1471 | "requires": {
1472 | "emoji-regex": "^7.0.1",
1473 | "is-fullwidth-code-point": "^2.0.0",
1474 | "strip-ansi": "^5.1.0"
1475 | }
1476 | },
1477 | "strip-ansi": {
1478 | "version": "5.2.0",
1479 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1480 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1481 | "dev": true,
1482 | "requires": {
1483 | "ansi-regex": "^4.1.0"
1484 | }
1485 | }
1486 | }
1487 | },
1488 | "typescript": {
1489 | "version": "3.8.3",
1490 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz",
1491 | "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==",
1492 | "dev": true
1493 | },
1494 | "universalify": {
1495 | "version": "0.1.2",
1496 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
1497 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
1498 | "dev": true
1499 | },
1500 | "uri-js": {
1501 | "version": "4.2.2",
1502 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1503 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1504 | "dev": true,
1505 | "requires": {
1506 | "punycode": "^2.1.0"
1507 | }
1508 | },
1509 | "which-boxed-primitive": {
1510 | "version": "1.0.1",
1511 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz",
1512 | "integrity": "sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==",
1513 | "dev": true,
1514 | "requires": {
1515 | "is-bigint": "^1.0.0",
1516 | "is-boolean-object": "^1.0.0",
1517 | "is-number-object": "^1.0.3",
1518 | "is-string": "^1.0.4",
1519 | "is-symbol": "^1.0.2"
1520 | }
1521 | },
1522 | "which-collection": {
1523 | "version": "1.0.1",
1524 | "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
1525 | "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
1526 | "dev": true,
1527 | "requires": {
1528 | "is-map": "^2.0.1",
1529 | "is-set": "^2.0.1",
1530 | "is-weakmap": "^2.0.1",
1531 | "is-weakset": "^2.0.1"
1532 | }
1533 | },
1534 | "which-module": {
1535 | "version": "2.0.0",
1536 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
1537 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
1538 | "dev": true
1539 | },
1540 | "which-typed-array": {
1541 | "version": "1.1.2",
1542 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.2.tgz",
1543 | "integrity": "sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ==",
1544 | "dev": true,
1545 | "requires": {
1546 | "available-typed-arrays": "^1.0.2",
1547 | "es-abstract": "^1.17.5",
1548 | "foreach": "^2.0.5",
1549 | "function-bind": "^1.1.1",
1550 | "has-symbols": "^1.0.1",
1551 | "is-typed-array": "^1.1.3"
1552 | }
1553 | },
1554 | "wrap-ansi": {
1555 | "version": "6.2.0",
1556 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
1557 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
1558 | "dev": true,
1559 | "requires": {
1560 | "ansi-styles": "^4.0.0",
1561 | "string-width": "^4.1.0",
1562 | "strip-ansi": "^6.0.0"
1563 | },
1564 | "dependencies": {
1565 | "ansi-styles": {
1566 | "version": "4.2.1",
1567 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
1568 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
1569 | "dev": true,
1570 | "requires": {
1571 | "@types/color-name": "^1.1.1",
1572 | "color-convert": "^2.0.1"
1573 | }
1574 | },
1575 | "color-convert": {
1576 | "version": "2.0.1",
1577 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1578 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1579 | "dev": true,
1580 | "requires": {
1581 | "color-name": "~1.1.4"
1582 | }
1583 | },
1584 | "color-name": {
1585 | "version": "1.1.4",
1586 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1587 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1588 | "dev": true
1589 | }
1590 | }
1591 | },
1592 | "xmlbuilder": {
1593 | "version": "15.1.1",
1594 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
1595 | "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
1596 | "dev": true
1597 | },
1598 | "xmldom": {
1599 | "version": "0.3.0",
1600 | "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.3.0.tgz",
1601 | "integrity": "sha512-z9s6k3wxE+aZHgXYxSTpGDo7BYOUfJsIRyoZiX6HTjwpwfS2wpQBQKa2fD+ShLyPkqDYo5ud7KitmLZ2Cd6r0g==",
1602 | "dev": true
1603 | },
1604 | "y18n": {
1605 | "version": "4.0.0",
1606 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
1607 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
1608 | "dev": true
1609 | },
1610 | "yargs": {
1611 | "version": "15.3.1",
1612 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
1613 | "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
1614 | "dev": true,
1615 | "requires": {
1616 | "cliui": "^6.0.0",
1617 | "decamelize": "^1.2.0",
1618 | "find-up": "^4.1.0",
1619 | "get-caller-file": "^2.0.1",
1620 | "require-directory": "^2.1.1",
1621 | "require-main-filename": "^2.0.0",
1622 | "set-blocking": "^2.0.0",
1623 | "string-width": "^4.2.0",
1624 | "which-module": "^2.0.0",
1625 | "y18n": "^4.0.0",
1626 | "yargs-parser": "^18.1.1"
1627 | }
1628 | },
1629 | "yargs-parser": {
1630 | "version": "18.1.3",
1631 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
1632 | "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
1633 | "dev": true,
1634 | "requires": {
1635 | "camelcase": "^5.0.0",
1636 | "decamelize": "^1.2.0"
1637 | }
1638 | }
1639 | }
1640 | }
1641 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aws-lambda-golang",
3 | "version": "0.1.1",
4 | "description": "CDK Construct for AWS Lambda in Golang",
5 | "main": "lib/index.js",
6 | "types": "lib/index.d.ts",
7 | "scripts": {
8 | "build": "jsii",
9 | "build:watch": "jsii -w",
10 | "package": "jsii-pacmak",
11 | "clean": "find ./lib -name \"*.d.ts\" -type f -delete && find ./lib -name \"*.js\" -type f -delete && rm -fr ./dist && find ./example -name \"*.d.ts\" -type f -delete && find ./example -name \"*.js\" -type f -delete && rm -fr example/cdk.out"
12 | },
13 | "keywords": [
14 | "aws",
15 | "cdk",
16 | "constructs",
17 | "lambda",
18 | "golang"
19 | ],
20 | "author": {
21 | "name": "Rafal Wilinski",
22 | "email": "raf.wilinski@gmail.com",
23 | "url": "https://rwilinski.me"
24 | },
25 | "jest": {
26 | "moduleFileExtensions": [
27 | "js"
28 | ],
29 | "coverageThreshold": {
30 | "global": {
31 | "branches": 60,
32 | "statements": 80
33 | }
34 | },
35 | "collectCoverage": true,
36 | "coverageReporters": [
37 | "lcov",
38 | "html",
39 | "text-summary"
40 | ]
41 | },
42 | "license": "Apache-2.0",
43 | "devDependencies": {
44 | "@aws-cdk/assert": "^1.43.0",
45 | "@types/node": "^14.0.10",
46 | "fs-extra": "^8.1.0",
47 | "jsii": "^1.6.0",
48 | "jsii-pacmak": "^1.6.0"
49 | },
50 | "dependencies": {
51 | "@aws-cdk/aws-lambda": "^1.43.0",
52 | "@aws-cdk/core": "^1.43.0",
53 | "constructs": "^3.0.3"
54 | },
55 | "homepage": "https://github.com/RafalWilinski/aws-lambda-golang-cdk",
56 | "repository": {
57 | "url": "https://github.com/RafalWilinski/aws-lambda-golang-cdk.git",
58 | "type": "git"
59 | },
60 | "jsii": {
61 | "outdir": "dist",
62 | "targets": {
63 | "python": {
64 | "distName": "rwilinski.aws-lambda-golang",
65 | "module": "rwilinski.aws-lambda-golang"
66 | },
67 | "java": {
68 | "package": "com.rwilinski.awslambdagolang",
69 | "maven": {
70 | "groupId": "com.rwilinski",
71 | "artifactId": "aws-lambda-golang"
72 | }
73 | },
74 | "dotnet": {
75 | "namespace": "rwilinski.AwsLambdaGolang",
76 | "packageId": "rwilinski.GolangFunction"
77 | }
78 | }
79 | },
80 | "peerDependencies": {
81 | "@aws-cdk/aws-lambda": "^1.43.0",
82 | "@aws-cdk/core": "^1.43.0",
83 | "constructs": "^3.0.3"
84 | },
85 | "engines": {
86 | "node": ">= 10.3.0"
87 | },
88 | "stability": "experimental",
89 | "awscdkio": {
90 | "announce": true,
91 | "twitter": "@RafalWilinski"
92 | }
93 | }
--------------------------------------------------------------------------------