diff --git a/.eslintrc.json b/.eslintrc.json index 0cee0b5..d741455 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,4 @@ +// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". { "env": { "jest": true, @@ -34,11 +35,12 @@ }, "ignorePatterns": [ "*.js", - "!.projenrc.ts", "*.d.ts", "node_modules/", "*.generated.ts", - "coverage" + "coverage", + "!.projenrc.ts", + "!projenrc/**/*.ts" ], "rules": { "indent": [ @@ -145,7 +147,9 @@ { "devDependencies": [ "**/test/**", - "**/build-tools/**" + "**/build-tools/**", + ".projenrc.ts", + "projenrc/**/*.ts" ], "optionalDependencies": false, "peerDependencies": true diff --git a/.gitattributes b/.gitattributes index 4813d22..35fd89f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". *.snap linguist-generated /.eslintrc.json linguist-generated @@ -10,10 +10,12 @@ /.gitignore linguist-generated /.mergify.yml linguist-generated /.npmignore linguist-generated +/.npmrc linguist-generated /.projen/** linguist-generated /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/API.md linguist-generated /LICENSE linguist-generated /package.json linguist-generated /tsconfig.dev.json linguist-generated diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9bcbff2..0b6ed98 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". name: build on: @@ -15,22 +15,26 @@ jobs: CI: "true" steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16.x - name: Install dependencies run: yarn install --check-files - name: build run: npx projen build - - id: self_mutation - name: Find mutations + - name: Find mutations + id: self_mutation run: |- git add . - git diff --staged --patch --exit-code > .repo.patch || echo "::set-output name=self_mutation_happened::true" - - if: steps.self_mutation.outputs.self_mutation_happened - name: Upload patch - uses: actions/upload-artifact@v2 + git diff --staged --patch --exit-code > .repo.patch || echo "self_mutation_happened=true" >> $GITHUB_OUTPUT + - name: Upload patch + if: steps.self_mutation.outputs.self_mutation_happened + uses: actions/upload-artifact@v3 with: name: .repo.patch path: .repo.patch @@ -40,13 +44,14 @@ jobs: echo "::error::Files were changed during build (see build log). If this was triggered from a fork, you will need to update your branch." cat .repo.patch exit 1 + - name: Backup artifact permissions + run: cd dist && getfacl -R . > permissions-backup.acl + continue-on-error: true - name: Upload artifact - uses: actions/upload-artifact@v2.1.1 + uses: actions/upload-artifact@v3 with: name: build-artifact path: dist - container: - image: jsii/superchain:1-buster-slim-node14 self-mutation: needs: build runs-on: ubuntu-latest @@ -55,13 +60,13 @@ jobs: if: always() && needs.build.outputs.self_mutation_happened && !(github.event.pull_request.head.repo.full_name != github.repository) steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: token: ${{ secrets.PROJEN_GITHUB_TOKEN }} ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} - name: Download patch - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: .repo.patch path: ${{ runner.temp }} @@ -72,24 +77,29 @@ jobs: git config user.name "github-actions" git config user.email "github-actions@github.com" - name: Push changes - run: |2- - git add . - git commit -s -m "chore: self mutation" - git push origin HEAD:${{ github.event.pull_request.head.ref }} + env: + PULL_REQUEST_REF: ${{ github.event.pull_request.head.ref }} + run: |- + git add . + git commit -s -m "chore: self mutation" + git push origin HEAD:$PULL_REQUEST_REF package-js: needs: build runs-on: ubuntu-latest permissions: {} if: "! needs.build.outputs.self_mutation_happened" steps: - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Install Dependencies @@ -104,18 +114,21 @@ jobs: permissions: {} if: "! needs.build.outputs.self_mutation_happened" steps: - - uses: actions/setup-java@v2 + - uses: actions/setup-java@v3 with: distribution: temurin java-version: 11.x - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Install Dependencies @@ -130,17 +143,20 @@ jobs: permissions: {} if: "! needs.build.outputs.self_mutation_happened" steps: - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x - - uses: actions/setup-python@v2 + node-version: 16.x + - uses: actions/setup-python@v4 with: python-version: 3.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Install Dependencies @@ -155,17 +171,20 @@ jobs: permissions: {} if: "! needs.build.outputs.self_mutation_happened" steps: - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x - - uses: actions/setup-dotnet@v1 + node-version: 16.x + - uses: actions/setup-dotnet@v3 with: dotnet-version: 3.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Install Dependencies diff --git a/.github/workflows/pull-request-lint.yml b/.github/workflows/pull-request-lint.yml index 2945378..062108a 100644 --- a/.github/workflows/pull-request-lint.yml +++ b/.github/workflows/pull-request-lint.yml @@ -1,4 +1,4 @@ -# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". name: pull-request-lint on: @@ -17,7 +17,7 @@ jobs: permissions: pull-requests: write steps: - - uses: amannn/action-semantic-pull-request@v3.4.6 + - uses: amannn/action-semantic-pull-request@v5.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d6d3a5..e40e5c1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". name: release on: @@ -17,28 +17,34 @@ jobs: CI: "true" steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set git identity run: |- git config user.name "github-actions" git config user.email "github-actions@github.com" + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16.x - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: release run: npx projen release - name: Check for new commits id: git_remote - run: echo ::set-output name=latest_commit::"$(git ls-remote origin -h ${{ github.ref }} | cut -f1)" + run: echo "latest_commit=$(git ls-remote origin -h ${{ github.ref }} | cut -f1)" >> $GITHUB_OUTPUT + - name: Backup artifact permissions + if: ${{ steps.git_remote.outputs.latest_commit == github.sha }} + run: cd dist && getfacl -R . > permissions-backup.acl + continue-on-error: true - name: Upload artifact if: ${{ steps.git_remote.outputs.latest_commit == github.sha }} - uses: actions/upload-artifact@v2.1.1 + uses: actions/upload-artifact@v3 with: name: build-artifact path: dist - container: - image: jsii/superchain:1-buster-slim-node14 release_github: name: Publish to GitHub Releases needs: release @@ -47,24 +53,27 @@ jobs: contents: write if: needs.release.outputs.latest_commit == github.sha steps: - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Collect GitHub Metadata run: mv .repo/dist dist - name: Release - run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_REPOSITORY: ${{ github.repository }} GITHUB_REF: ${{ github.ref }} + run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi release_npm: name: Publish to npm needs: release @@ -73,14 +82,17 @@ jobs: contents: read if: needs.release.outputs.latest_commit == github.sha steps: - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Install Dependencies @@ -90,11 +102,11 @@ jobs: - name: Collect js Artifact run: mv .repo/dist dist - name: Release - run: npx -p publib@latest publib-npm env: NPM_DIST_TAG: latest NPM_REGISTRY: registry.npmjs.org NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npx -p publib@latest publib-npm release_maven: name: Publish to Maven Central needs: release @@ -103,18 +115,21 @@ jobs: contents: read if: needs.release.outputs.latest_commit == github.sha steps: - - uses: actions/setup-java@v2 + - uses: actions/setup-java@v3 with: distribution: temurin java-version: 11.x - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Install Dependencies @@ -124,7 +139,6 @@ jobs: - name: Collect java Artifact run: mv .repo/dist dist - name: Release - run: npx -p publib@latest publib-maven env: MAVEN_ENDPOINT: https://s01.oss.sonatype.org MAVEN_GPG_PRIVATE_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} @@ -132,6 +146,7 @@ jobs: MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} MAVEN_STAGING_PROFILE_ID: ${{ secrets.MAVEN_STAGING_PROFILE_ID }} + run: npx -p publib@latest publib-maven release_pypi: name: Publish to PyPI needs: release @@ -140,17 +155,20 @@ jobs: contents: read if: needs.release.outputs.latest_commit == github.sha steps: - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x - - uses: actions/setup-python@v2 + node-version: 16.x + - uses: actions/setup-python@v4 with: python-version: 3.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Install Dependencies @@ -160,10 +178,10 @@ jobs: - name: Collect python Artifact run: mv .repo/dist dist - name: Release - run: npx -p publib@latest publib-pypi env: TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + run: npx -p publib@latest publib-pypi release_nuget: name: Publish to NuGet Gallery needs: release @@ -172,17 +190,20 @@ jobs: contents: read if: needs.release.outputs.latest_commit == github.sha steps: - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: - node-version: 14.x - - uses: actions/setup-dotnet@v1 + node-version: 16.x + - uses: actions/setup-dotnet@v3 with: dotnet-version: 3.x - name: Download build artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: build-artifact path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true - name: Prepare Repository run: mv dist .repo - name: Install Dependencies @@ -192,6 +213,6 @@ jobs: - name: Collect dotnet Artifact run: mv .repo/dist dist - name: Release - run: npx -p publib@latest publib-nuget env: NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} + run: npx -p publib@latest publib-nuget diff --git a/.gitignore b/.gitignore index 26b1ce4..6bb1a7b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". !/.gitattributes !/.projen/tasks.json !/.projen/deps.json @@ -41,6 +41,7 @@ junit.xml !/.github/workflows/release.yml !/.mergify.yml !/.github/pull_request_template.md +!/.npmrc !/test/ !/tsconfig.dev.json !/src/ diff --git a/.mergify.yml b/.mergify.yml index 03d8326..f87dd04 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -1,7 +1,8 @@ -# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". queue_rules: - name: default + update_method: merge conditions: - "#approved-reviews-by>=1" - -label~=(do-not-merge) diff --git a/.npmignore b/.npmignore index efe7d67..b0c7047 100644 --- a/.npmignore +++ b/.npmignore @@ -1,8 +1,9 @@ -# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". /.projen/ /test-reports/ junit.xml /coverage/ +permissions-backup.acl /dist/changelog.md /dist/version.txt /.mergify.yml diff --git a/.projen/deps.json b/.projen/deps.json index ba84df1..b10679d 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -2,11 +2,12 @@ "dependencies": [ { "name": "@types/jest", + "version": "^27", "type": "build" }, { "name": "@types/node", - "version": "^14", + "version": "^16", "type": "build" }, { @@ -21,7 +22,7 @@ }, { "name": "aws-cdk-lib", - "version": "2.27.0", + "version": "2.87.0", "type": "build" }, { @@ -48,7 +49,7 @@ }, { "name": "jest-junit", - "version": "^13", + "version": "^15", "type": "build" }, { @@ -56,10 +57,6 @@ "version": "^27", "type": "build" }, - { - "name": "jsii", - "type": "build" - }, { "name": "jsii-diff", "type": "build" @@ -73,7 +70,8 @@ "type": "build" }, { - "name": "json-schema", + "name": "jsii", + "version": "1.x", "type": "build" }, { @@ -126,9 +124,19 @@ "name": "synchronized-promise", "type": "bundled" }, + { + "name": "@types/babel__traverse", + "version": "7.18.2", + "type": "override" + }, + { + "name": "@types/prettier", + "version": "2.6.0", + "type": "override" + }, { "name": "aws-cdk-lib", - "version": "^2.27.0", + "version": "^2.87.0", "type": "peer" }, { @@ -137,5 +145,5 @@ "type": "peer" } ], - "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." + "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"." } diff --git a/.projen/files.json b/.projen/files.json index 01086ef..84b937d 100644 --- a/.projen/files.json +++ b/.projen/files.json @@ -8,11 +8,12 @@ ".github/workflows/release.yml", ".gitignore", ".mergify.yml", + ".npmrc", ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", "LICENSE", "tsconfig.dev.json" ], - "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." + "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"." } diff --git a/.projen/tasks.json b/.projen/tasks.json index 83d0c8d..994ae24 100644 --- a/.projen/tasks.json +++ b/.projen/tasks.json @@ -126,7 +126,25 @@ "description": "Runs eslint against the codebase", "steps": [ { - "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern src test build-tools .projenrc.ts" + "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern src test build-tools projenrc .projenrc.ts" + } + ] + }, + "install": { + "name": "install", + "description": "Install project dependencies and update lockfile (non-frozen)", + "steps": [ + { + "exec": "yarn install --check-files" + } + ] + }, + "install:ci": { + "name": "install:ci", + "description": "Install project dependencies using frozen lockfile", + "steps": [ + { + "exec": "yarn install --check-files --frozen-lockfile" } ] }, @@ -135,7 +153,7 @@ "description": "Creates the distribution package", "steps": [ { - "exec": "if [ ! -z ${CI} ]; then mkdir -p dist && rsync -a . dist --exclude .git --exclude node_modules; else npx projen package-all; fi" + "exec": "if [ ! -z ${CI} ]; then rsync -a . .repo --exclude .git --exclude node_modules && rm -rf dist && mv .repo dist; else npx projen package-all; fi" } ] }, @@ -240,15 +258,6 @@ } ] }, - "test:update": { - "name": "test:update", - "description": "Update jest snapshots", - "steps": [ - { - "exec": "jest --updateSnapshot" - } - ] - }, "test:watch": { "name": "test:watch", "description": "Run jest in watch mode", @@ -285,7 +294,7 @@ } }, "env": { - "PATH": "$(npx -c \"node -e \\\"console.log(process.env.PATH)\\\"\")" + "PATH": "$(npx -c \"node --print process.env.PATH\")" }, - "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." + "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"." } diff --git a/.projenrc.ts b/.projenrc.ts index 53c8d5d..95c4c8e 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -3,7 +3,7 @@ import { awscdk } from 'projen'; const project = new awscdk.AwsCdkConstructLibrary({ author: 'Amazon Web Services', authorAddress: 'https://aws.amazon.com', - cdkVersion: '2.27.0', + cdkVersion: '2.87.0', cdkVersionPinning: false, tsconfig: { compilerOptions: { diff --git a/API.md b/API.md index aa6b0eb..f80acbd 100644 --- a/API.md +++ b/API.md @@ -8379,8 +8379,10 @@ new HelloWorld(app: Construct, id: string) | --- | --- | | toString | Returns a string representation of this construct. | | addDependency | Add a dependency between this stack and another stack. | +| addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. | | addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. | -| exportValue | Create a CloudFormation Export for a value. | +| exportStringListValue | Create a CloudFormation Export for a string list value. | +| exportValue | Create a CloudFormation Export for a string value. | | formatArn | Creates an ARN from components. | | getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. | | regionalFact | Look up a fact value for the given fact for the region of this stack. | @@ -8389,6 +8391,7 @@ new HelloWorld(app: Construct, id: string) | resolve | Resolve a tokenized value in the context of the current stack. | | splitArn | Splits the provided ARN into its components. | | toJsonString | Convert an object, potentially containing tokens, to a JSON string. | +| toYamlString | Convert an object, potentially containing tokens, to a YAML string. | --- @@ -8423,6 +8426,30 @@ app, and also supports nested stacks. --- +##### `addMetadata` + +```typescript +public addMetadata(key: string, value: any): void +``` + +Adds an arbitary key-value pair, with information you want to record about the stack. + +These get translated to the Metadata section of the generated template. + +> [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html) + +###### `key`Required + +- *Type:* string + +--- + +###### `value`Required + +- *Type:* any + +--- + ##### `addTransform` ```typescript @@ -8452,13 +8479,51 @@ The transform to add. --- +##### `exportStringListValue` + +```typescript +public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[] +``` + +Create a CloudFormation Export for a string list value. + +Returns a string list representing the corresponding `Fn.importValue()` +expression for this Export. The export expression is automatically wrapped with an +`Fn::Join` and the import value with an `Fn::Split`, since CloudFormation can only +export strings. You can control the name for the export by passing the `name` option. + +If you don't supply a value for `name`, the value you're exporting must be +a Resource attribute (for example: `bucket.bucketName`) and it will be +given the same name as the automatic cross-stack reference that would be created +if you used the attribute in another Stack. + +One of the uses for this method is to *remove* the relationship between +two Stacks established by automatic cross-stack references. It will +temporarily ensure that the CloudFormation Export still exists while you +remove the reference from the consuming stack. After that, you can remove +the resource and the manual export. + +See `exportValue` for an example of this process. + +###### `exportedValue`Required + +- *Type:* any + +--- + +###### `options`Optional + +- *Type:* aws-cdk-lib.ExportValueOptions + +--- + ##### `exportValue` ```typescript public exportValue(exportedValue: any, options?: ExportValueOptions): string ``` -Create a CloudFormation Export for a value. +Create a CloudFormation Export for a string value. Returns a string representing the corresponding `Fn.importValue()` expression for this Export. You can control the name for the export by @@ -8490,11 +8555,11 @@ Instead, the process takes two deployments: ### Deployment 1: break the relationship - Make sure `consumerStack` no longer references `bucket.bucketName` (maybe the consumer - stack now uses its own bucket, or it writes to an AWS DynamoDB table, or maybe you just - remove the Lambda Function altogether). + stack now uses its own bucket, or it writes to an AWS DynamoDB table, or maybe you just + remove the Lambda Function altogether). - In the `ProducerStack` class, call `this.exportValue(this.bucket.bucketName)`. This - will make sure the CloudFormation Export continues to exist while the relationship - between the two stacks is being broken. + will make sure the CloudFormation Export continues to exist while the relationship + between the two stacks is being broken. - Deploy (this will effectively only change the `consumerStack`, but it's safe to deploy both). ### Deployment 2: remove the bucket resource @@ -8531,7 +8596,7 @@ into the generated ARN at the location that component corresponds to. The ARN will be formatted as follows: - arn:{partition}:{service}:{region}:{account}:{resource}{sep}}{resource-name} + arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name} The required ARN pieces that are omitted will be taken from the stack that the 'scope' is attached to. If all ARN pieces are supplied, the supplied scope @@ -8708,6 +8773,20 @@ Convert an object, potentially containing tokens, to a JSON string. --- +##### `toYamlString` + +```typescript +public toYamlString(obj: any): string +``` + +Convert an object, potentially containing tokens, to a YAML string. + +###### `obj`Required + +- *Type:* any + +--- + #### Static Functions | **Name** | **Description** | @@ -8827,14 +8906,14 @@ The AWS account into which this stack will be deployed. This value is resolved according to the following rules: 1. The value provided to `env.account` when the stack is defined. This can - either be a concerete account (e.g. `585695031111`) or the - `Aws.accountId` token. -3. `Aws.accountId`, which represents the CloudFormation intrinsic reference - `{ "Ref": "AWS::AccountId" }` encoded as a string token. + either be a concrete account (e.g. `585695031111`) or the + `Aws.ACCOUNT_ID` token. +3. `Aws.ACCOUNT_ID`, which represents the CloudFormation intrinsic reference + `{ "Ref": "AWS::AccountId" }` encoded as a string token. Preferably, you should use the return value as an opaque string and not attempt to parse it to implement your logic. If you do, you must first -check that it is a concerete value an not an unresolved token. If this +check that it is a concrete value an not an unresolved token. If this value is an unresolved token (`Token.isUnresolved(stack.account)` returns `true`), this implies that the user wishes that this stack will synthesize into a **account-agnostic template**. In this case, your code should either @@ -8920,7 +8999,7 @@ You can use this value to determine if two stacks are targeting the same environment. If either `stack.account` or `stack.region` are not concrete values (e.g. -`Aws.account` or `Aws.region`) the special strings `unknown-account` and/or +`Aws.ACCOUNT_ID` or `Aws.REGION`) the special strings `unknown-account` and/or `unknown-region` will be used respectively to indicate this stack is region/account-agnostic. @@ -8975,14 +9054,14 @@ The AWS region into which this stack will be deployed (e.g. `us-west-2`). This value is resolved according to the following rules: 1. The value provided to `env.region` when the stack is defined. This can - either be a concerete region (e.g. `us-west-2`) or the `Aws.region` - token. -3. `Aws.region`, which is represents the CloudFormation intrinsic reference - `{ "Ref": "AWS::Region" }` encoded as a string token. + either be a concrete region (e.g. `us-west-2`) or the `Aws.REGION` + token. +3. `Aws.REGION`, which is represents the CloudFormation intrinsic reference + `{ "Ref": "AWS::Region" }` encoded as a string token. Preferably, you should use the return value as an opaque string and not attempt to parse it to implement your logic. If you do, you must first -check that it is a concerete value an not an unresolved token. If this +check that it is a concrete value an not an unresolved token. If this value is an unresolved token (`Token.isUnresolved(stack.region)` returns `true`), this implies that the user wishes that this stack will synthesize into a **region-agnostic template**. In this case, your code should either @@ -9028,7 +9107,7 @@ name. Stacks that are defined deeper within the tree will use a hashed naming scheme based on the construct path to ensure uniqueness. If you wish to obtain the deploy-time AWS::StackName intrinsic, -you can use `Aws.stackName` directly. +you can use `Aws.STACK_NAME` directly. --- diff --git a/THIRD-PARTY-LICENSES b/THIRD-PARTY-LICENSES index 22d8cf5..aa5beb9 100644 --- a/THIRD-PARTY-LICENSES +++ b/THIRD-PARTY-LICENSES @@ -1,8 +1,8 @@ ----------------------- -Package ID: aws-sdk:2.1162.0 +Package ID: aws-sdk:2.1358.0 Package Homepage: https://github.com/aws/aws-sdk-js Package SPDX-License-Identifier: Apache-2.0 -Package Artifact: https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1162.0.tgz +Package Artifact: https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1358.0.tgz Package Artifact: git://github.com/aws/aws-sdk-js.git ----------------------- Package ID: jmespath:0.16.0 @@ -59,6 +59,12 @@ Package SPDX-License-Identifier: BSD-3-Clause Package Artifact: https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz Package Artifact: git+ssh://git@github.com/mozilla/source-map.git ----------------------- +Package ID: inherits:2.0.4 +Package Homepage: https://github.com/isaacs/inherits#readme +Package SPDX-License-Identifier: ISC +Package Artifact: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz +Package Artifact: git://github.com/isaacs/inherits.git +----------------------- Package ID: sax:1.2.1 Package Homepage: https://github.com/isaacs/sax-js#readme Package SPDX-License-Identifier: ISC @@ -71,6 +77,12 @@ Package SPDX-License-Identifier: ISC Package Artifact: https://registry.npmjs.org/sax/-/sax-1.2.4.tgz Package Artifact: git://github.com/isaacs/sax-js.git ----------------------- +Package ID: available-typed-arrays:1.0.5 +Package Homepage: https://github.com/inspect-js/available-typed-arrays#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz +Package Artifact: git+https://github.com/inspect-js/available-typed-arrays.git +----------------------- Package ID: base64-js:1.5.1 Package Homepage: https://github.com/beatgammit/base64-js Package SPDX-License-Identifier: MIT @@ -89,6 +101,12 @@ Package SPDX-License-Identifier: MIT Package Artifact: https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz Package Artifact: git://github.com/feross/buffer.git ----------------------- +Package ID: call-bind:1.0.2 +Package Homepage: https://github.com/ljharb/call-bind#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz +Package Artifact: git+https://github.com/ljharb/call-bind.git +----------------------- Package ID: deasync:0.1.26 Package Homepage: https://github.com/abbr/deasync Package SPDX-License-Identifier: MIT @@ -119,12 +137,84 @@ Package SPDX-License-Identifier: MIT Package Artifact: https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz Package Artifact: git://github.com/TooTallNate/file-uri-to-path.git ----------------------- +Package ID: for-each:0.3.3 +Package Homepage: https://github.com/Raynos/for-each +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz +Package Artifact: git://github.com/Raynos/for-each.git +----------------------- +Package ID: function-bind:1.1.1 +Package Homepage: https://github.com/Raynos/function-bind +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz +Package Artifact: git://github.com/Raynos/function-bind.git +----------------------- +Package ID: get-intrinsic:1.1.2 +Package Homepage: https://github.com/ljharb/get-intrinsic#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz +Package Artifact: git+https://github.com/ljharb/get-intrinsic.git +----------------------- +Package ID: get-intrinsic:1.2.0 +Package Homepage: https://github.com/ljharb/get-intrinsic#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz +Package Artifact: git+https://github.com/ljharb/get-intrinsic.git +----------------------- +Package ID: gopd:1.0.1 +Package Homepage: https://github.com/ljharb/gopd#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz +Package Artifact: git+https://github.com/ljharb/gopd.git +----------------------- +Package ID: has-symbols:1.0.3 +Package Homepage: https://github.com/ljharb/has-symbols#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz +Package Artifact: git://github.com/inspect-js/has-symbols.git +----------------------- +Package ID: has-tostringtag:1.0.0 +Package Homepage: https://github.com/inspect-js/has-tostringtag#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz +Package Artifact: git+https://github.com/inspect-js/has-tostringtag.git +----------------------- +Package ID: has:1.0.3 +Package Homepage: https://github.com/tarruda/has +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/has/-/has-1.0.3.tgz +Package Artifact: git://github.com/tarruda/has.git +----------------------- Package ID: immutable:4.1.0 Package Homepage: https://immutable-js.com Package SPDX-License-Identifier: MIT Package Artifact: https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz Package Artifact: git://github.com/immutable-js/immutable-js.git ----------------------- +Package ID: is-arguments:1.1.1 +Package Homepage: https://github.com/inspect-js/is-arguments +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz +Package Artifact: git://github.com/inspect-js/is-arguments.git +----------------------- +Package ID: is-callable:1.2.7 +Package Homepage: https://github.com/inspect-js/is-callable#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz +Package Artifact: git://github.com/inspect-js/is-callable.git +----------------------- +Package ID: is-generator-function:1.0.10 +Package Homepage: https://github.com/inspect-js/is-generator-function#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz +Package Artifact: git://github.com/inspect-js/is-generator-function.git +----------------------- +Package ID: is-typed-array:1.1.10 +Package Homepage: https://github.com/inspect-js/is-typed-array#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz +Package Artifact: git://github.com/inspect-js/is-typed-array.git +----------------------- Package ID: isarray:1.0.0 Package Homepage: https://github.com/juliangruber/isarray Package SPDX-License-Identifier: MIT @@ -215,28 +305,40 @@ Package SPDX-License-Identifier: MIT Package Artifact: https://registry.npmjs.org/url/-/url-0.10.3.tgz Package Artifact: https://github.com/defunctzombie/node-url.git ----------------------- +Package ID: util:0.12.5 +Package Homepage: https://github.com/browserify/node-util +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/util/-/util-0.12.5.tgz +Package Artifact: git://github.com/browserify/node-util.git +----------------------- Package ID: uuid:8.0.0 Package Homepage: https://github.com/uuidjs/uuid#readme Package SPDX-License-Identifier: MIT Package Artifact: https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz Package Artifact: git+https://github.com/uuidjs/uuid.git ----------------------- +Package ID: which-typed-array:1.1.9 +Package Homepage: https://github.com/inspect-js/which-typed-array#readme +Package SPDX-License-Identifier: MIT +Package Artifact: https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz +Package Artifact: git://github.com/inspect-js/which-typed-array.git +----------------------- Package ID: word-wrap:1.2.3 Package Homepage: https://github.com/jonschlinkert/word-wrap Package SPDX-License-Identifier: MIT Package Artifact: https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz Package Artifact: git+https://github.com/jonschlinkert/word-wrap.git ----------------------- -Package ID: xml2js:0.4.19 +Package ID: xml2js:0.5.0 Package Homepage: https://github.com/Leonidas-from-XIV/node-xml2js Package SPDX-License-Identifier: MIT -Package Artifact: https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz +Package Artifact: https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz Package Artifact: git+https://github.com/Leonidas-from-XIV/node-xml2js.git ----------------------- -Package ID: xmlbuilder:9.0.7 +Package ID: xmlbuilder:11.0.1 Package Homepage: http://github.com/oozcitak/xmlbuilder-js Package SPDX-License-Identifier: MIT -Package Artifact: https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz +Package Artifact: https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz Package Artifact: git://github.com/oozcitak/xmlbuilder-js.git ----------------------- Package ID: argparse:2.0.1 diff --git a/package.json b/package.json index bcc9489..e66f95f 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "pre-compile": "npx projen pre-compile", "release": "npx projen release", "test": "npx projen test", - "test:update": "npx projen test:update", "test:watch": "npx projen test:watch", "unbump": "npx projen unbump", "watch": "npx projen watch", @@ -36,32 +35,31 @@ "organization": false }, "devDependencies": { - "@types/jest": "^27.5.1", - "@types/node": "^14", + "@types/jest": "^27", + "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^5", "@typescript-eslint/parser": "^5", - "aws-cdk-lib": "2.27.0", + "aws-cdk-lib": "2.87.0", "constructs": "10.0.5", "eslint": "^8", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^2.7.1", "eslint-plugin-import": "^2.26.0", "jest": "^27", - "jest-junit": "^13", - "jsii": "^1.70.0", + "jest-junit": "^15", + "jsii": "1.x", "jsii-diff": "^1.70.0", "jsii-docgen": "^7.0.144", "jsii-pacmak": "^1.70.0", - "json-schema": "^0.4.0", "mocha": "^10.0.0", - "projen": "^0.56.11", + "projen": "^0.71.118", "standard-version": "^9", "ts-jest": "^27", "ts-node": "^10.8.1", "typescript": "^4.6.4" }, "peerDependencies": { - "aws-cdk-lib": "^2.27.0", + "aws-cdk-lib": "^2.87.0", "constructs": "^10.0.5" }, "dependencies": { @@ -80,6 +78,10 @@ "python-shell", "synchronized-promise" ], + "resolutions": { + "@types/babel__traverse": "7.18.2", + "@types/prettier": "2.6.0" + }, "keywords": [ "cdk" ], @@ -90,7 +92,7 @@ "maxWorkers": 4, "testMatch": [ "/src/**/__tests__/**/*.ts?(x)", - "/(test|src)/**/?(*.)+(spec|test).ts?(x)" + "/(test|src)/**/*(*.)@(spec|test).ts?(x)" ], "clearMocks": true, "collectCoverage": true, @@ -153,8 +155,5 @@ "rootDir": "src" } }, - "resolutions": { - "@types/prettier": "2.6.0" - }, - "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." -} \ No newline at end of file + "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"." +} diff --git a/tsconfig.dev.json b/tsconfig.dev.json index 70b9cac..c7c8f33 100644 --- a/tsconfig.dev.json +++ b/tsconfig.dev.json @@ -1,3 +1,4 @@ +// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". { "compilerOptions": { "alwaysStrict": true, @@ -34,6 +35,5 @@ ], "exclude": [ "node_modules" - ], - "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." + ] } diff --git a/yarn.lock b/yarn.lock index 0963c77..8345da8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,21 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" +"@aws-cdk/asset-awscli-v1@^2.2.177": + version "2.2.200" + resolved "https://registry.yarnpkg.com/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.200.tgz#6ead533f73f705ad7350eb46955e2538e50cd013" + integrity sha512-Kf5J8DfJK4wZFWT2Myca0lhwke7LwHcHBo+4TvWOGJrFVVKVuuiLCkzPPRBQQVDj0Vtn2NBokZAz8pfMpAqAKg== + +"@aws-cdk/asset-kubectl-v20@^2.1.1": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@aws-cdk/asset-kubectl-v20/-/asset-kubectl-v20-2.1.2.tgz#d8e20b5f5dc20128ea2000dc479ca3c7ddc27248" + integrity sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg== + +"@aws-cdk/asset-node-proxy-agent-v5@^2.0.148": + version "2.0.165" + resolved "https://registry.yarnpkg.com/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.165.tgz#c169599d83beceea7e638082ef9833997f04c85d" + integrity sha512-bsyLQD/vqXQcc9RDmlM1XqiFNO/yewgVFXmkMcQkndJbmE/jgYkzewwYGrBlfL725hGLQipXq19+jwWwdsXQqg== + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" @@ -584,6 +599,14 @@ chalk "^4.1.2" semver "^7.3.8" +"@jsii/check-node@1.84.0": + version "1.84.0" + resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.84.0.tgz#cbed3a116b141e8dbef198dc161088bca603de0a" + integrity sha512-gLa+N1WKksCjTXaK8VMjTbEXf58QlrDOovoTOEzhGNgTFyAUX8woIRAUmk+X70ssDzBvgh3E98mIsDKoWOp6zA== + dependencies: + chalk "^4.1.2" + semver "^7.5.1" + "@jsii/spec@1.71.0", "@jsii/spec@^1.70.0", "@jsii/spec@^1.71.0": version "1.71.0" resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.71.0.tgz" @@ -591,6 +614,13 @@ dependencies: ajv "^8.11.0" +"@jsii/spec@^1.84.0": + version "1.84.0" + resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.84.0.tgz#75f86e819999a5ee7b1430b274bf88459085bfc2" + integrity sha512-P2PCE4jlmuTh5Oj7Be2jdn5qyzIWHX4rcyYspddc0DLZAuLB/LRQYytrxgfdy4+NroGhrPeKPBoF9MwJ5CzfXA== + dependencies: + ajv "^8.12.0" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -612,10 +642,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oozcitak/dom@1.15.8": - version "1.15.8" - resolved "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.8.tgz" - integrity sha512-MoOnLBNsF+ok0HjpAvxYxR4piUhRDCEWK0ot3upwOOHYudJd30j6M+LNcE8RKpwfnclAX9T66nXXzkytd29XSw== +"@oozcitak/dom@1.15.10": + version "1.15.10" + resolved "https://registry.yarnpkg.com/@oozcitak/dom/-/dom-1.15.10.tgz#dca7289f2b292cff2a901ea4fbbcc0a1ab0b05c2" + integrity sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ== dependencies: "@oozcitak/infra" "1.0.8" "@oozcitak/url" "1.0.4" @@ -706,10 +736,10 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.17.1" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz" - integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== +"@types/babel__traverse@*", "@types/babel__traverse@7.18.2", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" + integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== dependencies: "@babel/types" "^7.3.0" @@ -747,9 +777,9 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^27.5.1": +"@types/jest@^27": version "27.5.2" - resolved "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== dependencies: jest-matcher-utils "^27.0.0" @@ -775,11 +805,16 @@ resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/node@*", "@types/node@^14": +"@types/node@*": version "14.18.21" resolved "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz" integrity sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q== +"@types/node@^16": + version "16.18.38" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.38.tgz#1dcdb6c54d02b323f621213745f2e44af30c73e6" + integrity sha512-6sfo1qTulpVbkxECP+AVrHV9OoJqhzCsfTNp5NIG+enM4HyM3HvZCO798WShIXBN0+QtDIcutJCjsVYnQP5rIQ== + "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" @@ -965,6 +1000,16 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1, ajv@^8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^8.11.0: version "8.11.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" @@ -1052,6 +1097,11 @@ array-includes@^3.1.4: get-intrinsic "^1.1.1" is-string "^1.0.7" +array-timsort@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" + integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== + array-union@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" @@ -1072,34 +1122,38 @@ arrify@^1.0.1: resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -aws-cdk-lib@2.27.0: - version "2.27.0" - resolved "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.27.0.tgz" - integrity sha512-CsTy/+RIBMvP9LlZjkQakkKPpwU50+HAMCMaGOcyIHADDQdXobGcZXTO+Tq00sH2DoQjPV1ZhhBim5z3k/2KXw== +aws-cdk-lib@2.87.0: + version "2.87.0" + resolved "https://registry.yarnpkg.com/aws-cdk-lib/-/aws-cdk-lib-2.87.0.tgz#585a2569fa139ffecc3ff40ffc399eb7da030a4a" + integrity sha512-9kirXX7L7OP/yGmCbaYlkt5OAtowGiGw0AYFIQvSwvx/UU3aJO5XuDwAgDsvToDkRpBi0yX0bNwqa0DItu+C6A== dependencies: + "@aws-cdk/asset-awscli-v1" "^2.2.177" + "@aws-cdk/asset-kubectl-v20" "^2.1.1" + "@aws-cdk/asset-node-proxy-agent-v5" "^2.0.148" "@balena/dockerignore" "^1.0.2" case "1.6.3" - fs-extra "^9.1.0" - ignore "^5.2.0" - jsonschema "^1.4.0" + fs-extra "^11.1.1" + ignore "^5.2.4" + jsonschema "^1.4.1" minimatch "^3.1.2" - punycode "^2.1.1" - semver "^7.3.7" + punycode "^2.3.0" + semver "^7.5.1" + table "^6.8.1" yaml "1.10.2" aws-sdk@^2.1135.0: @@ -1369,6 +1423,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" @@ -1424,6 +1487,17 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +comment-json@4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.2.2.tgz#5fae70a94e0c8f84a077bd31df5aa5269252f293" + integrity sha512-H8T+kl3nZesZu41zO2oNXIJWojNeK3mHxCLrsBNu6feksBXsgb+PtYz5daP5P86A0F3sz3840KVYehr04enISQ== + dependencies: + array-timsort "^1.0.3" + core-util-is "^1.0.3" + esprima "^4.0.1" + has-own-prop "^2.0.0" + repeat-string "^1.6.1" + commonmark@^0.30.0: version "0.30.0" resolved "https://registry.npmjs.org/commonmark/-/commonmark-0.30.0.tgz" @@ -1632,7 +1706,7 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: dependencies: safe-buffer "~5.1.1" -core-util-is@~1.0.0: +core-util-is@^1.0.3, core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== @@ -2190,6 +2264,11 @@ fast-glob@^3.2.12, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" +fast-json-patch@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-3.1.1.tgz#85064ea1b1ebf97a3f7ad01e23f9337e72c66947" + integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== + fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" @@ -2313,6 +2392,15 @@ fs-extra@^10.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" @@ -2322,16 +2410,6 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" @@ -2490,7 +2568,7 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7, glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0, glob@^7.2.3: +glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0, glob@^7.2.3: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -2502,6 +2580,17 @@ glob@^7, glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^ once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" @@ -2570,6 +2659,11 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-own-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" + integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== + has-property-descriptors@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" @@ -2669,6 +2763,11 @@ ignore@^5.2.0: resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + immutable@^4.0.0: version "4.1.0" resolved "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz" @@ -3166,10 +3265,10 @@ jest-jasmine2@^27.5.1: pretty-format "^27.5.1" throat "^6.0.1" -jest-junit@^13: - version "13.2.0" - resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-13.2.0.tgz" - integrity sha512-B0XNlotl1rdsvFZkFfoa19mc634+rrd8E4Sskb92Bb8MmSXeWV9XJGUyctunZS1W410uAxcyYuPUGVnbcOH8cg== +jest-junit@^15: + version "15.0.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-15.0.0.tgz#a47544ab42e9f8fe7ada56306c218e09e52bd690" + integrity sha512-Z5sVX0Ag3HZdMUnD5DFlG+1gciIFSy7yIVPhOdGUi8YJaI9iLvvBb530gtQL2CHmv0JJeiwRZenr0VrSR7frvg== dependencies: mkdirp "^1.0.4" strip-ansi "^6.0.1" @@ -3408,10 +3507,10 @@ js-tokens@^4.0.0: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.14.0: - version "3.14.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== +js-yaml@3.14.1, js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -3423,14 +3522,6 @@ js-yaml@4.1.0, js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - jsdom@^16.6.0: version "16.7.0" resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" @@ -3544,7 +3635,7 @@ jsii-rosetta@^1.70.0, jsii-rosetta@^1.71.0: workerpool "^6.3.0" yargs "^16.2.0" -jsii@1.71.0, jsii@^1.70.0: +jsii@1.71.0: version "1.71.0" resolved "https://registry.npmjs.org/jsii/-/jsii-1.71.0.tgz" integrity sha512-Dn6TvKgMNEsMU/WKliSbVs93Cno238LZZeJTNXk9L6vOR3d7jjEsWh7PJ7NhdyZeft2M3RFJQDKhg8eKeKM/4g== @@ -3563,6 +3654,25 @@ jsii@1.71.0, jsii@^1.70.0: typescript "~3.9.10" yargs "^16.2.0" +jsii@1.x: + version "1.84.0" + resolved "https://registry.yarnpkg.com/jsii/-/jsii-1.84.0.tgz#57e631c85ac2d4ffcc2f59a9c68591fcfaf5667e" + integrity sha512-vtrw3fRrr5Do4LDNxAVXHgtHDyxHvohyzAfBwxcMEYzZ51gJX52wsdlaGE1p0dPe1V9uCAbNQTDKbAMgVJkg0Q== + dependencies: + "@jsii/check-node" "1.84.0" + "@jsii/spec" "^1.84.0" + case "^1.6.3" + chalk "^4" + fast-deep-equal "^3.1.3" + fs-extra "^10.1.0" + log4js "^6.9.1" + semver "^7.5.1" + semver-intersect "^1.4.0" + sort-json "^2.0.1" + spdx-license-list "^6.6.0" + typescript "~3.9.10" + yargs "^16.2.0" + json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" @@ -3583,11 +3693,6 @@ json-schema-traverse@^1.0.0: resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" @@ -3640,7 +3745,7 @@ jsonpath@^1.1.1: static-eval "2.0.2" underscore "1.12.1" -jsonschema@^1.4.0: +jsonschema@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== @@ -3736,6 +3841,11 @@ lodash.merge@^4.6.2: resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + lodash@^4.17.15, lodash@^4.7.0: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" @@ -3760,6 +3870,17 @@ log4js@^6.7.0: rfdc "^1.3.0" streamroller "^3.1.3" +log4js@^6.9.1: + version "6.9.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.9.1.tgz#aba5a3ff4e7872ae34f8b4c533706753709e38b6" + integrity sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + flatted "^3.2.7" + rfdc "^1.3.0" + streamroller "^3.1.5" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" @@ -3872,6 +3993,13 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" @@ -4260,23 +4388,24 @@ process-nextick-args@~2.0.0: resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -projen@^0.56.11: - version "0.56.41" - resolved "https://registry.npmjs.org/projen/-/projen-0.56.41.tgz" - integrity sha512-1I4hfiWIIh8fQyv7YGpFO36KC43e3U0t1bWUEmcUaMtZtqv6W96J7M6K15usLVlxyBjGPfMZRT56HWhwQbUq2A== +projen@^0.71.118: + version "0.71.118" + resolved "https://registry.yarnpkg.com/projen/-/projen-0.71.118.tgz#00fd1960259e792473fd4980e7244bce4e297a1c" + integrity sha512-j7FFgNpuo8KB4PUzx48GzQzdWH3XUYNjra6cDmOIEHHP1W4A8hF0Dg6UqWSE8gSM4JZyh9/ZtvdVU5XtthpxMA== dependencies: "@iarna/toml" "^2.2.5" case "^1.6.3" chalk "^4.1.2" + comment-json "4.2.2" conventional-changelog-config-spec "^2.1.0" - fs-extra "^9.1.0" - glob "^7" + fast-json-patch "^3.1.1" + glob "^8" ini "^2.0.0" - semver "^7.3.7" + semver "^7.5.3" shx "^0.3.4" - xmlbuilder2 "^2.4.1" - yaml "2.0.0" - yargs "^16.2.0" + xmlbuilder2 "^3.1.1" + yaml "^2.2.2" + yargs "^17.7.2" prompts@^2.0.1: version "2.4.2" @@ -4301,6 +4430,11 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +punycode@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + python-shell@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/python-shell/-/python-shell-3.0.1.tgz" @@ -4316,6 +4450,11 @@ querystring@0.2.0: resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" @@ -4432,6 +4571,11 @@ regexpp@^3.2.0: resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" @@ -4442,6 +4586,11 @@ require-from-string@^2.0.2: resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" @@ -4553,6 +4702,13 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.5.1, semver@^7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" + integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== + dependencies: + lru-cache "^6.0.0" + serialize-javascript@6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" @@ -4613,6 +4769,15 @@ slash@^3.0.0: resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + sort-json@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/sort-json/-/sort-json-2.0.1.tgz" @@ -4733,6 +4898,15 @@ streamroller@^3.1.3: debug "^4.3.4" fs-extra "^8.1.0" +streamroller@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff" + integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + fs-extra "^8.1.0" + string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" @@ -4741,7 +4915,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-width@^4.1.0, string-width@^4.2.0: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -4872,6 +5046,17 @@ synchronized-promise@^0.3.1: dependencies: deasync "^0.1.15" +table@^6.8.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + terminal-link@^2.0.0: version "2.1.1" resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" @@ -4942,13 +5127,14 @@ to-regex-range@^5.0.1: is-number "^7.0.0" tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== dependencies: psl "^1.1.33" punycode "^2.1.1" - universalify "^0.1.2" + universalify "^0.2.0" + url-parse "^1.5.3" tr46@^2.1.0: version "2.1.0" @@ -5103,11 +5289,16 @@ underscore@1.12.1: resolved "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz" integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== -universalify@^0.1.0, universalify@^0.1.2: +universalify@^0.1.0: version "0.1.2" resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" @@ -5128,6 +5319,14 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + url@0.10.3: version "0.10.3" resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" @@ -5338,16 +5537,15 @@ xml@^1.0.1: resolved "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz" integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== -xmlbuilder2@^2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-2.4.1.tgz" - integrity sha512-vliUplZsk5vJnhxXN/mRcij/AE24NObTUm/Zo4vkLusgayO6s3Et5zLEA14XZnY1c3hX5o1ToR0m0BJOPy0UvQ== +xmlbuilder2@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz#b977ef8a6fb27a1ea7ffa7d850d2c007ff343bc0" + integrity sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw== dependencies: - "@oozcitak/dom" "1.15.8" + "@oozcitak/dom" "1.15.10" "@oozcitak/infra" "1.0.8" "@oozcitak/util" "8.3.8" - "@types/node" "*" - js-yaml "3.14.0" + js-yaml "3.14.1" xmlbuilder@^15.1.1: version "15.1.1" @@ -5384,16 +5582,21 @@ yaml@1.10.2: resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.0.0.tgz" - integrity sha512-JbfdlHKGP2Ik9IHylzWlGd4pPK++EU46/IxMykphS2ZKw7a7h+dHNmcXObLgpRDriBY+rpWslldikckX8oruWQ== +yaml@^2.2.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== yargs-parser@20.2.4, yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.4" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + yargs-unparser@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" @@ -5417,6 +5620,19 @@ yargs@16.2.0, yargs@^16.0.0, yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.7.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yn@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"