From 914ad1734e4d379a5036eb05a041e40acb02b049 Mon Sep 17 00:00:00 2001
From: Nara Kasbergen Kwon <855115+xiehan@users.noreply.github.com>
Date: Wed, 28 Aug 2024 15:08:18 +0200
Subject: [PATCH] chore(deps)!: increase minimum required version of Projen to
0.85 (#169)
---
.eslintrc.json | 2 +-
.github/workflows/build.yml | 3 +
.github/workflows/pull-request-lint.yml | 1 -
.github/workflows/release.yml | 9 +-
.github/workflows/upgrade-main.yml | 2 +
.npmignore | 1 +
.projen/deps.json | 8 +-
.projen/tasks.json | 11 +-
.projenrc.ts | 4 +-
API.md | 98 +++++++++-
README.md | 1 +
examples/hybrid-module/.eslintrc.json | 2 +-
.../hybrid-module/.github/workflows/build.yml | 17 +-
.../.github/workflows/pull-request-lint.yml | 3 +-
.../.github/workflows/release.yml | 21 +-
.../.github/workflows/upgrade-main.yml | 12 +-
examples/hybrid-module/.npmignore | 1 +
examples/hybrid-module/.projen/deps.json | 4 +-
examples/hybrid-module/.projen/tasks.json | 11 +-
examples/hybrid-module/package.json | 14 +-
examples/hybrid-module/yarn.lock | 153 +++++++--------
examples/terraform-module/.eslintrc.json | 2 +-
.../.github/workflows/build.yml | 17 +-
.../.github/workflows/pull-request-lint.yml | 3 +-
.../.github/workflows/release.yml | 21 +-
.../.github/workflows/upgrade-main.yml | 12 +-
examples/terraform-module/.npmignore | 1 +
examples/terraform-module/.projen/deps.json | 4 +-
examples/terraform-module/.projen/tasks.json | 11 +-
examples/terraform-module/package.json | 14 +-
examples/terraform-module/yarn.lock | 153 +++++++--------
package.json | 18 +-
test/__snapshots__/hybrid-module.test.ts.snap | 74 ++++---
.../terraform-module.test.ts.snap | 180 +++++++++++-------
yarn.lock | 161 +++++++---------
35 files changed, 598 insertions(+), 451 deletions(-)
diff --git a/.eslintrc.json b/.eslintrc.json
index b017cf4..afcba93 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -76,7 +76,7 @@
}
}
],
- "no-duplicate-imports": [
+ "import/no-duplicates": [
"error"
],
"no-shadow": [
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 58d5fd2..e22a041 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -32,12 +32,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "self_mutation_happened=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.self_mutation.outputs.self_mutation_happened
uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
- name: Fail build on mutation
if: steps.self_mutation.outputs.self_mutation_happened
run: |-
@@ -52,6 +54,7 @@ jobs:
with:
name: build-artifact
path: dist
+ overwrite: true
self-mutation:
needs: build
runs-on: ubuntu-latest
diff --git a/.github/workflows/pull-request-lint.yml b/.github/workflows/pull-request-lint.yml
index f7e6d3f..af9b7a7 100644
--- a/.github/workflows/pull-request-lint.yml
+++ b/.github/workflows/pull-request-lint.yml
@@ -26,4 +26,3 @@ jobs:
fix
chore
requireScope: false
- githubBaseUrl: ${{ github.api_url }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index b06ca96..c882c48 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -56,9 +56,12 @@ jobs:
with:
name: build-artifact
path: dist
+ overwrite: true
release_github:
name: Publish to GitHub Releases
- needs: release
+ needs:
+ - release
+ - release_npm
runs-on: ubuntu-latest
permissions:
contents: write
@@ -83,13 +86,14 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
- GITHUB_REF: ${{ github.ref }}
+ GITHUB_REF: ${{ github.sha }}
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
runs-on: ubuntu-latest
permissions:
+ id-token: write
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
@@ -116,5 +120,6 @@ jobs:
env:
NPM_DIST_TAG: latest
NPM_REGISTRY: registry.npmjs.org
+ NPM_CONFIG_PROVENANCE: "true"
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx -p publib@latest publib-npm
diff --git a/.github/workflows/upgrade-main.yml b/.github/workflows/upgrade-main.yml
index 1c08e65..ddae574 100644
--- a/.github/workflows/upgrade-main.yml
+++ b/.github/workflows/upgrade-main.yml
@@ -27,12 +27,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "patch_created=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.create_patch.outputs.patch_created
uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
pr:
name: Create Pull Request
needs: upgrade
diff --git a/.npmignore b/.npmignore
index 80be219..68d93fe 100644
--- a/.npmignore
+++ b/.npmignore
@@ -29,3 +29,4 @@ projenrc
.copywrite.hcl
/.gitattributes
/.projenrc.ts
+/projenrc
diff --git a/.projen/deps.json b/.projen/deps.json
index 1651c12..7abefc1 100644
--- a/.projen/deps.json
+++ b/.projen/deps.json
@@ -23,12 +23,12 @@
},
{
"name": "@typescript-eslint/eslint-plugin",
- "version": "^6",
+ "version": "^7",
"type": "build"
},
{
"name": "@typescript-eslint/parser",
- "version": "^6",
+ "version": "^7",
"type": "build"
},
{
@@ -106,7 +106,7 @@
},
{
"name": "projen",
- "version": "^0.79.3",
+ "version": "^0.85.0",
"type": "build"
},
{
@@ -139,7 +139,7 @@
},
{
"name": "projen",
- "version": ">= 0.79.3",
+ "version": ">= 0.85.0",
"type": "peer"
}
],
diff --git a/.projen/tasks.json b/.projen/tasks.json
index bc30b26..4a0d277 100644
--- a/.projen/tasks.json
+++ b/.projen/tasks.json
@@ -180,7 +180,12 @@
"description": "Creates the distribution package",
"steps": [
{
- "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"
+ "exec": "rsync -a . .repo --exclude .git --exclude node_modules && rm -rf dist && mv .repo dist",
+ "condition": "node -e \"if (!process.env.CI) process.exit(1)\""
+ },
+ {
+ "spawn": "package-all",
+ "condition": "node -e \"if (process.env.CI) process.exit(1)\""
}
]
},
@@ -303,13 +308,13 @@
},
"steps": [
{
- "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/change-case,@types/fs-extra,@types/glob,@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,comment-json,constructs,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,eslint,fs-extra,glob,jest,jest-junit,jsii-diff,jsii-docgen,jsii-pacmak,prettier,projen,standard-version,ts-jest,change-case"
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/change-case,@types/fs-extra,@types/glob,@types/jest,comment-json,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,fs-extra,glob,jest,jsii-diff,jsii-docgen,jsii-pacmak,prettier,ts-jest,change-case"
},
{
"exec": "yarn install --check-files"
},
{
- "exec": "yarn upgrade @types/change-case @types/fs-extra @types/glob @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser comment-json constructs eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint fs-extra glob jest jest-junit jsii-diff jsii-docgen jsii-pacmak prettier projen standard-version ts-jest change-case"
+ "exec": "yarn upgrade @types/change-case @types/fs-extra @types/glob @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser comment-json constructs eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint fs-extra glob jest jest-junit jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii prettier projen standard-version ts-jest ts-node typescript change-case"
},
{
"exec": "npx projen"
diff --git a/.projenrc.ts b/.projenrc.ts
index 563fedb..e9d31cd 100644
--- a/.projenrc.ts
+++ b/.projenrc.ts
@@ -60,12 +60,12 @@ project.tsconfig?.exclude?.push("src/exampleCode/**");
project.tsconfig?.exclude?.push("example/**");
project.tsconfig?.exclude?.push("examples/**");
-project.addPeerDeps("projen@>= 0.79.3", "constructs@^10.3.0");
+project.addPeerDeps("projen@>= 0.85.0", "constructs@^10.3.0");
project.addBundledDeps("change-case");
project.addDevDeps(
"fs-extra",
"glob",
- "projen@^0.79.3",
+ "projen@^0.85.0",
"@types/fs-extra",
"@types/glob",
"@types/change-case",
diff --git a/API.md b/API.md
index 12ccf48..c850b7f 100644
--- a/API.md
+++ b/API.md
@@ -3114,6 +3114,7 @@ const hybridModuleOptions: HybridModuleOptions = { ... }
| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
+| npmProvenance
| boolean
| Should provenance statements be generated when the package is published. |
| npmRegistry
| string
| The host name of the npm registry to publish to. |
| npmRegistryUrl
| string
| The base URL of the npm package registry. |
| npmTokenSecret
| string
| GitHub secret which contains the NPM token to use when publishing packages. |
@@ -3154,10 +3155,11 @@ const hybridModuleOptions: HybridModuleOptions = { ... }
| artifactsDirectory
| string
| A directory which will contain build artifacts. |
| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
+| buildWorkflowOptions
| projen.javascript.BuildWorkflowOptions
| Options for PR build workflow. |
| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
| checkLicenses
| projen.javascript.LicenseCheckerOptions
| Configure which licenses should be deemed acceptable for use by dependencies. |
-| codeCov
| boolean
| Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with `@codeCovTokenSecret`. |
+| codeCov
| boolean
| Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`. |
| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
| copyrightOwner
| string
| License copyright owner. |
| copyrightPeriod
| string
| The copyright years to put in the LICENSE file. |
@@ -3981,6 +3983,27 @@ Access level of the npm package.
---
+##### `npmProvenance`Optional
+
+```typescript
+public readonly npmProvenance: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true for public packages, false otherwise
+
+Should provenance statements be generated when the package is published.
+
+A supported package manager is required to publish a package with npm provenance statements and
+you will need to use a supported CI/CD provider.
+
+Note that the projen `Release` and `Publisher` components are using `publib` to publish packages,
+which is using npm internally and supports provenance statements independently of the package manager used.
+
+> [https://docs.npmjs.com/generating-provenance-statements](https://docs.npmjs.com/generating-provenance-statements)
+
+---
+
##### ~~`npmRegistry`~~Optional
- *Deprecated:* use `npmRegistryUrl` instead
@@ -4558,7 +4581,21 @@ Define a GitHub workflow for building PRs.
---
-##### `buildWorkflowTriggers`Optional
+##### `buildWorkflowOptions`Optional
+
+```typescript
+public readonly buildWorkflowOptions: BuildWorkflowOptions;
+```
+
+- *Type:* projen.javascript.BuildWorkflowOptions
+
+Options for PR build workflow.
+
+---
+
+##### ~~`buildWorkflowTriggers`~~Optional
+
+- *Deprecated:* - Use `buildWorkflowOptions.workflowTriggers`
```typescript
public readonly buildWorkflowTriggers: Triggers;
@@ -4607,7 +4644,7 @@ public readonly codeCov: boolean;
- *Type:* boolean
- *Default:* false
-Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with `@codeCovTokenSecret`.
+Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`.
---
@@ -4744,7 +4781,9 @@ Jest options.
---
-##### `mutableBuild`Optional
+##### ~~`mutableBuild`~~Optional
+
+- *Deprecated:* - Use `buildWorkflowOptions.mutableBuild`
```typescript
public readonly mutableBuild: boolean;
@@ -4848,7 +4887,7 @@ public readonly projenDevDependency: boolean;
```
- *Type:* boolean
-- *Default:* true
+- *Default:* true if not a subproject
Indicates of "projen" should be installed as a devDependency.
@@ -5697,6 +5736,7 @@ const terraformModuleOptions: TerraformModuleOptions = { ... }
| maxNodeVersion
| string
| Minimum node.js version to require via `engines` (inclusive). |
| minNodeVersion
| string
| Minimum Node.js version to require via package.json `engines` (inclusive). |
| npmAccess
| projen.javascript.NpmAccess
| Access level of the npm package. |
+| npmProvenance
| boolean
| Should provenance statements be generated when the package is published. |
| npmRegistry
| string
| The host name of the npm registry to publish to. |
| npmRegistryUrl
| string
| The base URL of the npm package registry. |
| npmTokenSecret
| string
| GitHub secret which contains the NPM token to use when publishing packages. |
@@ -5737,10 +5777,11 @@ const terraformModuleOptions: TerraformModuleOptions = { ... }
| artifactsDirectory
| string
| A directory which will contain build artifacts. |
| autoApproveUpgrades
| boolean
| Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). |
| buildWorkflow
| boolean
| Define a GitHub workflow for building PRs. |
+| buildWorkflowOptions
| projen.javascript.BuildWorkflowOptions
| Options for PR build workflow. |
| buildWorkflowTriggers
| projen.github.workflows.Triggers
| Build workflow triggers. |
| bundlerOptions
| projen.javascript.BundlerOptions
| Options for `Bundler`. |
| checkLicenses
| projen.javascript.LicenseCheckerOptions
| Configure which licenses should be deemed acceptable for use by dependencies. |
-| codeCov
| boolean
| Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with `@codeCovTokenSecret`. |
+| codeCov
| boolean
| Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`. |
| codeCovTokenSecret
| string
| Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. |
| copyrightOwner
| string
| License copyright owner. |
| copyrightPeriod
| string
| The copyright years to put in the LICENSE file. |
@@ -6563,6 +6604,27 @@ Access level of the npm package.
---
+##### `npmProvenance`Optional
+
+```typescript
+public readonly npmProvenance: boolean;
+```
+
+- *Type:* boolean
+- *Default:* true for public packages, false otherwise
+
+Should provenance statements be generated when the package is published.
+
+A supported package manager is required to publish a package with npm provenance statements and
+you will need to use a supported CI/CD provider.
+
+Note that the projen `Release` and `Publisher` components are using `publib` to publish packages,
+which is using npm internally and supports provenance statements independently of the package manager used.
+
+> [https://docs.npmjs.com/generating-provenance-statements](https://docs.npmjs.com/generating-provenance-statements)
+
+---
+
##### ~~`npmRegistry`~~Optional
- *Deprecated:* use `npmRegistryUrl` instead
@@ -7140,7 +7202,21 @@ Define a GitHub workflow for building PRs.
---
-##### `buildWorkflowTriggers`Optional
+##### `buildWorkflowOptions`Optional
+
+```typescript
+public readonly buildWorkflowOptions: BuildWorkflowOptions;
+```
+
+- *Type:* projen.javascript.BuildWorkflowOptions
+
+Options for PR build workflow.
+
+---
+
+##### ~~`buildWorkflowTriggers`~~Optional
+
+- *Deprecated:* - Use `buildWorkflowOptions.workflowTriggers`
```typescript
public readonly buildWorkflowTriggers: Triggers;
@@ -7189,7 +7265,7 @@ public readonly codeCov: boolean;
- *Type:* boolean
- *Default:* false
-Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with `@codeCovTokenSecret`.
+Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`.
---
@@ -7326,7 +7402,9 @@ Jest options.
---
-##### `mutableBuild`Optional
+##### ~~`mutableBuild`~~Optional
+
+- *Deprecated:* - Use `buildWorkflowOptions.mutableBuild`
```typescript
public readonly mutableBuild: boolean;
@@ -7430,7 +7508,7 @@ public readonly projenDevDependency: boolean;
```
- *Type:* boolean
-- *Default:* true
+- *Default:* true if not a subproject
Indicates of "projen" should be installed as a devDependency.
diff --git a/README.md b/README.md
index f620f13..d40265e 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@ By using the software in this repository, you acknowledge that:
- `cdktf` >= 0.20.0
- `constructs` >= 10.3.0
+- `projen` >= 0.85.0
## Usage
diff --git a/examples/hybrid-module/.eslintrc.json b/examples/hybrid-module/.eslintrc.json
index b017cf4..afcba93 100644
--- a/examples/hybrid-module/.eslintrc.json
+++ b/examples/hybrid-module/.eslintrc.json
@@ -76,7 +76,7 @@
}
}
],
- "no-duplicate-imports": [
+ "import/no-duplicates": [
"error"
],
"no-shadow": [
diff --git a/examples/hybrid-module/.github/workflows/build.yml b/examples/hybrid-module/.github/workflows/build.yml
index 8d77af6..5710e11 100644
--- a/examples/hybrid-module/.github/workflows/build.yml
+++ b/examples/hybrid-module/.github/workflows/build.yml
@@ -15,7 +15,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
@@ -28,12 +28,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "self_mutation_happened=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.self_mutation.outputs.self_mutation_happened
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
- name: Fail build on mutation
if: steps.self_mutation.outputs.self_mutation_happened
run: |-
@@ -44,10 +46,11 @@ jobs:
run: cd dist && getfacl -R . > permissions-backup.acl
continue-on-error: true
- name: Upload artifact
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
self-mutation:
needs: build
runs-on: ubuntu-latest
@@ -56,13 +59,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@v3
+ uses: actions/checkout@v4
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@v3
+ uses: actions/download-artifact@v4
with:
name: .repo.patch
path: ${{ runner.temp }}
@@ -85,11 +88,11 @@ jobs:
permissions: {}
if: "! needs.build.outputs.self_mutation_happened"
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
diff --git a/examples/hybrid-module/.github/workflows/pull-request-lint.yml b/examples/hybrid-module/.github/workflows/pull-request-lint.yml
index 3c16c6d..2c1c658 100644
--- a/examples/hybrid-module/.github/workflows/pull-request-lint.yml
+++ b/examples/hybrid-module/.github/workflows/pull-request-lint.yml
@@ -17,7 +17,7 @@ jobs:
permissions:
pull-requests: write
steps:
- - uses: amannn/action-semantic-pull-request@v5.0.2
+ - uses: amannn/action-semantic-pull-request@v5.4.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
@@ -26,4 +26,3 @@ jobs:
fix
chore
requireScope: false
- githubBaseUrl: ${{ github.api_url }}
diff --git a/examples/hybrid-module/.github/workflows/release.yml b/examples/hybrid-module/.github/workflows/release.yml
index dd6e7e9..ba44b89 100644
--- a/examples/hybrid-module/.github/workflows/release.yml
+++ b/examples/hybrid-module/.github/workflows/release.yml
@@ -18,7 +18,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set git identity
@@ -46,23 +46,26 @@ jobs:
continue-on-error: true
- name: Upload artifact
if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
release_github:
name: Publish to GitHub Releases
- needs: release
+ needs:
+ - release
+ - release_npm
runs-on: ubuntu-latest
permissions:
contents: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -77,21 +80,22 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
- GITHUB_REF: ${{ github.ref }}
+ GITHUB_REF: ${{ github.sha }}
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
runs-on: ubuntu-latest
permissions:
+ id-token: write
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -110,5 +114,6 @@ jobs:
env:
NPM_DIST_TAG: latest
NPM_REGISTRY: registry.npmjs.org
+ NPM_CONFIG_PROVENANCE: "true"
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx -p publib@latest publib-npm
diff --git a/examples/hybrid-module/.github/workflows/upgrade-main.yml b/examples/hybrid-module/.github/workflows/upgrade-main.yml
index 0e65db0..9fa1f28 100644
--- a/examples/hybrid-module/.github/workflows/upgrade-main.yml
+++ b/examples/hybrid-module/.github/workflows/upgrade-main.yml
@@ -15,7 +15,7 @@ jobs:
patch_created: ${{ steps.create_patch.outputs.patch_created }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: main
- name: Install dependencies
@@ -27,12 +27,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "patch_created=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.create_patch.outputs.patch_created
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
pr:
name: Create Pull Request
needs: upgrade
@@ -42,11 +44,11 @@ jobs:
if: ${{ needs.upgrade.outputs.patch_created }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: main
- name: Download patch
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: .repo.patch
path: ${{ runner.temp }}
@@ -58,7 +60,7 @@ jobs:
git config user.email "github-actions@github.com"
- name: Create Pull Request
id: create-pr
- uses: peter-evans/create-pull-request@v4
+ uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
commit-message: |-
diff --git a/examples/hybrid-module/.npmignore b/examples/hybrid-module/.npmignore
index af762e6..33a9351 100644
--- a/examples/hybrid-module/.npmignore
+++ b/examples/hybrid-module/.npmignore
@@ -25,3 +25,4 @@ tsconfig.tsbuildinfo
!.jsii
/.gitattributes
/.projenrc.ts
+/projenrc
diff --git a/examples/hybrid-module/.projen/deps.json b/examples/hybrid-module/.projen/deps.json
index 86a2867..fb87905 100644
--- a/examples/hybrid-module/.projen/deps.json
+++ b/examples/hybrid-module/.projen/deps.json
@@ -11,12 +11,12 @@
},
{
"name": "@typescript-eslint/eslint-plugin",
- "version": "^6",
+ "version": "^7",
"type": "build"
},
{
"name": "@typescript-eslint/parser",
- "version": "^6",
+ "version": "^7",
"type": "build"
},
{
diff --git a/examples/hybrid-module/.projen/tasks.json b/examples/hybrid-module/.projen/tasks.json
index 43491f9..0d5c71d 100644
--- a/examples/hybrid-module/.projen/tasks.json
+++ b/examples/hybrid-module/.projen/tasks.json
@@ -167,7 +167,12 @@
"description": "Creates the distribution package",
"steps": [
{
- "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"
+ "exec": "rsync -a . .repo --exclude .git --exclude node_modules && rm -rf dist && mv .repo dist",
+ "condition": "node -e \"if (!process.env.CI) process.exit(1)\""
+ },
+ {
+ "spawn": "package-all",
+ "condition": "node -e \"if (process.env.CI) process.exit(1)\""
}
]
},
@@ -283,13 +288,13 @@
},
"steps": [
{
- "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,eslint,jest,jest-junit,jsii-diff,jsii-docgen,jsii-pacmak,prettier,projen,standard-version,ts-jest"
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/jest,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,jest,jsii-diff,jsii-pacmak,prettier,projen,ts-jest"
},
{
"exec": "yarn install --check-files"
},
{
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint jest jest-junit jsii-diff jsii-docgen jsii-pacmak prettier projen standard-version ts-jest"
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser cdktf-cli cdktf constructs eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint jest jest-junit jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii prettier projen standard-version ts-jest ts-node typescript @cdktf/tf-module-stack"
},
{
"exec": "npx projen"
diff --git a/examples/hybrid-module/package.json b/examples/hybrid-module/package.json
index 1c2b4c2..3ac0069 100644
--- a/examples/hybrid-module/package.json
+++ b/examples/hybrid-module/package.json
@@ -37,8 +37,8 @@
"devDependencies": {
"@types/jest": "^29",
"@types/node": "^18",
- "@typescript-eslint/eslint-plugin": "^6",
- "@typescript-eslint/parser": "^6",
+ "@typescript-eslint/eslint-plugin": "^7",
+ "@typescript-eslint/parser": "^7",
"cdktf": "0.20.0",
"cdktf-cli": "~0.20.0",
"constructs": "10.0.107",
@@ -76,11 +76,17 @@
],
"main": "lib/index.js",
"license": "Apache-2.0",
+ "publishConfig": {
+ "access": "public"
+ },
"version": "0.0.0",
"jest": {
+ "coverageProvider": "v8",
"testMatch": [
- "/src/**/__tests__/**/*.ts?(x)",
- "/(test|src)/**/*(*.)@(spec|test).ts?(x)"
+ "/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(src|test)/**/__tests__/**/*.ts?(x)",
+ "/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(projenrc)/**/__tests__/**/*.ts?(x)"
],
"clearMocks": true,
"collectCoverage": true,
diff --git a/examples/hybrid-module/yarn.lock b/examples/hybrid-module/yarn.lock
index 4bb6de6..259b420 100644
--- a/examples/hybrid-module/yarn.lock
+++ b/examples/hybrid-module/yarn.lock
@@ -519,7 +519,7 @@
dependencies:
eslint-visitor-keys "^3.3.0"
-"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
+"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1":
version "4.11.0"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae"
integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==
@@ -1314,11 +1314,6 @@
expect "^29.0.0"
pretty-format "^29.0.0"
-"@types/json-schema@^7.0.12":
- version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
- integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
-
"@types/json5@^0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
@@ -1381,11 +1376,6 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901"
integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==
-"@types/semver@^7.5.0":
- version "7.5.8"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e"
- integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==
-
"@types/stack-utils@^2.0.0":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8"
@@ -1420,91 +1410,86 @@
resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a"
integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==
-"@typescript-eslint/eslint-plugin@^6":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3"
- integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==
+"@typescript-eslint/eslint-plugin@^7":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3"
+ integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==
dependencies:
- "@eslint-community/regexpp" "^4.5.1"
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/type-utils" "6.21.0"
- "@typescript-eslint/utils" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
- debug "^4.3.4"
+ "@eslint-community/regexpp" "^4.10.0"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/type-utils" "7.18.0"
+ "@typescript-eslint/utils" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
graphemer "^1.4.0"
- ignore "^5.2.4"
+ ignore "^5.3.1"
natural-compare "^1.4.0"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/parser@^6":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b"
- integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==
+"@typescript-eslint/parser@^7":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0"
+ integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==
dependencies:
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/typescript-estree" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1"
- integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==
+"@typescript-eslint/scope-manager@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83"
+ integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
-"@typescript-eslint/type-utils@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e"
- integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==
+"@typescript-eslint/type-utils@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b"
+ integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==
dependencies:
- "@typescript-eslint/typescript-estree" "6.21.0"
- "@typescript-eslint/utils" "6.21.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
+ "@typescript-eslint/utils" "7.18.0"
debug "^4.3.4"
- ts-api-utils "^1.0.1"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/types@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d"
- integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==
+"@typescript-eslint/types@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9"
+ integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==
-"@typescript-eslint/typescript-estree@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46"
- integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==
+"@typescript-eslint/typescript-estree@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931"
+ integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
- minimatch "9.0.3"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
+ minimatch "^9.0.4"
+ semver "^7.6.0"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/utils@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134"
- integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==
+"@typescript-eslint/utils@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f"
+ integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
- "@types/json-schema" "^7.0.12"
- "@types/semver" "^7.5.0"
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/typescript-estree" "6.21.0"
- semver "^7.5.4"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
-"@typescript-eslint/visitor-keys@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47"
- integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==
+"@typescript-eslint/visitor-keys@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7"
+ integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- eslint-visitor-keys "^3.4.1"
+ "@typescript-eslint/types" "7.18.0"
+ eslint-visitor-keys "^3.4.3"
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
@@ -3768,7 +3753,7 @@ ieee754@^1.1.13:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-ignore@^5.2.0, ignore@^5.2.4:
+ignore@^5.2.0, ignore@^5.3.1:
version "5.3.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
@@ -5227,13 +5212,6 @@ minimatch@5.1.6, minimatch@^5.0.1, minimatch@^5.1.0:
dependencies:
brace-expansion "^2.0.1"
-minimatch@9.0.3:
- version "9.0.3"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
- integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
- dependencies:
- brace-expansion "^2.0.1"
-
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -5248,6 +5226,13 @@ minimatch@^9.0.1:
dependencies:
brace-expansion "^2.0.1"
+minimatch@^9.0.4:
+ version "9.0.5"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
+ integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimist-options@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
@@ -6144,7 +6129,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.1.1, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3:
+semver@^7.1.1, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
@@ -6674,7 +6659,7 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
-ts-api-utils@^1.0.1:
+ts-api-utils@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1"
integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==
diff --git a/examples/terraform-module/.eslintrc.json b/examples/terraform-module/.eslintrc.json
index b017cf4..afcba93 100644
--- a/examples/terraform-module/.eslintrc.json
+++ b/examples/terraform-module/.eslintrc.json
@@ -76,7 +76,7 @@
}
}
],
- "no-duplicate-imports": [
+ "import/no-duplicates": [
"error"
],
"no-shadow": [
diff --git a/examples/terraform-module/.github/workflows/build.yml b/examples/terraform-module/.github/workflows/build.yml
index 8d77af6..5710e11 100644
--- a/examples/terraform-module/.github/workflows/build.yml
+++ b/examples/terraform-module/.github/workflows/build.yml
@@ -15,7 +15,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
@@ -28,12 +28,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "self_mutation_happened=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.self_mutation.outputs.self_mutation_happened
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
- name: Fail build on mutation
if: steps.self_mutation.outputs.self_mutation_happened
run: |-
@@ -44,10 +46,11 @@ jobs:
run: cd dist && getfacl -R . > permissions-backup.acl
continue-on-error: true
- name: Upload artifact
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
self-mutation:
needs: build
runs-on: ubuntu-latest
@@ -56,13 +59,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@v3
+ uses: actions/checkout@v4
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@v3
+ uses: actions/download-artifact@v4
with:
name: .repo.patch
path: ${{ runner.temp }}
@@ -85,11 +88,11 @@ jobs:
permissions: {}
if: "! needs.build.outputs.self_mutation_happened"
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
diff --git a/examples/terraform-module/.github/workflows/pull-request-lint.yml b/examples/terraform-module/.github/workflows/pull-request-lint.yml
index 3c16c6d..2c1c658 100644
--- a/examples/terraform-module/.github/workflows/pull-request-lint.yml
+++ b/examples/terraform-module/.github/workflows/pull-request-lint.yml
@@ -17,7 +17,7 @@ jobs:
permissions:
pull-requests: write
steps:
- - uses: amannn/action-semantic-pull-request@v5.0.2
+ - uses: amannn/action-semantic-pull-request@v5.4.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
@@ -26,4 +26,3 @@ jobs:
fix
chore
requireScope: false
- githubBaseUrl: ${{ github.api_url }}
diff --git a/examples/terraform-module/.github/workflows/release.yml b/examples/terraform-module/.github/workflows/release.yml
index dd6e7e9..ba44b89 100644
--- a/examples/terraform-module/.github/workflows/release.yml
+++ b/examples/terraform-module/.github/workflows/release.yml
@@ -18,7 +18,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set git identity
@@ -46,23 +46,26 @@ jobs:
continue-on-error: true
- name: Upload artifact
if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
release_github:
name: Publish to GitHub Releases
- needs: release
+ needs:
+ - release
+ - release_npm
runs-on: ubuntu-latest
permissions:
contents: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -77,21 +80,22 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
- GITHUB_REF: ${{ github.ref }}
+ GITHUB_REF: ${{ github.sha }}
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
runs-on: ubuntu-latest
permissions:
+ id-token: write
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -110,5 +114,6 @@ jobs:
env:
NPM_DIST_TAG: latest
NPM_REGISTRY: registry.npmjs.org
+ NPM_CONFIG_PROVENANCE: "true"
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx -p publib@latest publib-npm
diff --git a/examples/terraform-module/.github/workflows/upgrade-main.yml b/examples/terraform-module/.github/workflows/upgrade-main.yml
index 0e65db0..9fa1f28 100644
--- a/examples/terraform-module/.github/workflows/upgrade-main.yml
+++ b/examples/terraform-module/.github/workflows/upgrade-main.yml
@@ -15,7 +15,7 @@ jobs:
patch_created: ${{ steps.create_patch.outputs.patch_created }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: main
- name: Install dependencies
@@ -27,12 +27,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "patch_created=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.create_patch.outputs.patch_created
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
pr:
name: Create Pull Request
needs: upgrade
@@ -42,11 +44,11 @@ jobs:
if: ${{ needs.upgrade.outputs.patch_created }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: main
- name: Download patch
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: .repo.patch
path: ${{ runner.temp }}
@@ -58,7 +60,7 @@ jobs:
git config user.email "github-actions@github.com"
- name: Create Pull Request
id: create-pr
- uses: peter-evans/create-pull-request@v4
+ uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
commit-message: |-
diff --git a/examples/terraform-module/.npmignore b/examples/terraform-module/.npmignore
index af762e6..33a9351 100644
--- a/examples/terraform-module/.npmignore
+++ b/examples/terraform-module/.npmignore
@@ -25,3 +25,4 @@ tsconfig.tsbuildinfo
!.jsii
/.gitattributes
/.projenrc.ts
+/projenrc
diff --git a/examples/terraform-module/.projen/deps.json b/examples/terraform-module/.projen/deps.json
index 3400bb8..6a657df 100644
--- a/examples/terraform-module/.projen/deps.json
+++ b/examples/terraform-module/.projen/deps.json
@@ -11,12 +11,12 @@
},
{
"name": "@typescript-eslint/eslint-plugin",
- "version": "^6",
+ "version": "^7",
"type": "build"
},
{
"name": "@typescript-eslint/parser",
- "version": "^6",
+ "version": "^7",
"type": "build"
},
{
diff --git a/examples/terraform-module/.projen/tasks.json b/examples/terraform-module/.projen/tasks.json
index 24e433c..24694ce 100644
--- a/examples/terraform-module/.projen/tasks.json
+++ b/examples/terraform-module/.projen/tasks.json
@@ -154,7 +154,12 @@
"description": "Creates the distribution package",
"steps": [
{
- "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"
+ "exec": "rsync -a . .repo --exclude .git --exclude node_modules && rm -rf dist && mv .repo dist",
+ "condition": "node -e \"if (!process.env.CI) process.exit(1)\""
+ },
+ {
+ "spawn": "package-all",
+ "condition": "node -e \"if (process.env.CI) process.exit(1)\""
}
]
},
@@ -269,13 +274,13 @@
},
"steps": [
{
- "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,eslint,jest,jest-junit,jsii-diff,jsii-docgen,jsii-pacmak,prettier,projen,standard-version,ts-jest"
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/jest,eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,jest,jsii-diff,jsii-pacmak,prettier,projen,ts-jest"
},
{
"exec": "yarn install --check-files"
},
{
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser constructs eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint jest jest-junit jsii-diff jsii-docgen jsii-pacmak prettier projen standard-version ts-jest"
+ "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser cdktf-cli cdktf constructs eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint jest jest-junit jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii prettier projen standard-version ts-jest ts-node typescript"
},
{
"exec": "npx projen"
diff --git a/examples/terraform-module/package.json b/examples/terraform-module/package.json
index 44a1d40..6769ba9 100644
--- a/examples/terraform-module/package.json
+++ b/examples/terraform-module/package.json
@@ -36,8 +36,8 @@
"devDependencies": {
"@types/jest": "^29",
"@types/node": "^18",
- "@typescript-eslint/eslint-plugin": "^6",
- "@typescript-eslint/parser": "^6",
+ "@typescript-eslint/eslint-plugin": "^7",
+ "@typescript-eslint/parser": "^7",
"cdktf": "0.20.0",
"cdktf-cli": "~0.20.0",
"constructs": "10.0.107",
@@ -71,11 +71,17 @@
],
"main": "lib/index.js",
"license": "Apache-2.0",
+ "publishConfig": {
+ "access": "public"
+ },
"version": "0.0.0",
"jest": {
+ "coverageProvider": "v8",
"testMatch": [
- "/src/**/__tests__/**/*.ts?(x)",
- "/(test|src)/**/*(*.)@(spec|test).ts?(x)"
+ "/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(src|test)/**/__tests__/**/*.ts?(x)",
+ "/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(projenrc)/**/__tests__/**/*.ts?(x)"
],
"clearMocks": true,
"collectCoverage": true,
diff --git a/examples/terraform-module/yarn.lock b/examples/terraform-module/yarn.lock
index c563a4a..fd13440 100644
--- a/examples/terraform-module/yarn.lock
+++ b/examples/terraform-module/yarn.lock
@@ -514,7 +514,7 @@
dependencies:
eslint-visitor-keys "^3.3.0"
-"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
+"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1":
version "4.11.0"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae"
integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==
@@ -1309,11 +1309,6 @@
expect "^29.0.0"
pretty-format "^29.0.0"
-"@types/json-schema@^7.0.12":
- version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
- integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
-
"@types/json5@^0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
@@ -1376,11 +1371,6 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901"
integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==
-"@types/semver@^7.5.0":
- version "7.5.8"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e"
- integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==
-
"@types/stack-utils@^2.0.0":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8"
@@ -1415,91 +1405,86 @@
resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a"
integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==
-"@typescript-eslint/eslint-plugin@^6":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3"
- integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==
+"@typescript-eslint/eslint-plugin@^7":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3"
+ integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==
dependencies:
- "@eslint-community/regexpp" "^4.5.1"
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/type-utils" "6.21.0"
- "@typescript-eslint/utils" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
- debug "^4.3.4"
+ "@eslint-community/regexpp" "^4.10.0"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/type-utils" "7.18.0"
+ "@typescript-eslint/utils" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
graphemer "^1.4.0"
- ignore "^5.2.4"
+ ignore "^5.3.1"
natural-compare "^1.4.0"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/parser@^6":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b"
- integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==
+"@typescript-eslint/parser@^7":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0"
+ integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==
dependencies:
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/typescript-estree" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1"
- integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==
+"@typescript-eslint/scope-manager@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83"
+ integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
-"@typescript-eslint/type-utils@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e"
- integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==
+"@typescript-eslint/type-utils@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b"
+ integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==
dependencies:
- "@typescript-eslint/typescript-estree" "6.21.0"
- "@typescript-eslint/utils" "6.21.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
+ "@typescript-eslint/utils" "7.18.0"
debug "^4.3.4"
- ts-api-utils "^1.0.1"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/types@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d"
- integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==
+"@typescript-eslint/types@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9"
+ integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==
-"@typescript-eslint/typescript-estree@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46"
- integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==
+"@typescript-eslint/typescript-estree@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931"
+ integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
- minimatch "9.0.3"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
+ minimatch "^9.0.4"
+ semver "^7.6.0"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/utils@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134"
- integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==
+"@typescript-eslint/utils@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f"
+ integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
- "@types/json-schema" "^7.0.12"
- "@types/semver" "^7.5.0"
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/typescript-estree" "6.21.0"
- semver "^7.5.4"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
-"@typescript-eslint/visitor-keys@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47"
- integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==
+"@typescript-eslint/visitor-keys@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7"
+ integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- eslint-visitor-keys "^3.4.1"
+ "@typescript-eslint/types" "7.18.0"
+ eslint-visitor-keys "^3.4.3"
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
@@ -3763,7 +3748,7 @@ ieee754@^1.1.13:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-ignore@^5.2.0, ignore@^5.2.4:
+ignore@^5.2.0, ignore@^5.3.1:
version "5.3.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
@@ -5222,13 +5207,6 @@ minimatch@5.1.6, minimatch@^5.0.1, minimatch@^5.1.0:
dependencies:
brace-expansion "^2.0.1"
-minimatch@9.0.3:
- version "9.0.3"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
- integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
- dependencies:
- brace-expansion "^2.0.1"
-
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -5243,6 +5221,13 @@ minimatch@^9.0.1:
dependencies:
brace-expansion "^2.0.1"
+minimatch@^9.0.4:
+ version "9.0.5"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
+ integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimist-options@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
@@ -6139,7 +6124,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.1.1, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3:
+semver@^7.1.1, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
@@ -6669,7 +6654,7 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
-ts-api-utils@^1.0.1:
+ts-api-utils@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1"
integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==
diff --git a/package.json b/package.json
index f5d8b28..339238a 100644
--- a/package.json
+++ b/package.json
@@ -45,8 +45,8 @@
"@types/glob": "^7.2.0",
"@types/jest": "^29",
"@types/node": "^18",
- "@typescript-eslint/eslint-plugin": "^6",
- "@typescript-eslint/parser": "^6",
+ "@typescript-eslint/eslint-plugin": "^7",
+ "@typescript-eslint/parser": "^7",
"comment-json": "^4.2.5",
"constructs": "10.3.0",
"eslint": "^8",
@@ -64,7 +64,7 @@
"jsii-pacmak": "^1.102.0",
"jsii-rosetta": "~5.4.0",
"prettier": "^2.8.8",
- "projen": "0.79.3",
+ "projen": "0.85.0",
"standard-version": "^9",
"ts-jest": "^29",
"ts-node": "10.9.1",
@@ -72,7 +72,7 @@
},
"peerDependencies": {
"constructs": "^10.3.0",
- "projen": ">= 0.79.3"
+ "projen": ">= 0.85.0"
},
"dependencies": {
"change-case": "^4.1.2"
@@ -82,11 +82,17 @@
],
"main": "lib/index.js",
"license": "MPL-2.0",
+ "publishConfig": {
+ "access": "public"
+ },
"version": "0.0.0",
"jest": {
+ "coverageProvider": "v8",
"testMatch": [
- "/src/**/__tests__/**/*.ts?(x)",
- "/(test|src)/**/*(*.)@(spec|test).ts?(x)"
+ "/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(src|test)/**/__tests__/**/*.ts?(x)",
+ "/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(projenrc)/**/__tests__/**/*.ts?(x)"
],
"clearMocks": true,
"collectCoverage": true,
diff --git a/test/__snapshots__/hybrid-module.test.ts.snap b/test/__snapshots__/hybrid-module.test.ts.snap
index 3fa49f5..59351ca 100644
--- a/test/__snapshots__/hybrid-module.test.ts.snap
+++ b/test/__snapshots__/hybrid-module.test.ts.snap
@@ -73,6 +73,9 @@ exports[`HybridModule snapshot: .eslintrc.json 1`] = `
"dot-notation": [
"error",
],
+ "import/no-duplicates": [
+ "error",
+ ],
"import/no-extraneous-dependencies": [
"error",
{
@@ -108,9 +111,6 @@ exports[`HybridModule snapshot: .eslintrc.json 1`] = `
"no-bitwise": [
"error",
],
- "no-duplicate-imports": [
- "error",
- ],
"no-multiple-empty-lines": [
"error",
],
@@ -191,7 +191,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: \${{ github.event.pull_request.head.ref }}
repository: \${{ github.event.pull_request.head.repo.full_name }}
@@ -204,12 +204,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "self_mutation_happened=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.self_mutation.outputs.self_mutation_happened
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
- name: Fail build on mutation
if: steps.self_mutation.outputs.self_mutation_happened
run: |-
@@ -220,10 +222,11 @@ jobs:
run: cd dist && getfacl -R . > permissions-backup.acl
continue-on-error: true
- name: Upload artifact
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
self-mutation:
needs: build
runs-on: ubuntu-latest
@@ -232,13 +235,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@v3
+ uses: actions/checkout@v4
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@v3
+ uses: actions/download-artifact@v4
with:
name: .repo.patch
path: \${{ runner.temp }}
@@ -261,11 +264,11 @@ jobs:
permissions: {}
if: "! needs.build.outputs.self_mutation_happened"
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -303,7 +306,7 @@ jobs:
permissions:
pull-requests: write
steps:
- - uses: amannn/action-semantic-pull-request@v5.0.2
+ - uses: amannn/action-semantic-pull-request@v5.4.0
env:
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
with:
@@ -312,7 +315,6 @@ jobs:
fix
chore
requireScope: false
- githubBaseUrl: \${{ github.api_url }}
"
`;
@@ -337,7 +339,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set git identity
@@ -365,23 +367,26 @@ jobs:
continue-on-error: true
- name: Upload artifact
if: \${{ steps.git_remote.outputs.latest_commit == github.sha }}
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
release_github:
name: Publish to GitHub Releases
- needs: release
+ needs:
+ - release
+ - release_npm
runs-on: ubuntu-latest
permissions:
contents: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -396,21 +401,22 @@ jobs:
env:
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: \${{ github.repository }}
- GITHUB_REF: \${{ github.ref }}
+ GITHUB_REF: \${{ github.sha }}
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
runs-on: ubuntu-latest
permissions:
+ id-token: write
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -429,6 +435,7 @@ jobs:
env:
NPM_DIST_TAG: latest
NPM_REGISTRY: registry.npmjs.org
+ NPM_CONFIG_PROVENANCE: "true"
NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
run: npx -p publib@latest publib-npm
"
@@ -452,7 +459,7 @@ jobs:
patch_created: \${{ steps.create_patch.outputs.patch_created }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: main
- name: Install dependencies
@@ -464,12 +471,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "patch_created=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.create_patch.outputs.patch_created
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
pr:
name: Create Pull Request
needs: upgrade
@@ -479,11 +488,11 @@ jobs:
if: \${{ needs.upgrade.outputs.patch_created }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: main
- name: Download patch
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: .repo.patch
path: \${{ runner.temp }}
@@ -495,7 +504,7 @@ jobs:
git config user.email "github-actions@github.com"
- name: Create Pull Request
id: create-pr
- uses: peter-evans/create-pull-request@v4
+ uses: peter-evans/create-pull-request@v6
with:
token: \${{ secrets.PROJEN_GITHUB_TOKEN }}
commit-message: |-
@@ -618,6 +627,7 @@ tsconfig.tsbuildinfo
!.jsii
/.gitattributes
/.projenrc.ts
+/projenrc
"
`;
@@ -854,8 +864,8 @@ exports[`HybridModule snapshot: package.json 1`] = `
"devDependencies": {
"@types/jest": "*",
"@types/node": "^18",
- "@typescript-eslint/eslint-plugin": "^6",
- "@typescript-eslint/parser": "^6",
+ "@typescript-eslint/eslint-plugin": "^7",
+ "@typescript-eslint/parser": "^7",
"cdktf": "0.20.0",
"cdktf-cli": "~0.20.0",
"constructs": "10.0.107",
@@ -887,6 +897,7 @@ exports[`HybridModule snapshot: package.json 1`] = `
"/terraform",
"dist",
],
+ "coverageProvider": "v8",
"coverageReporters": [
"json",
"lcov",
@@ -904,8 +915,10 @@ exports[`HybridModule snapshot: package.json 1`] = `
],
],
"testMatch": [
- "/src/**/__tests__/**/*.ts?(x)",
- "/(test|src)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(src|test)/**/__tests__/**/*.ts?(x)",
+ "/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(projenrc)/**/__tests__/**/*.ts?(x)",
],
"testPathIgnorePatterns": [
"/node_modules/",
@@ -945,6 +958,9 @@ exports[`HybridModule snapshot: package.json 1`] = `
"cdktf": ">=0.20.0",
"constructs": ">=10.0.107",
},
+ "publishConfig": {
+ "access": "public",
+ },
"repository": {
"type": "git",
"url": "github.com/DanielMSchmidt/my-module",
diff --git a/test/__snapshots__/terraform-module.test.ts.snap b/test/__snapshots__/terraform-module.test.ts.snap
index eb6d901..28162cd 100644
--- a/test/__snapshots__/terraform-module.test.ts.snap
+++ b/test/__snapshots__/terraform-module.test.ts.snap
@@ -21,7 +21,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set git identity
@@ -49,23 +49,27 @@ jobs:
continue-on-error: true
- name: Upload artifact
if: \${{ steps.git_remote.outputs.latest_commit == github.sha }}
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
release_github:
name: Publish to GitHub Releases
- needs: release
+ needs:
+ - release
+ - release_npm
+ - release_pypi
runs-on: ubuntu-latest
permissions:
contents: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -80,21 +84,22 @@ jobs:
env:
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: \${{ github.repository }}
- GITHUB_REF: \${{ github.ref }}
+ GITHUB_REF: \${{ github.sha }}
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
runs-on: ubuntu-latest
permissions:
+ id-token: write
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -113,6 +118,7 @@ jobs:
env:
NPM_DIST_TAG: latest
NPM_REGISTRY: my-company.com/artifactory/api/npm/dschmidt/
+ NPM_CONFIG_PROVENANCE: "true"
NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
run: npx -p publib@latest publib-npm
release_pypi:
@@ -123,14 +129,14 @@ jobs:
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- - uses: actions/setup-python@v4
+ - uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -175,7 +181,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set git identity
@@ -203,23 +209,27 @@ jobs:
continue-on-error: true
- name: Upload artifact
if: \${{ steps.git_remote.outputs.latest_commit == github.sha }}
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
release_github:
name: Publish to GitHub Releases
- needs: release
+ needs:
+ - release
+ - release_npm
+ - release_maven
runs-on: ubuntu-latest
permissions:
contents: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -234,7 +244,7 @@ jobs:
env:
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: \${{ github.repository }}
- GITHUB_REF: \${{ github.ref }}
+ GITHUB_REF: \${{ github.sha }}
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
@@ -245,11 +255,11 @@ jobs:
packages: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -279,15 +289,15 @@ jobs:
packages: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-java@v3
+ - uses: actions/setup-java@v4
with:
- distribution: temurin
- java-version: 11.x
- - uses: actions/setup-node@v3
+ distribution: corretto
+ java-version: "11"
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -333,7 +343,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set git identity
@@ -361,23 +371,29 @@ jobs:
continue-on-error: true
- name: Upload artifact
if: \${{ steps.git_remote.outputs.latest_commit == github.sha }}
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
release_github:
name: Publish to GitHub Releases
- needs: release
+ needs:
+ - release
+ - release_npm
+ - release_maven
+ - release_pypi
+ - release_nuget
runs-on: ubuntu-latest
permissions:
contents: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -392,21 +408,22 @@ jobs:
env:
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: \${{ github.repository }}
- GITHUB_REF: \${{ github.ref }}
+ GITHUB_REF: \${{ github.sha }}
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
runs-on: ubuntu-latest
permissions:
+ id-token: write
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -425,6 +442,7 @@ jobs:
env:
NPM_DIST_TAG: latest
NPM_REGISTRY: registry.npmjs.org
+ NPM_CONFIG_PROVENANCE: "true"
NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
run: npx -p publib@latest publib-npm
release_maven:
@@ -435,15 +453,15 @@ jobs:
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-java@v3
+ - uses: actions/setup-java@v4
with:
- distribution: temurin
- java-version: 11.x
- - uses: actions/setup-node@v3
+ distribution: corretto
+ java-version: "11"
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -474,14 +492,14 @@ jobs:
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- - uses: actions/setup-python@v4
+ - uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -509,14 +527,14 @@ jobs:
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- - uses: actions/setup-dotnet@v3
+ - uses: actions/setup-dotnet@v4
with:
- dotnet-version: 3.x
+ dotnet-version: 6.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -611,6 +629,9 @@ exports[`TerraformModule snapshot: .eslintrc.json 1`] = `
"dot-notation": [
"error",
],
+ "import/no-duplicates": [
+ "error",
+ ],
"import/no-extraneous-dependencies": [
"error",
{
@@ -646,9 +667,6 @@ exports[`TerraformModule snapshot: .eslintrc.json 1`] = `
"no-bitwise": [
"error",
],
- "no-duplicate-imports": [
- "error",
- ],
"no-multiple-empty-lines": [
"error",
],
@@ -728,7 +746,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: \${{ github.event.pull_request.head.ref }}
repository: \${{ github.event.pull_request.head.repo.full_name }}
@@ -741,12 +759,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "self_mutation_happened=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.self_mutation.outputs.self_mutation_happened
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
- name: Fail build on mutation
if: steps.self_mutation.outputs.self_mutation_happened
run: |-
@@ -757,10 +777,11 @@ jobs:
run: cd dist && getfacl -R . > permissions-backup.acl
continue-on-error: true
- name: Upload artifact
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
self-mutation:
needs: build
runs-on: ubuntu-latest
@@ -769,13 +790,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@v3
+ uses: actions/checkout@v4
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@v3
+ uses: actions/download-artifact@v4
with:
name: .repo.patch
path: \${{ runner.temp }}
@@ -798,11 +819,11 @@ jobs:
permissions: {}
if: "! needs.build.outputs.self_mutation_happened"
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -840,7 +861,7 @@ jobs:
permissions:
pull-requests: write
steps:
- - uses: amannn/action-semantic-pull-request@v5.0.2
+ - uses: amannn/action-semantic-pull-request@v5.4.0
env:
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
with:
@@ -849,7 +870,6 @@ jobs:
fix
chore
requireScope: false
- githubBaseUrl: \${{ github.api_url }}
"
`;
@@ -874,7 +894,7 @@ jobs:
CI: "true"
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set git identity
@@ -902,23 +922,26 @@ jobs:
continue-on-error: true
- name: Upload artifact
if: \${{ steps.git_remote.outputs.latest_commit == github.sha }}
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
+ overwrite: true
release_github:
name: Publish to GitHub Releases
- needs: release
+ needs:
+ - release
+ - release_npm
runs-on: ubuntu-latest
permissions:
contents: write
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -933,21 +956,22 @@ jobs:
env:
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: \${{ github.repository }}
- GITHUB_REF: \${{ github.ref }}
+ GITHUB_REF: \${{ github.sha }}
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
runs-on: ubuntu-latest
permissions:
+ id-token: write
contents: read
if: needs.release.outputs.tag_exists != 'true' && needs.release.outputs.latest_commit == github.sha
steps:
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Download build artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
@@ -966,6 +990,7 @@ jobs:
env:
NPM_DIST_TAG: latest
NPM_REGISTRY: registry.npmjs.org
+ NPM_CONFIG_PROVENANCE: "true"
NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
run: npx -p publib@latest publib-npm
"
@@ -989,7 +1014,7 @@ jobs:
patch_created: \${{ steps.create_patch.outputs.patch_created }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: main
- name: Install dependencies
@@ -1001,12 +1026,14 @@ jobs:
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "patch_created=true" >> $GITHUB_OUTPUT
+ working-directory: ./
- name: Upload patch
if: steps.create_patch.outputs.patch_created
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
+ overwrite: true
pr:
name: Create Pull Request
needs: upgrade
@@ -1016,11 +1043,11 @@ jobs:
if: \${{ needs.upgrade.outputs.patch_created }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: main
- name: Download patch
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: .repo.patch
path: \${{ runner.temp }}
@@ -1032,7 +1059,7 @@ jobs:
git config user.email "github-actions@github.com"
- name: Create Pull Request
id: create-pr
- uses: peter-evans/create-pull-request@v4
+ uses: peter-evans/create-pull-request@v6
with:
token: \${{ secrets.PROJEN_GITHUB_TOKEN }}
commit-message: |-
@@ -1148,6 +1175,7 @@ tsconfig.tsbuildinfo
!.jsii
/.gitattributes
/.projenrc.ts
+/projenrc
"
`;
@@ -1381,8 +1409,8 @@ exports[`TerraformModule snapshot: package.json 1`] = `
"devDependencies": {
"@types/jest": "*",
"@types/node": "^18",
- "@typescript-eslint/eslint-plugin": "^6",
- "@typescript-eslint/parser": "^6",
+ "@typescript-eslint/eslint-plugin": "^7",
+ "@typescript-eslint/parser": "^7",
"cdktf": "0.20.0",
"cdktf-cli": "~0.20.0",
"constructs": "10.0.107",
@@ -1412,6 +1440,7 @@ exports[`TerraformModule snapshot: package.json 1`] = `
"coveragePathIgnorePatterns": [
"/node_modules/",
],
+ "coverageProvider": "v8",
"coverageReporters": [
"json",
"lcov",
@@ -1429,8 +1458,10 @@ exports[`TerraformModule snapshot: package.json 1`] = `
],
],
"testMatch": [
- "/src/**/__tests__/**/*.ts?(x)",
- "/(test|src)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(src|test)/**/__tests__/**/*.ts?(x)",
+ "/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
+ "/@(projenrc)/**/__tests__/**/*.ts?(x)",
],
"testPathIgnorePatterns": [
"/node_modules/",
@@ -1467,6 +1498,9 @@ exports[`TerraformModule snapshot: package.json 1`] = `
"cdktf": ">=0.20.0",
"constructs": ">=10.0.107",
},
+ "publishConfig": {
+ "access": "public",
+ },
"repository": {
"type": "git",
"url": "github.com/DanielMSchmidt/my-module",
diff --git a/yarn.lock b/yarn.lock
index 3fa383e..6b7828c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -305,7 +305,7 @@
dependencies:
eslint-visitor-keys "^3.3.0"
-"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
+"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1":
version "4.11.0"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae"
integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==
@@ -820,11 +820,6 @@
expect "^29.0.0"
pretty-format "^29.0.0"
-"@types/json-schema@^7.0.12":
- version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
- integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
-
"@types/json5@^0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
@@ -859,11 +854,6 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901"
integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==
-"@types/semver@^7.5.0":
- version "7.5.8"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e"
- integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==
-
"@types/stack-utils@^2.0.0":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8"
@@ -881,91 +871,86 @@
dependencies:
"@types/yargs-parser" "*"
-"@typescript-eslint/eslint-plugin@^6":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3"
- integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==
+"@typescript-eslint/eslint-plugin@^7":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3"
+ integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==
dependencies:
- "@eslint-community/regexpp" "^4.5.1"
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/type-utils" "6.21.0"
- "@typescript-eslint/utils" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
- debug "^4.3.4"
+ "@eslint-community/regexpp" "^4.10.0"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/type-utils" "7.18.0"
+ "@typescript-eslint/utils" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
graphemer "^1.4.0"
- ignore "^5.2.4"
+ ignore "^5.3.1"
natural-compare "^1.4.0"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/parser@^6":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b"
- integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==
+"@typescript-eslint/parser@^7":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0"
+ integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==
dependencies:
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/typescript-estree" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1"
- integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==
+"@typescript-eslint/scope-manager@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83"
+ integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
-"@typescript-eslint/type-utils@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e"
- integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==
+"@typescript-eslint/type-utils@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b"
+ integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==
dependencies:
- "@typescript-eslint/typescript-estree" "6.21.0"
- "@typescript-eslint/utils" "6.21.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
+ "@typescript-eslint/utils" "7.18.0"
debug "^4.3.4"
- ts-api-utils "^1.0.1"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/types@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d"
- integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==
+"@typescript-eslint/types@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9"
+ integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==
-"@typescript-eslint/typescript-estree@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46"
- integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==
+"@typescript-eslint/typescript-estree@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931"
+ integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/visitor-keys" "6.21.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/visitor-keys" "7.18.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
- minimatch "9.0.3"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
+ minimatch "^9.0.4"
+ semver "^7.6.0"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/utils@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134"
- integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==
+"@typescript-eslint/utils@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f"
+ integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
- "@types/json-schema" "^7.0.12"
- "@types/semver" "^7.5.0"
- "@typescript-eslint/scope-manager" "6.21.0"
- "@typescript-eslint/types" "6.21.0"
- "@typescript-eslint/typescript-estree" "6.21.0"
- semver "^7.5.4"
+ "@typescript-eslint/scope-manager" "7.18.0"
+ "@typescript-eslint/types" "7.18.0"
+ "@typescript-eslint/typescript-estree" "7.18.0"
-"@typescript-eslint/visitor-keys@6.21.0":
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47"
- integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==
+"@typescript-eslint/visitor-keys@7.18.0":
+ version "7.18.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7"
+ integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==
dependencies:
- "@typescript-eslint/types" "6.21.0"
- eslint-visitor-keys "^3.4.1"
+ "@typescript-eslint/types" "7.18.0"
+ eslint-visitor-keys "^3.4.3"
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
@@ -2737,7 +2722,7 @@ human-signals@^2.1.0:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-ignore@^5.2.0, ignore@^5.2.4:
+ignore@^5.2.0, ignore@^5.3.1:
version "5.3.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
@@ -3807,13 +3792,6 @@ min-indent@^1.0.0:
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-minimatch@9.0.3:
- version "9.0.3"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
- integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
- dependencies:
- brace-expansion "^2.0.1"
-
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -3828,6 +3806,13 @@ minimatch@^5.0.1:
dependencies:
brace-expansion "^2.0.1"
+minimatch@^9.0.4:
+ version "9.0.5"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
+ integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimist-options@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
@@ -4214,10 +4199,10 @@ process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-projen@0.79.3:
- version "0.79.3"
- resolved "https://registry.yarnpkg.com/projen/-/projen-0.79.3.tgz#385761af74b8df15f58eef21022eb7d3645b2690"
- integrity sha512-nmYW1YXFNdZNNDlfHsT4sMfE5vMgMbpG061RT+gtuvGkhm+6nYd8+kWo6xk+2J/egoNvXyS5kEbh4fFc41I5hA==
+projen@0.85.0:
+ version "0.85.0"
+ resolved "https://registry.yarnpkg.com/projen/-/projen-0.85.0.tgz#ce182db7e37a7784172a49d037693ce2a272d561"
+ integrity sha512-5W4+h/f5eDENFVeOdAGnuZQD88BSCNy7gxYUge9L87qlbvOR3cKF9fzEguFryGcBJKN6AtCjACsdMwHyNE4xPQ==
dependencies:
"@iarna/toml" "^2.2.5"
case "^1.6.3"
@@ -4228,7 +4213,7 @@ projen@0.79.3:
fast-json-patch "^3.1.1"
glob "^8"
ini "^2.0.0"
- semver "^7.5.4"
+ semver "^7.6.3"
shx "^0.3.4"
xmlbuilder2 "^3.1.1"
yaml "^2.2.2"
@@ -4886,7 +4871,7 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
-ts-api-utils@^1.0.1:
+ts-api-utils@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1"
integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==