cdk-ecr-deployment 3.1.8 → 3.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2 -2
- package/.jsii.tabl.json +1 -1
- package/lib/index.js +3 -3
- package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/assert.d.ts +55 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.buffer.d.ts +114 -39
- package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.d.ts +4 -11
- package/node_modules/@types/cacheable-request/node_modules/@types/node/dgram.d.ts +3 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/fs/promises.d.ts +2 -2
- package/node_modules/@types/cacheable-request/node_modules/@types/node/http.d.ts +1 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/module.d.ts +81 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/net.d.ts +24 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/cacheable-request/node_modules/@types/node/perf_hooks.d.ts +5 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/process.d.ts +19 -2
- package/node_modules/@types/cacheable-request/node_modules/@types/node/sea.d.ts +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/sqlite.d.ts +105 -15
- package/node_modules/@types/cacheable-request/node_modules/@types/node/stream/web.d.ts +6 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/stream.d.ts +936 -1000
- package/node_modules/@types/cacheable-request/node_modules/@types/node/test.d.ts +40 -138
- package/node_modules/@types/cacheable-request/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +107 -35
- package/node_modules/@types/cacheable-request/node_modules/@types/node/util.d.ts +52 -10
- package/node_modules/@types/cacheable-request/node_modules/@types/node/vm.d.ts +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/assert.d.ts +55 -0
- package/node_modules/@types/keyv/node_modules/@types/node/buffer.buffer.d.ts +114 -39
- package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +4 -11
- package/node_modules/@types/keyv/node_modules/@types/node/dgram.d.ts +3 -1
- package/node_modules/@types/keyv/node_modules/@types/node/fs/promises.d.ts +2 -2
- package/node_modules/@types/keyv/node_modules/@types/node/http.d.ts +1 -0
- package/node_modules/@types/keyv/node_modules/@types/node/module.d.ts +81 -0
- package/node_modules/@types/keyv/node_modules/@types/node/net.d.ts +24 -0
- package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/keyv/node_modules/@types/node/perf_hooks.d.ts +5 -0
- package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +19 -2
- package/node_modules/@types/keyv/node_modules/@types/node/sea.d.ts +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/sqlite.d.ts +105 -15
- package/node_modules/@types/keyv/node_modules/@types/node/stream/web.d.ts +6 -1
- package/node_modules/@types/keyv/node_modules/@types/node/stream.d.ts +936 -1000
- package/node_modules/@types/keyv/node_modules/@types/node/test.d.ts +40 -138
- package/node_modules/@types/keyv/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +107 -35
- package/node_modules/@types/keyv/node_modules/@types/node/util.d.ts +52 -10
- package/node_modules/@types/keyv/node_modules/@types/node/vm.d.ts +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/assert.d.ts +55 -0
- package/node_modules/@types/responselike/node_modules/@types/node/buffer.buffer.d.ts +114 -39
- package/node_modules/@types/responselike/node_modules/@types/node/buffer.d.ts +4 -11
- package/node_modules/@types/responselike/node_modules/@types/node/dgram.d.ts +3 -1
- package/node_modules/@types/responselike/node_modules/@types/node/fs/promises.d.ts +2 -2
- package/node_modules/@types/responselike/node_modules/@types/node/http.d.ts +1 -0
- package/node_modules/@types/responselike/node_modules/@types/node/module.d.ts +81 -0
- package/node_modules/@types/responselike/node_modules/@types/node/net.d.ts +24 -0
- package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/responselike/node_modules/@types/node/perf_hooks.d.ts +5 -0
- package/node_modules/@types/responselike/node_modules/@types/node/process.d.ts +19 -2
- package/node_modules/@types/responselike/node_modules/@types/node/sea.d.ts +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/sqlite.d.ts +105 -15
- package/node_modules/@types/responselike/node_modules/@types/node/stream/web.d.ts +6 -1
- package/node_modules/@types/responselike/node_modules/@types/node/stream.d.ts +936 -1000
- package/node_modules/@types/responselike/node_modules/@types/node/test.d.ts +40 -138
- package/node_modules/@types/responselike/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +107 -35
- package/node_modules/@types/responselike/node_modules/@types/node/util.d.ts +52 -10
- package/node_modules/@types/responselike/node_modules/@types/node/vm.d.ts +1 -1
- package/package.json +4 -4
package/.jsii
CHANGED
package/.jsii.tabl.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"2","toolVersion":"5.7.2","snippets":{"33850328020507963bc7787401a169bb06e49f6132425a6d1529815c1554c645":{"translations":{"python":{"source":"from aws_cdk.aws_ecr_assets import DockerImageAsset\n\n\nimage = DockerImageAsset(self, \"CDKDockerImage\",\n directory=path.join(__dirname, \"docker\")\n)\n\n# Copy from cdk docker image asset to another ECR.\necrdeploy.ECRDeployment(self, \"DeployDockerImage1\",\n src=ecrdeploy.DockerImageName(image.image_uri),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\")\n)\n\n# Copy from docker registry to ECR.\necrdeploy.ECRDeployment(self, \"DeployDockerImage2\",\n src=ecrdeploy.DockerImageName(\"nginx:latest\"),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\")\n)\n\n# Copy from private docker registry to ECR.\n# The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\necrdeploy.ECRDeployment(self, \"DeployDockerImage3\",\n src=ecrdeploy.DockerImageName(\"javacs3/nginx:latest\", \"username:password\"),\n # src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n # src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\")\n).add_to_principal_policy(iam.PolicyStatement(\n effect=iam.Effect.ALLOW,\n actions=[\"secretsmanager:GetSecretValue\"\n ],\n resources=[\"*\"]\n))","version":"2"},"csharp":{"source":"using Amazon.CDK.AWS.Ecr.Assets;\n\n\nvar image = new DockerImageAsset(this, \"CDKDockerImage\", new DockerImageAssetProps {\n Directory = Join(__dirname, \"docker\")\n});\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\nnew ECRDeployment(this, \"DeployDockerImage1\", new ECRDeploymentProps {\n Src = new DockerImageName(image.ImageUri),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\")\n});\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\nnew ECRDeployment(this, \"DeployDockerImage2\", new ECRDeploymentProps {\n Src = new DockerImageName(\"nginx:latest\"),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\")\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\nnew ECRDeployment(this, \"DeployDockerImage3\", new ECRDeploymentProps {\n Src = new DockerImageName(\"javacs3/nginx:latest\", \"username:password\"),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\")\n}).AddToPrincipalPolicy(new PolicyStatement(new PolicyStatementProps {\n Effect = Effect.ALLOW,\n Actions = new [] { \"secretsmanager:GetSecretValue\" },\n Resources = new [] { \"*\" }\n}));","version":"1"},"java":{"source":"import software.amazon.awscdk.services.ecr.assets.DockerImageAsset;\n\n\nDockerImageAsset image = DockerImageAsset.Builder.create(this, \"CDKDockerImage\")\n .directory(join(__dirname, \"docker\"))\n .build();\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\nECRDeployment.Builder.create(this, \"DeployDockerImage1\")\n .src(new DockerImageName(image.getImageUri()))\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\", Aws.ACCOUNT_ID)))\n .build();\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\nECRDeployment.Builder.create(this, \"DeployDockerImage2\")\n .src(new DockerImageName(\"nginx:latest\"))\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\", Aws.ACCOUNT_ID)))\n .build();\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\nECRDeployment.Builder.create(this, \"DeployDockerImage3\")\n .src(new DockerImageName(\"javacs3/nginx:latest\", \"username:password\"))\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\", Aws.ACCOUNT_ID)))\n .build().addToPrincipalPolicy(PolicyStatement.Builder.create()\n .effect(Effect.ALLOW)\n .actions(List.of(\"secretsmanager:GetSecretValue\"))\n .resources(List.of(\"*\"))\n .build());","version":"1"},"go":{"source":"import \"github.com/aws/aws-cdk-go/awscdk\"\n\n\nimage := awscdk.NewDockerImageAsset(this, jsii.String(\"CDKDockerImage\"), &DockerImageAssetProps{\n\tDirectory: path.join(__dirname, jsii.String(\"docker\")),\n})\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage1\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(image.ImageUri),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\", cdk.Aws_ACCOUNT_ID())),\n})\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage2\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(jsii.String(\"nginx:latest\")),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\", cdk.Aws_ACCOUNT_ID())),\n})\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage3\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(jsii.String(\"javacs3/nginx:latest\"), jsii.String(\"username:password\")),\n\t// src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n\t// src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\", cdk.Aws_ACCOUNT_ID())),\n}).AddToPrincipalPolicy(awscdk.Aws_iam.NewPolicyStatement(&PolicyStatementProps{\n\tEffect: awscdk.*Aws_iam.Effect_ALLOW,\n\tActions: []*string{\n\t\tjsii.String(\"secretsmanager:GetSecretValue\"),\n\t},\n\tResources: []*string{\n\t\tjsii.String(\"*\"),\n\t},\n}))","version":"1"},"$":{"source":"import { DockerImageAsset } from 'aws-cdk-lib/aws-ecr-assets';\n\nconst image = new DockerImageAsset(this, 'CDKDockerImage', {\n directory: path.join(__dirname, 'docker'),\n});\n\n// Copy from cdk docker image asset to another ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage1', {\n src: new ecrdeploy.DockerImageName(image.imageUri),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest`),\n});\n\n// Copy from docker registry to ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage2', {\n src: new ecrdeploy.DockerImageName('nginx:latest'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest`),\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage3', {\n src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'username:password'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest`),\n}).addToPrincipalPolicy(new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: [\n 'secretsmanager:GetSecretValue',\n ],\n resources: ['*'],\n}));","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-ecr-deployment"},"field":{"field":"markdown","line":34}},"didCompile":true,"fqnsReferenced":["aws-cdk-lib.aws_ecr_assets.DockerImageAsset","aws-cdk-lib.aws_ecr_assets.DockerImageAsset#imageUri","aws-cdk-lib.aws_ecr_assets.DockerImageAssetProps","aws-cdk-lib.aws_iam.Effect","aws-cdk-lib.aws_iam.Effect#ALLOW","aws-cdk-lib.aws_iam.PolicyStatement","aws-cdk-lib.aws_iam.PolicyStatementProps","cdk-ecr-deployment.DockerImageName","cdk-ecr-deployment.ECRDeployment","cdk-ecr-deployment.ECRDeployment#addToPrincipalPolicy","cdk-ecr-deployment.ECRDeploymentProps","cdk-ecr-deployment.IImageName"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\nimport { DockerImageAsset } from 'aws-cdk-lib/aws-ecr-assets';\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport * as path from 'node:path';\nimport { Construct } from 'constructs';\n import * as ecrdeploy from 'cdk-ecr-deployment';\nimport {\n Stack,\n aws_iam as iam,\n} from 'aws-cdk-lib';\nimport * as cdk from 'aws-cdk-lib';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nconst image = new DockerImageAsset(this, 'CDKDockerImage', {\n directory: path.join(__dirname, 'docker'),\n});\n\n// Copy from cdk docker image asset to another ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage1', {\n src: new ecrdeploy.DockerImageName(image.imageUri),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest`),\n});\n\n// Copy from docker registry to ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage2', {\n src: new ecrdeploy.DockerImageName('nginx:latest'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest`),\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage3', {\n src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'username:password'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest`),\n}).addToPrincipalPolicy(new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: [\n 'secretsmanager:GetSecretValue',\n ],\n resources: ['*'],\n}));\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"11":11,"16":3,"18":3,"80":51,"110":4,"209":2,"210":5,"211":21,"213":2,"214":11,"228":3,"239":3,"243":1,"244":3,"260":1,"261":1,"272":1,"273":1,"275":1,"276":1,"303":10,"307":1},"fqnsFingerprint":"b2b5036b1bfc508279d58dec7b8bdd00caa0f71123068dc963187960f976dddb"}}}
|
|
1
|
+
{"version":"2","toolVersion":"5.7.6","snippets":{"33850328020507963bc7787401a169bb06e49f6132425a6d1529815c1554c645":{"translations":{"python":{"source":"from aws_cdk.aws_ecr_assets import DockerImageAsset\n\n\nimage = DockerImageAsset(self, \"CDKDockerImage\",\n directory=path.join(__dirname, \"docker\")\n)\n\n# Copy from cdk docker image asset to another ECR.\necrdeploy.ECRDeployment(self, \"DeployDockerImage1\",\n src=ecrdeploy.DockerImageName(image.image_uri),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\")\n)\n\n# Copy from docker registry to ECR.\necrdeploy.ECRDeployment(self, \"DeployDockerImage2\",\n src=ecrdeploy.DockerImageName(\"nginx:latest\"),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\")\n)\n\n# Copy from private docker registry to ECR.\n# The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\necrdeploy.ECRDeployment(self, \"DeployDockerImage3\",\n src=ecrdeploy.DockerImageName(\"javacs3/nginx:latest\", \"username:password\"),\n # src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n # src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\")\n).add_to_principal_policy(iam.PolicyStatement(\n effect=iam.Effect.ALLOW,\n actions=[\"secretsmanager:GetSecretValue\"\n ],\n resources=[\"*\"]\n))","version":"2"},"csharp":{"source":"using Amazon.CDK.AWS.Ecr.Assets;\n\n\nvar image = new DockerImageAsset(this, \"CDKDockerImage\", new DockerImageAssetProps {\n Directory = Join(__dirname, \"docker\")\n});\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\nnew ECRDeployment(this, \"DeployDockerImage1\", new ECRDeploymentProps {\n Src = new DockerImageName(image.ImageUri),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\")\n});\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\nnew ECRDeployment(this, \"DeployDockerImage2\", new ECRDeploymentProps {\n Src = new DockerImageName(\"nginx:latest\"),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\")\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\nnew ECRDeployment(this, \"DeployDockerImage3\", new ECRDeploymentProps {\n Src = new DockerImageName(\"javacs3/nginx:latest\", \"username:password\"),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\")\n}).AddToPrincipalPolicy(new PolicyStatement(new PolicyStatementProps {\n Effect = Effect.ALLOW,\n Actions = new [] { \"secretsmanager:GetSecretValue\" },\n Resources = new [] { \"*\" }\n}));","version":"1"},"java":{"source":"import software.amazon.awscdk.services.ecr.assets.DockerImageAsset;\n\n\nDockerImageAsset image = DockerImageAsset.Builder.create(this, \"CDKDockerImage\")\n .directory(join(__dirname, \"docker\"))\n .build();\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\nECRDeployment.Builder.create(this, \"DeployDockerImage1\")\n .src(new DockerImageName(image.getImageUri()))\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\", Aws.ACCOUNT_ID)))\n .build();\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\nECRDeployment.Builder.create(this, \"DeployDockerImage2\")\n .src(new DockerImageName(\"nginx:latest\"))\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\", Aws.ACCOUNT_ID)))\n .build();\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\nECRDeployment.Builder.create(this, \"DeployDockerImage3\")\n .src(new DockerImageName(\"javacs3/nginx:latest\", \"username:password\"))\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\", Aws.ACCOUNT_ID)))\n .build().addToPrincipalPolicy(PolicyStatement.Builder.create()\n .effect(Effect.ALLOW)\n .actions(List.of(\"secretsmanager:GetSecretValue\"))\n .resources(List.of(\"*\"))\n .build());","version":"1"},"go":{"source":"import \"github.com/aws/aws-cdk-go/awscdk\"\n\n\nimage := awscdk.NewDockerImageAsset(this, jsii.String(\"CDKDockerImage\"), &DockerImageAssetProps{\n\tDirectory: path.join(__dirname, jsii.String(\"docker\")),\n})\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage1\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(image.ImageUri),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\", cdk.Aws_ACCOUNT_ID())),\n})\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage2\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(jsii.String(\"nginx:latest\")),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\", cdk.Aws_ACCOUNT_ID())),\n})\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage3\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(jsii.String(\"javacs3/nginx:latest\"), jsii.String(\"username:password\")),\n\t// src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n\t// src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\", cdk.Aws_ACCOUNT_ID())),\n}).AddToPrincipalPolicy(awscdk.Aws_iam.NewPolicyStatement(&PolicyStatementProps{\n\tEffect: awscdk.*Aws_iam.Effect_ALLOW,\n\tActions: []*string{\n\t\tjsii.String(\"secretsmanager:GetSecretValue\"),\n\t},\n\tResources: []*string{\n\t\tjsii.String(\"*\"),\n\t},\n}))","version":"1"},"$":{"source":"import { DockerImageAsset } from 'aws-cdk-lib/aws-ecr-assets';\n\nconst image = new DockerImageAsset(this, 'CDKDockerImage', {\n directory: path.join(__dirname, 'docker'),\n});\n\n// Copy from cdk docker image asset to another ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage1', {\n src: new ecrdeploy.DockerImageName(image.imageUri),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest`),\n});\n\n// Copy from docker registry to ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage2', {\n src: new ecrdeploy.DockerImageName('nginx:latest'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest`),\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage3', {\n src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'username:password'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest`),\n}).addToPrincipalPolicy(new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: [\n 'secretsmanager:GetSecretValue',\n ],\n resources: ['*'],\n}));","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-ecr-deployment"},"field":{"field":"markdown","line":34}},"didCompile":true,"fqnsReferenced":["aws-cdk-lib.aws_ecr_assets.DockerImageAsset","aws-cdk-lib.aws_ecr_assets.DockerImageAsset#imageUri","aws-cdk-lib.aws_ecr_assets.DockerImageAssetProps","aws-cdk-lib.aws_iam.Effect","aws-cdk-lib.aws_iam.Effect#ALLOW","aws-cdk-lib.aws_iam.PolicyStatement","aws-cdk-lib.aws_iam.PolicyStatementProps","cdk-ecr-deployment.DockerImageName","cdk-ecr-deployment.ECRDeployment","cdk-ecr-deployment.ECRDeployment#addToPrincipalPolicy","cdk-ecr-deployment.ECRDeploymentProps","cdk-ecr-deployment.IImageName"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\nimport { DockerImageAsset } from 'aws-cdk-lib/aws-ecr-assets';\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport * as path from 'node:path';\nimport { Construct } from 'constructs';\n import * as ecrdeploy from 'cdk-ecr-deployment';\nimport {\n Stack,\n aws_iam as iam,\n} from 'aws-cdk-lib';\nimport * as cdk from 'aws-cdk-lib';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nconst image = new DockerImageAsset(this, 'CDKDockerImage', {\n directory: path.join(__dirname, 'docker'),\n});\n\n// Copy from cdk docker image asset to another ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage1', {\n src: new ecrdeploy.DockerImageName(image.imageUri),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest`),\n});\n\n// Copy from docker registry to ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage2', {\n src: new ecrdeploy.DockerImageName('nginx:latest'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest`),\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be plain text! e.g. <username>:<password>\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage3', {\n src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'username:password'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest`),\n}).addToPrincipalPolicy(new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: [\n 'secretsmanager:GetSecretValue',\n ],\n resources: ['*'],\n}));\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"11":11,"16":3,"18":3,"80":51,"110":4,"209":2,"210":5,"211":21,"213":2,"214":11,"228":3,"239":3,"243":1,"244":3,"260":1,"261":1,"272":1,"273":1,"275":1,"276":1,"303":10,"307":1},"fqnsFingerprint":"b2b5036b1bfc508279d58dec7b8bdd00caa0f71123068dc963187960f976dddb"}}}
|
package/lib/index.js
CHANGED
|
@@ -38,7 +38,7 @@ class DockerImageName {
|
|
|
38
38
|
}
|
|
39
39
|
exports.DockerImageName = DockerImageName;
|
|
40
40
|
_a = JSII_RTTI_SYMBOL_1;
|
|
41
|
-
DockerImageName[_a] = { fqn: "cdk-ecr-deployment.DockerImageName", version: "3.1.
|
|
41
|
+
DockerImageName[_a] = { fqn: "cdk-ecr-deployment.DockerImageName", version: "3.1.10" };
|
|
42
42
|
class S3ArchiveName {
|
|
43
43
|
constructor(p, ref, creds) {
|
|
44
44
|
this.creds = creds;
|
|
@@ -51,7 +51,7 @@ class S3ArchiveName {
|
|
|
51
51
|
}
|
|
52
52
|
exports.S3ArchiveName = S3ArchiveName;
|
|
53
53
|
_b = JSII_RTTI_SYMBOL_1;
|
|
54
|
-
S3ArchiveName[_b] = { fqn: "cdk-ecr-deployment.S3ArchiveName", version: "3.1.
|
|
54
|
+
S3ArchiveName[_b] = { fqn: "cdk-ecr-deployment.S3ArchiveName", version: "3.1.10" };
|
|
55
55
|
class ECRDeployment extends constructs_1.Construct {
|
|
56
56
|
constructor(scope, id, props) {
|
|
57
57
|
super(scope, id);
|
|
@@ -141,5 +141,5 @@ class ECRDeployment extends constructs_1.Construct {
|
|
|
141
141
|
}
|
|
142
142
|
exports.ECRDeployment = ECRDeployment;
|
|
143
143
|
_c = JSII_RTTI_SYMBOL_1;
|
|
144
|
-
ECRDeployment[_c] = { fqn: "cdk-ecr-deployment.ECRDeployment", version: "3.1.
|
|
144
|
+
ECRDeployment[_c] = { fqn: "cdk-ecr-deployment.ECRDeployment", version: "3.1.10" };
|
|
145
145
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDO0FBR3RDLCtDQUErQztBQUMvQyw2QkFBNkI7QUFDN0IsNkNBQW9IO0FBRXBILHVEQUF1RDtBQUN2RCwyQ0FBdUM7QUFDdkMscUNBQW1EO0FBbUhuRCxTQUFTLE9BQU8sQ0FBQyxVQUFrQjtJQUNqQyxJQUFJLElBQUEsZ0NBQXVCLEdBQUUsRUFBRTtRQUM3QixJQUFJO1lBQ0YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztZQUNuRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUMzRCxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUV6RSxPQUFPLHdCQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM1QztRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUNyRDtLQUNGO0lBRUQsT0FBTyx3QkFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLEVBQUU7UUFDcEUsU0FBUyxFQUFFO1lBQ1QsVUFBVTtTQUNYO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQWEsZUFBZTtJQUMxQixZQUEyQixJQUFZLEVBQVMsS0FBYztRQUFuQyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUztJQUFJLENBQUM7SUFDbkUsSUFBVyxHQUFH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MkVBQTJFO1FBQzNFLDRDQUE0QztRQUM1QyxJQUFJLFdBQVcsRUFBRTtZQUNmLElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsbUhBQW1ILENBQUMsQ0FBQzthQUN0STtZQUVELElBQUksSUFBSSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQTlGSCxzQ0ErRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cblxuaW1wb3J0ICogYXMgY2hpbGRfcHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBhd3NfZWMyIGFzIGVjMiwgYXdzX2lhbSBhcyBpYW0sIGF3c19sYW1iZGEgYXMgbGFtYmRhLCBEdXJhdGlvbiwgQ3VzdG9tUmVzb3VyY2UsIFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBBZGRUb1ByaW5jaXBhbFBvbGljeVJlc3VsdCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgUnVudGltZUZhbWlseSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBzaG91bGRVc2VQcmVidWlsdExhbWJkYSB9IGZyb20gJy4vY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBFQ1JEZXBsb3ltZW50UHJvcHMge1xuXG4gIC8qKlxuICAgKiBJbWFnZSB0byB1c2UgdG8gYnVpbGQgR29sYW5nIGxhbWJkYSBmb3IgY3VzdG9tIHJlc291cmNlLCBpZiBkb3dubG9hZCBmYWlscyBvciBpcyBub3Qgd2FudGVkLlxuICAgKlxuICAgKiBNaWdodCBiZSBuZWVkZWQgZm9yIGxvY2FsIGJ1aWxkIGlmIGFsbCBpbWFnZXMgbmVlZCB0byBjb21lIGZyb20gb3duIHJlZ2lzdHJ5LlxuICAgKlxuICAgKiBOb3RlIHRoYXQgaW1hZ2Ugc2hvdWxkIHVzZSB5dW0gYXMgYSBwYWNrYWdlIG1hbmFnZXIgYW5kIGhhdmUgZ29sYW5nIGF2YWlsYWJsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBwdWJsaWMuZWNyLmF3cy9zYW0vYnVpbGQtZ28xLng6bGF0ZXN0XG4gICAqL1xuICByZWFkb25seSBidWlsZEltYWdlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHNvdXJjZSBvZiB0aGUgZG9ja2VyIGltYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3JjOiBJSW1hZ2VOYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gb2YgdGhlIGRvY2tlciBpbWFnZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3Q6IElJbWFnZU5hbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZSBhcmNoaXRlY3R1cmUgdG8gYmUgY29waWVkLlxuICAgKlxuICAgKiBUaGUgJ2FtZDY0JyBhcmNoaXRlY3R1cmUgd2lsbCBiZSBjb3BpZWQgYnkgZGVmYXVsdC4gU3BlY2lmeSB0aGVcbiAgICogYXJjaGl0ZWN0dXJlIG9yIGFyY2hpdGVjdHVyZXMgdG8gY29weSBoZXJlLlxuICAgKlxuICAgKiBJdCBpcyBjdXJyZW50bHkgbm90IHBvc3NpYmxlIHRvIGNvcHkgbW9yZSB0aGFuIG9uZSBhcmNoaXRlY3R1cmVcbiAgICogYXQgYSB0aW1lOiB0aGUgYXJyYXkgeW91IHNwZWNpZnkgbXVzdCBjb250YWluIGV4YWN0bHkgb25lIHN0cmluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgWydhbWQ2NCddXG4gICAqL1xuICByZWFkb25seSBpbWFnZUFyY2g/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiBtZW1vcnkgKGluIE1pQikgdG8gYWxsb2NhdGUgdG8gdGhlIEFXUyBMYW1iZGEgZnVuY3Rpb24gd2hpY2hcbiAgICogcmVwbGljYXRlcyB0aGUgZmlsZXMgZnJvbSB0aGUgQ0RLIGJ1Y2tldCB0byB0aGUgZGVzdGluYXRpb24gYnVja2V0LlxuICAgKlxuICAgKiBJZiB5b3UgYXJlIGRlcGxveWluZyBsYXJnZSBmaWxlcywgeW91IHdpbGwgbmVlZCB0byBpbmNyZWFzZSB0aGlzIG51bWJlclxuICAgKiBhY2NvcmRpbmdseS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSA1MTJcbiAgICovXG4gIHJlYWRvbmx5IG1lbW9yeUxpbWl0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBFeGVjdXRpb24gcm9sZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBmdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEEgcm9sZSBpcyBhdXRvbWF0aWNhbGx5IGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgbmV0d29yayB0byBwbGFjZSB0aGUgZGVwbG95bWVudCBsYW1iZGEgaGFuZGxlciBpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcblxuICAvKipcbiAgICogV2hlcmUgaW4gdGhlIFZQQyB0byBwbGFjZSB0aGUgZGVwbG95bWVudCBsYW1iZGEgaGFuZGxlci5cbiAgICogT25seSB1c2VkIGlmICd2cGMnIGlzIHN1cHBsaWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBWcGMgZGVmYXVsdCBzdHJhdGVneSBpZiBub3Qgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc2VjdXJpdHkgZ3JvdXBzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBMYW1iZGEncyBuZXR3b3JrIGludGVyZmFjZXMuXG4gICAqXG4gICAqIE9ubHkgdXNlZCBpZiAndnBjJyBpcyBzdXBwbGllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBJZiB0aGUgZnVuY3Rpb24gaXMgcGxhY2VkIHdpdGhpbiBhIFZQQyBhbmQgYSBzZWN1cml0eSBncm91cCBpc1xuICAgKiBub3Qgc3BlY2lmaWVkLCBlaXRoZXIgYnkgdGhpcyBvciBzZWN1cml0eUdyb3VwIHByb3AsIGEgZGVkaWNhdGVkIHNlY3VyaXR5XG4gICAqIGdyb3VwIHdpbGwgYmUgY3JlYXRlZCBmb3IgdGhpcyBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzPzogZWMyLlNlY3VyaXR5R3JvdXBbXTtcblxuICAvKipcbiAgICogVGhlIGxhbWJkYSBmdW5jdGlvbiBydW50aW1lIGVudmlyb25tZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGxhbWJkYS5SdW50aW1lLlBST1ZJREVEX0FMMjAyM1xuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhUnVudGltZT86IGxhbWJkYS5SdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbGFtYmRhIGhhbmRsZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYm9vdHN0cmFwXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFIYW5kbGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gc2V0XG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUltYWdlTmFtZSB7XG4gIC8qKlxuICAgKiAgVGhlIHVyaSBvZiB0aGUgZG9ja2VyIGltYWdlLlxuICAgKlxuICAgKiAgVGhlIHVyaSBzcGVjIGZvbGxvd3MgaHR0cHM6Ly9naXRodWIuY29tL2NvbnRhaW5lcnMvc2tvcGVvXG4gICAqL1xuICByZWFkb25seSB1cmk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNyZWRlbnRpYWxzIG9mIHRoZSBkb2NrZXIgaW1hZ2UuIEZvcm1hdCBgdXNlcjpwYXNzd29yZGAgb3IgYEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IGFybmAgb3IgYEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IG5hbWVgXG4gICAqL1xuICBjcmVkcz86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Q29kZShidWlsZEltYWdlOiBzdHJpbmcpOiBsYW1iZGEuQXNzZXRDb2RlIHtcbiAgaWYgKHNob3VsZFVzZVByZWJ1aWx0TGFtYmRhKCkpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaW5zdGFsbFNjcmlwdCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9sYW1iZGEvaW5zdGFsbC5qcycpO1xuICAgICAgY29uc3QgcHJlYnVpbHRQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2xhbWJkYS9vdXQnKTtcbiAgICAgIGNoaWxkX3Byb2Nlc3MuZXhlY0ZpbGVTeW5jKHByb2Nlc3MuYXJndjAsIFtpbnN0YWxsU2NyaXB0LCBwcmVidWlsdFBhdGhdKTtcblxuICAgICAgcmV0dXJuIGxhbWJkYS5Db2RlLmZyb21Bc3NldChwcmVidWlsdFBhdGgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS53YXJuKGBDYW4gbm90IGdldCBwcmVidWlsdCBsYW1iZGE6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsYW1iZGEuQ29kZS5mcm9tRG9ja2VyQnVpbGQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2xhbWJkYScpLCB7XG4gICAgYnVpbGRBcmdzOiB7XG4gICAgICBidWlsZEltYWdlLFxuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgY2xhc3MgRG9ja2VySW1hZ2VOYW1lIGltcGxlbWVudHMgSUltYWdlTmFtZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG5hbWU6IHN0cmluZywgcHVibGljIGNyZWRzPzogc3RyaW5nKSB7IH1cbiAgcHVibGljIGdldCB1cmkoKTogc3RyaW5nIHsgcmV0dXJuIGBkb2NrZXI6Ly8ke3RoaXMubmFtZX1gOyB9XG59XG5cbmV4cG9ydCBjbGFzcyBTM0FyY2hpdmVOYW1lIGltcGxlbWVudHMgSUltYWdlTmFtZSB7XG4gIHByaXZhdGUgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgY29uc3RydWN0b3IocDogc3RyaW5nLCByZWY/OiBzdHJpbmcsIHB1YmxpYyBjcmVkcz86IHN0cmluZykge1xuICAgIHRoaXMubmFtZSA9IHA7XG4gICAgaWYgKHJlZikge1xuICAgICAgdGhpcy5uYW1lICs9ICc6JyArIHJlZjtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB1cmkoKTogc3RyaW5nIHsgcmV0dXJuIGBzMzovLyR7dGhpcy5uYW1lfWA7IH1cbn1cblxuZXhwb3J0IGNsYXNzIEVDUkRlcGxveW1lbnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIGhhbmRsZXI6IGxhbWJkYS5TaW5nbGV0b25GdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRUNSRGVwbG95bWVudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBtZW1vcnlMaW1pdCA9IHByb3BzLm1lbW9yeUxpbWl0ID8/IDUxMjtcbiAgICB0aGlzLmhhbmRsZXIgPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKHRoaXMsICdDdXN0b21SZXNvdXJjZUhhbmRsZXInLCB7XG4gICAgICB1dWlkOiB0aGlzLnJlbmRlclNpbmdsZXRvblV1aWQobWVtb3J5TGltaXQpLFxuICAgICAgY29kZTogZ2V0Q29kZShwcm9wcy5idWlsZEltYWdlID8/ICdwdWJsaWMuZWNyLmF3cy9kb2NrZXIvbGlicmFyeS9nb2xhbmc6MScpLFxuICAgICAgcnVudGltZTogcHJvcHMubGFtYmRhUnVudGltZSA/PyBuZXcgbGFtYmRhLlJ1bnRpbWUoJ3Byb3ZpZGVkLmFsMjAyMycsIFJ1bnRpbWVGYW1pbHkuT1RIRVIpLCAvLyBub3QgdXNpbmcgUnVudGltZS5QUk9WSURFRF9BTDIwMjMgdG8gc3VwcG9ydCBvbGRlciBDREsgdmVyc2lvbnMgKDwgMi4xMDUuMClcbiAgICAgIGhhbmRsZXI6IHByb3BzLmxhbWJkYUhhbmRsZXIgPz8gJ2Jvb3RzdHJhcCcsXG4gICAgICBlbnZpcm9ubWVudDogcHJvcHMuZW52aXJvbm1lbnQsXG4gICAgICBsYW1iZGFQdXJwb3NlOiAnQ3VzdG9tOjpDREtFQ1JEZXBsb3ltZW50JyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMTUpLFxuICAgICAgcm9sZTogcHJvcHMucm9sZSxcbiAgICAgIG1lbW9yeVNpemU6IG1lbW9yeUxpbWl0LFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy52cGNTdWJuZXRzLFxuICAgICAgc2VjdXJpdHlHcm91cHM6IHByb3BzLnNlY3VyaXR5R3JvdXBzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlclJvbGUgPSB0aGlzLmhhbmRsZXIucm9sZTtcbiAgICBpZiAoIWhhbmRsZXJSb2xlKSB7IHRocm93IG5ldyBFcnJvcignbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uIHNob3VsZCBoYXZlIGNyZWF0ZWQgYSBSb2xlJyk7IH1cblxuICAgIGhhbmRsZXJSb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAnZWNyOkdldEF1dGhvcml6YXRpb25Ub2tlbicsXG4gICAgICAgICAgJ2VjcjpCYXRjaENoZWNrTGF5ZXJBdmFpbGFiaWxpdHknLFxuICAgICAgICAgICdlY3I6R2V0RG93bmxvYWRVcmxGb3JMYXllcicsXG4gICAgICAgICAgJ2VjcjpHZXRSZXBvc2l0b3J5UG9saWN5JyxcbiAgICAgICAgICAnZWNyOkRlc2NyaWJlUmVwb3NpdG9yaWVzJyxcbiAgICAgICAgICAnZWNyOkxpc3RJbWFnZXMnLFxuICAgICAgICAgICdlY3I6RGVzY3JpYmVJbWFnZXMnLFxuICAgICAgICAgICdlY3I6QmF0Y2hHZXRJbWFnZScsXG4gICAgICAgICAgJ2VjcjpMaXN0VGFnc0ZvclJlc291cmNlJyxcbiAgICAgICAgICAnZWNyOkRlc2NyaWJlSW1hZ2VTY2FuRmluZGluZ3MnLFxuICAgICAgICAgICdlY3I6SW5pdGlhdGVMYXllclVwbG9hZCcsXG4gICAgICAgICAgJ2VjcjpVcGxvYWRMYXllclBhcnQnLFxuICAgICAgICAgICdlY3I6Q29tcGxldGVMYXllclVwbG9hZCcsXG4gICAgICAgICAgJ2VjcjpQdXRJbWFnZScsXG4gICAgICAgIF0sXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICB9KSk7XG4gICAgaGFuZGxlclJvbGUuYWRkVG9QcmluY2lwYWxQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnczM6R2V0T2JqZWN0JyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcblxuICAgIGlmIChwcm9wcy5pbWFnZUFyY2ggJiYgcHJvcHMuaW1hZ2VBcmNoLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbWFnZUFyY2ggbXVzdCBjb250YWluIGV4YWN0bHkgMSBlbGVtZW50LCBnb3QgJHtKU09OLnN0cmluZ2lmeShwcm9wcy5pbWFnZUFyY2gpfWApO1xuICAgIH1cbiAgICBjb25zdCBpbWFnZUFyY2ggPSBwcm9wcy5pbWFnZUFyY2ggPyBwcm9wcy5pbWFnZUFyY2hbMF0gOiAnJztcblxuICAgIG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCAnQ3VzdG9tUmVzb3VyY2UnLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHRoaXMuaGFuZGxlci5mdW5jdGlvbkFybixcbiAgICAgIC8vIFRoaXMgaGFzIGJlZW4gY29weS9wYXN0ZWQgYW5kIGlzIGEgcHVyZSBsaWUsIGJ1dCBjaGFuZ2luZyBpdCBpcyBnb2luZyB0byBjaGFuZ2UgcGVvcGxlJ3MgaW5mcmEhISBYKFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpDREtCdWNrZXREZXBsb3ltZW50JyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgU3JjSW1hZ2U6IHByb3BzLnNyYy51cmksXG4gICAgICAgIFNyY0NyZWRzOiBwcm9wcy5zcmMuY3JlZHMsXG4gICAgICAgIERlc3RJbWFnZTogcHJvcHMuZGVzdC51cmksXG4gICAgICAgIERlc3RDcmVkczogcHJvcHMuZGVzdC5jcmVkcyxcbiAgICAgICAgLi4uaW1hZ2VBcmNoID8geyBJbWFnZUFyY2g6IGltYWdlQXJjaCB9IDoge30sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRvUHJpbmNpcGFsUG9saWN5KHN0YXRlbWVudDogUG9saWN5U3RhdGVtZW50KTogQWRkVG9QcmluY2lwYWxQb2xpY3lSZXN1bHQge1xuICAgIGNvbnN0IGhhbmRsZXJSb2xlID0gdGhpcy5oYW5kbGVyLnJvbGU7XG4gICAgaWYgKCFoYW5kbGVyUm9sZSkgeyB0aHJvdyBuZXcgRXJyb3IoJ2xhbWJkYS5TaW5nbGV0b25GdW5jdGlvbiBzaG91bGQgaGF2ZSBjcmVhdGVkIGEgUm9sZScpOyB9XG5cbiAgICByZXR1cm4gaGFuZGxlclJvbGUuYWRkVG9QcmluY2lwYWxQb2xpY3koc3RhdGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyU2luZ2xldG9uVXVpZChtZW1vcnlMaW1pdD86IG51bWJlcikge1xuICAgIGxldCB1dWlkID0gJ2JkMDdjOTMwLWVkYjktNDExMi1hMjBmLTAzZjA5NmY1MzY2Nic7XG5cbiAgICAvLyBpZiB1c2VyIHNwZWNpZnkgYSBjdXN0b20gbWVtb3J5IGxpbWl0LCBkZWZpbmUgYW5vdGhlciBzaW5nbGV0b24gaGFuZGxlclxuICAgIC8vIHdpdGggdGhpcyBjb25maWd1cmF0aW9uLiBvdGhlcndpc2UsIGl0IHdvbid0IGJlIHBvc3NpYmxlIHRvIHVzZSBtdWx0aXBsZVxuICAgIC8vIGNvbmZpZ3VyYXRpb25zIHNpbmNlIHdlIGhhdmUgYSBzaW5nbGV0b24uXG4gICAgaWYgKG1lbW9yeUxpbWl0KSB7XG4gICAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKG1lbW9yeUxpbWl0KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhblxcJ3QgdXNlIHRva2VucyB3aGVuIHNwZWNpZnlpbmcgXCJtZW1vcnlMaW1pdFwiIHNpbmNlIHdlIHVzZSBpdCB0byBpZGVudGlmeSB0aGUgc2luZ2xldG9uIGN1c3RvbSByZXNvdXJjZSBoYW5kbGVyJyk7XG4gICAgICB9XG5cbiAgICAgIHV1aWQgKz0gYC0ke21lbW9yeUxpbWl0LnRvU3RyaW5nKCl9TWlCYDtcbiAgICB9XG5cbiAgICByZXR1cm4gdXVpZDtcbiAgfVxufVxuIl19
|
|
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
|
|
|
8
8
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
|
9
9
|
|
|
10
10
|
### Additional Details
|
|
11
|
-
* Last updated:
|
|
11
|
+
* Last updated: Sat, 01 Mar 2025 06:37:25 GMT
|
|
12
12
|
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
|
13
13
|
|
|
14
14
|
# Credits
|
|
@@ -956,6 +956,59 @@ declare module "assert" {
|
|
|
956
956
|
* @since v13.6.0, v12.16.0
|
|
957
957
|
*/
|
|
958
958
|
function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void;
|
|
959
|
+
/**
|
|
960
|
+
* `assert.partialDeepStrictEqual()` Asserts the equivalence between the `actual` and `expected` parameters through a
|
|
961
|
+
* deep comparison, ensuring that all properties in the `expected` parameter are
|
|
962
|
+
* present in the `actual` parameter with equivalent values, not allowing type coercion.
|
|
963
|
+
* The main difference with `assert.deepStrictEqual()` is that `assert.partialDeepStrictEqual()` does not require
|
|
964
|
+
* all properties in the `actual` parameter to be present in the `expected` parameter.
|
|
965
|
+
* This method should always pass the same test cases as `assert.deepStrictEqual()`, behaving as a super set of it.
|
|
966
|
+
*
|
|
967
|
+
* ```js
|
|
968
|
+
* import assert from 'node:assert';
|
|
969
|
+
*
|
|
970
|
+
* assert.partialDeepStrictEqual({ a: 1, b: 2 }, { a: 1, b: 2 });
|
|
971
|
+
* // OK
|
|
972
|
+
*
|
|
973
|
+
* assert.partialDeepStrictEqual({ a: { b: { c: 1 } } }, { a: { b: { c: 1 } } });
|
|
974
|
+
* // OK
|
|
975
|
+
*
|
|
976
|
+
* assert.partialDeepStrictEqual({ a: 1, b: 2, c: 3 }, { a: 1, b: 2 });
|
|
977
|
+
* // OK
|
|
978
|
+
*
|
|
979
|
+
* assert.partialDeepStrictEqual(new Set(['value1', 'value2']), new Set(['value1', 'value2']));
|
|
980
|
+
* // OK
|
|
981
|
+
*
|
|
982
|
+
* assert.partialDeepStrictEqual(new Map([['key1', 'value1']]), new Map([['key1', 'value1']]));
|
|
983
|
+
* // OK
|
|
984
|
+
*
|
|
985
|
+
* assert.partialDeepStrictEqual(new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 3]));
|
|
986
|
+
* // OK
|
|
987
|
+
*
|
|
988
|
+
* assert.partialDeepStrictEqual(/abc/, /abc/);
|
|
989
|
+
* // OK
|
|
990
|
+
*
|
|
991
|
+
* assert.partialDeepStrictEqual([{ a: 5 }, { b: 5 }], [{ a: 5 }]);
|
|
992
|
+
* // OK
|
|
993
|
+
*
|
|
994
|
+
* assert.partialDeepStrictEqual(new Set([{ a: 1 }, { b: 1 }]), new Set([{ a: 1 }]));
|
|
995
|
+
* // OK
|
|
996
|
+
*
|
|
997
|
+
* assert.partialDeepStrictEqual(new Date(0), new Date(0));
|
|
998
|
+
* // OK
|
|
999
|
+
*
|
|
1000
|
+
* assert.partialDeepStrictEqual({ a: 1 }, { a: 1, b: 2 });
|
|
1001
|
+
* // AssertionError
|
|
1002
|
+
*
|
|
1003
|
+
* assert.partialDeepStrictEqual({ a: 1, b: '2' }, { a: 1, b: 2 });
|
|
1004
|
+
* // AssertionError
|
|
1005
|
+
*
|
|
1006
|
+
* assert.partialDeepStrictEqual({ a: { b: 2 } }, { a: { b: '2' } });
|
|
1007
|
+
* // AssertionError
|
|
1008
|
+
* ```
|
|
1009
|
+
* @since v22.13.0
|
|
1010
|
+
*/
|
|
1011
|
+
function partialDeepStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
|
959
1012
|
/**
|
|
960
1013
|
* In strict assertion mode, non-strict methods behave like their corresponding strict methods. For example,
|
|
961
1014
|
* {@link deepEqual} will behave like {@link deepStrictEqual}.
|
|
@@ -1015,6 +1068,7 @@ declare module "assert" {
|
|
|
1015
1068
|
| "deepStrictEqual"
|
|
1016
1069
|
| "ifError"
|
|
1017
1070
|
| "strict"
|
|
1071
|
+
| "AssertionError"
|
|
1018
1072
|
>
|
|
1019
1073
|
& {
|
|
1020
1074
|
(value: unknown, message?: string | Error): asserts value;
|
|
@@ -1030,6 +1084,7 @@ declare module "assert" {
|
|
|
1030
1084
|
deepStrictEqual: typeof deepStrictEqual;
|
|
1031
1085
|
ifError: typeof ifError;
|
|
1032
1086
|
strict: typeof strict;
|
|
1087
|
+
AssertionError: typeof AssertionError;
|
|
1033
1088
|
};
|
|
1034
1089
|
}
|
|
1035
1090
|
export = assert;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
declare module "buffer" {
|
|
2
|
+
type ImplicitArrayBuffer<T extends WithImplicitCoercion<ArrayBufferLike>> = T extends
|
|
3
|
+
{ valueOf(): infer V extends ArrayBufferLike } ? V : T;
|
|
2
4
|
global {
|
|
3
5
|
interface BufferConstructor {
|
|
4
6
|
// see buffer.d.ts for implementation shared with all TypeScript versions
|
|
@@ -24,7 +26,7 @@ declare module "buffer" {
|
|
|
24
26
|
* @param array The octets to store.
|
|
25
27
|
* @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.
|
|
26
28
|
*/
|
|
27
|
-
new(array:
|
|
29
|
+
new(array: ArrayLike<number>): Buffer<ArrayBuffer>;
|
|
28
30
|
/**
|
|
29
31
|
* Produces a Buffer backed by the same allocated memory as
|
|
30
32
|
* the given {ArrayBuffer}/{SharedArrayBuffer}.
|
|
@@ -33,20 +35,6 @@ declare module "buffer" {
|
|
|
33
35
|
* @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead.
|
|
34
36
|
*/
|
|
35
37
|
new<TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(arrayBuffer: TArrayBuffer): Buffer<TArrayBuffer>;
|
|
36
|
-
/**
|
|
37
|
-
* Allocates a new buffer containing the given {array} of octets.
|
|
38
|
-
*
|
|
39
|
-
* @param array The octets to store.
|
|
40
|
-
* @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.
|
|
41
|
-
*/
|
|
42
|
-
new(array: readonly any[]): Buffer<ArrayBuffer>;
|
|
43
|
-
/**
|
|
44
|
-
* Copies the passed {buffer} data onto a new {Buffer} instance.
|
|
45
|
-
*
|
|
46
|
-
* @param buffer The buffer to copy.
|
|
47
|
-
* @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead.
|
|
48
|
-
*/
|
|
49
|
-
new(buffer: Buffer): Buffer<ArrayBuffer>;
|
|
50
38
|
/**
|
|
51
39
|
* Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`.
|
|
52
40
|
* Array entries outside that range will be truncated to fit into it.
|
|
@@ -58,40 +46,120 @@ declare module "buffer" {
|
|
|
58
46
|
* const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
|
|
59
47
|
* ```
|
|
60
48
|
*
|
|
61
|
-
* If `array` is an `Array
|
|
49
|
+
* If `array` is an `Array`-like object (that is, one with a `length` property of
|
|
62
50
|
* type `number`), it is treated as if it is an array, unless it is a `Buffer` or
|
|
63
|
-
* a `Uint8Array`. This means all other `TypedArray` variants get treated as an
|
|
51
|
+
* a `Uint8Array`. This means all other `TypedArray` variants get treated as an
|
|
52
|
+
* `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use
|
|
53
|
+
* `Buffer.copyBytesFrom()`.
|
|
64
54
|
*
|
|
65
55
|
* A `TypeError` will be thrown if `array` is not an `Array` or another type
|
|
66
56
|
* appropriate for `Buffer.from()` variants.
|
|
67
57
|
*
|
|
68
|
-
* `Buffer.from(array)` and `Buffer.from(string)` may also use the internal
|
|
58
|
+
* `Buffer.from(array)` and `Buffer.from(string)` may also use the internal
|
|
59
|
+
* `Buffer` pool like `Buffer.allocUnsafe()` does.
|
|
69
60
|
* @since v5.10.0
|
|
70
61
|
*/
|
|
71
|
-
from<
|
|
72
|
-
arrayBuffer: WithImplicitCoercion<TArrayBuffer>,
|
|
73
|
-
byteOffset?: number,
|
|
74
|
-
length?: number,
|
|
75
|
-
): Buffer<TArrayBuffer>;
|
|
62
|
+
from(array: WithImplicitCoercion<ArrayLike<number>>): Buffer<ArrayBuffer>;
|
|
76
63
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
64
|
+
* This creates a view of the `ArrayBuffer` without copying the underlying
|
|
65
|
+
* memory. For example, when passed a reference to the `.buffer` property of a
|
|
66
|
+
* `TypedArray` instance, the newly created `Buffer` will share the same
|
|
67
|
+
* allocated memory as the `TypedArray`'s underlying `ArrayBuffer`.
|
|
68
|
+
*
|
|
69
|
+
* ```js
|
|
70
|
+
* import { Buffer } from 'node:buffer';
|
|
71
|
+
*
|
|
72
|
+
* const arr = new Uint16Array(2);
|
|
73
|
+
*
|
|
74
|
+
* arr[0] = 5000;
|
|
75
|
+
* arr[1] = 4000;
|
|
76
|
+
*
|
|
77
|
+
* // Shares memory with `arr`.
|
|
78
|
+
* const buf = Buffer.from(arr.buffer);
|
|
79
|
+
*
|
|
80
|
+
* console.log(buf);
|
|
81
|
+
* // Prints: <Buffer 88 13 a0 0f>
|
|
82
|
+
*
|
|
83
|
+
* // Changing the original Uint16Array changes the Buffer also.
|
|
84
|
+
* arr[1] = 6000;
|
|
85
|
+
*
|
|
86
|
+
* console.log(buf);
|
|
87
|
+
* // Prints: <Buffer 88 13 70 17>
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* The optional `byteOffset` and `length` arguments specify a memory range within
|
|
91
|
+
* the `arrayBuffer` that will be shared by the `Buffer`.
|
|
92
|
+
*
|
|
93
|
+
* ```js
|
|
94
|
+
* import { Buffer } from 'node:buffer';
|
|
95
|
+
*
|
|
96
|
+
* const ab = new ArrayBuffer(10);
|
|
97
|
+
* const buf = Buffer.from(ab, 0, 2);
|
|
98
|
+
*
|
|
99
|
+
* console.log(buf.length);
|
|
100
|
+
* // Prints: 2
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer` or a
|
|
104
|
+
* `SharedArrayBuffer` or another type appropriate for `Buffer.from()`
|
|
105
|
+
* variants.
|
|
106
|
+
*
|
|
107
|
+
* It is important to remember that a backing `ArrayBuffer` can cover a range
|
|
108
|
+
* of memory that extends beyond the bounds of a `TypedArray` view. A new
|
|
109
|
+
* `Buffer` created using the `buffer` property of a `TypedArray` may extend
|
|
110
|
+
* beyond the range of the `TypedArray`:
|
|
111
|
+
*
|
|
112
|
+
* ```js
|
|
113
|
+
* import { Buffer } from 'node:buffer';
|
|
114
|
+
*
|
|
115
|
+
* const arrA = Uint8Array.from([0x63, 0x64, 0x65, 0x66]); // 4 elements
|
|
116
|
+
* const arrB = new Uint8Array(arrA.buffer, 1, 2); // 2 elements
|
|
117
|
+
* console.log(arrA.buffer === arrB.buffer); // true
|
|
118
|
+
*
|
|
119
|
+
* const buf = Buffer.from(arrB.buffer);
|
|
120
|
+
* console.log(buf);
|
|
121
|
+
* // Prints: <Buffer 63 64 65 66>
|
|
122
|
+
* ```
|
|
123
|
+
* @since v5.10.0
|
|
124
|
+
* @param arrayBuffer An `ArrayBuffer`, `SharedArrayBuffer`, for example the
|
|
125
|
+
* `.buffer` property of a `TypedArray`.
|
|
126
|
+
* @param byteOffset Index of first byte to expose. **Default:** `0`.
|
|
127
|
+
* @param length Number of bytes to expose. **Default:**
|
|
128
|
+
* `arrayBuffer.byteLength - byteOffset`.
|
|
79
129
|
*/
|
|
80
|
-
from
|
|
81
|
-
|
|
130
|
+
from<TArrayBuffer extends WithImplicitCoercion<ArrayBufferLike>>(
|
|
131
|
+
arrayBuffer: TArrayBuffer,
|
|
132
|
+
byteOffset?: number,
|
|
133
|
+
length?: number,
|
|
134
|
+
): Buffer<ImplicitArrayBuffer<TArrayBuffer>>;
|
|
82
135
|
/**
|
|
83
|
-
* Creates a new Buffer containing
|
|
84
|
-
*
|
|
85
|
-
*
|
|
136
|
+
* Creates a new `Buffer` containing `string`. The `encoding` parameter identifies
|
|
137
|
+
* the character encoding to be used when converting `string` into bytes.
|
|
138
|
+
*
|
|
139
|
+
* ```js
|
|
140
|
+
* import { Buffer } from 'node:buffer';
|
|
141
|
+
*
|
|
142
|
+
* const buf1 = Buffer.from('this is a tést');
|
|
143
|
+
* const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
|
|
144
|
+
*
|
|
145
|
+
* console.log(buf1.toString());
|
|
146
|
+
* // Prints: this is a tést
|
|
147
|
+
* console.log(buf2.toString());
|
|
148
|
+
* // Prints: this is a tést
|
|
149
|
+
* console.log(buf1.toString('latin1'));
|
|
150
|
+
* // Prints: this is a tést
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* A `TypeError` will be thrown if `string` is not a string or another type
|
|
154
|
+
* appropriate for `Buffer.from()` variants.
|
|
155
|
+
*
|
|
156
|
+
* `Buffer.from(string)` may also use the internal `Buffer` pool like
|
|
157
|
+
* `Buffer.allocUnsafe()` does.
|
|
158
|
+
* @since v5.10.0
|
|
159
|
+
* @param string A string to encode.
|
|
160
|
+
* @param encoding The encoding of `string`. **Default:** `'utf8'`.
|
|
86
161
|
*/
|
|
87
|
-
from(
|
|
88
|
-
str:
|
|
89
|
-
| WithImplicitCoercion<string>
|
|
90
|
-
| {
|
|
91
|
-
[Symbol.toPrimitive](hint: "string"): string;
|
|
92
|
-
},
|
|
93
|
-
encoding?: BufferEncoding,
|
|
94
|
-
): Buffer<ArrayBuffer>;
|
|
162
|
+
from(string: WithImplicitCoercion<string>, encoding?: BufferEncoding): Buffer<ArrayBuffer>;
|
|
95
163
|
/**
|
|
96
164
|
* Creates a new Buffer using the passed {data}
|
|
97
165
|
* @param values to create a new Buffer
|
|
@@ -107,7 +175,8 @@ declare module "buffer" {
|
|
|
107
175
|
*
|
|
108
176
|
* If `totalLength` is provided, it is coerced to an unsigned integer. If the
|
|
109
177
|
* combined length of the `Buffer`s in `list` exceeds `totalLength`, the result is
|
|
110
|
-
* truncated to `totalLength`.
|
|
178
|
+
* truncated to `totalLength`. If the combined length of the `Buffer`s in `list` is
|
|
179
|
+
* less than `totalLength`, the remaining space is filled with zeros.
|
|
111
180
|
*
|
|
112
181
|
* ```js
|
|
113
182
|
* import { Buffer } from 'node:buffer';
|
|
@@ -382,4 +451,10 @@ declare module "buffer" {
|
|
|
382
451
|
subarray(start?: number, end?: number): Buffer<TArrayBuffer>;
|
|
383
452
|
}
|
|
384
453
|
}
|
|
454
|
+
/** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
|
|
455
|
+
var SlowBuffer: {
|
|
456
|
+
/** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
|
|
457
|
+
new(size: number): Buffer<ArrayBuffer>;
|
|
458
|
+
prototype: Buffer;
|
|
459
|
+
};
|
|
385
460
|
}
|
|
@@ -114,11 +114,6 @@ declare module "buffer" {
|
|
|
114
114
|
* @param toEnc To target encoding.
|
|
115
115
|
*/
|
|
116
116
|
export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer;
|
|
117
|
-
export const SlowBuffer: {
|
|
118
|
-
/** @deprecated since v6.0.0, use `Buffer.allocUnsafeSlow()` */
|
|
119
|
-
new(size: number): Buffer;
|
|
120
|
-
prototype: Buffer;
|
|
121
|
-
};
|
|
122
117
|
/**
|
|
123
118
|
* Resolves a `'blob:nodedata:...'` an associated `Blob` object registered using
|
|
124
119
|
* a prior call to `URL.createObjectURL()`.
|
|
@@ -237,7 +232,10 @@ declare module "buffer" {
|
|
|
237
232
|
}
|
|
238
233
|
export import atob = globalThis.atob;
|
|
239
234
|
export import btoa = globalThis.btoa;
|
|
240
|
-
|
|
235
|
+
export type WithImplicitCoercion<T> =
|
|
236
|
+
| T
|
|
237
|
+
| { valueOf(): T }
|
|
238
|
+
| (T extends string ? { [Symbol.toPrimitive](hint: "string"): T } : never);
|
|
241
239
|
global {
|
|
242
240
|
namespace NodeJS {
|
|
243
241
|
export { BufferEncoding };
|
|
@@ -256,11 +254,6 @@ declare module "buffer" {
|
|
|
256
254
|
| "latin1"
|
|
257
255
|
| "binary"
|
|
258
256
|
| "hex";
|
|
259
|
-
type WithImplicitCoercion<T> =
|
|
260
|
-
| T
|
|
261
|
-
| {
|
|
262
|
-
valueOf(): T;
|
|
263
|
-
};
|
|
264
257
|
/**
|
|
265
258
|
* Raw data is stored in instances of the Buffer class.
|
|
266
259
|
* A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized.
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* @see [source](https://github.com/nodejs/node/blob/v22.x/lib/dgram.js)
|
|
27
27
|
*/
|
|
28
28
|
declare module "dgram" {
|
|
29
|
-
import { AddressInfo } from "node:net";
|
|
29
|
+
import { AddressInfo, BlockList } from "node:net";
|
|
30
30
|
import * as dns from "node:dns";
|
|
31
31
|
import { Abortable, EventEmitter } from "node:events";
|
|
32
32
|
interface RemoteInfo {
|
|
@@ -59,6 +59,8 @@ declare module "dgram" {
|
|
|
59
59
|
callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,
|
|
60
60
|
) => void)
|
|
61
61
|
| undefined;
|
|
62
|
+
receiveBlockList?: BlockList | undefined;
|
|
63
|
+
sendBlockList?: BlockList | undefined;
|
|
62
64
|
}
|
|
63
65
|
/**
|
|
64
66
|
* Creates a `dgram.Socket` object. Once the socket is created, calling `socket.bind()` will instruct the socket to begin listening for datagram
|
|
@@ -112,7 +112,7 @@ declare module "fs/promises" {
|
|
|
112
112
|
appendFile(
|
|
113
113
|
data: string | Uint8Array,
|
|
114
114
|
options?:
|
|
115
|
-
| (ObjectEncodingOptions &
|
|
115
|
+
| (ObjectEncodingOptions & Abortable)
|
|
116
116
|
| BufferEncoding
|
|
117
117
|
| null,
|
|
118
118
|
): Promise<void>;
|
|
@@ -402,7 +402,7 @@ declare module "fs/promises" {
|
|
|
402
402
|
writeFile(
|
|
403
403
|
data: string | Uint8Array,
|
|
404
404
|
options?:
|
|
405
|
-
| (ObjectEncodingOptions &
|
|
405
|
+
| (ObjectEncodingOptions & Abortable)
|
|
406
406
|
| BufferEncoding
|
|
407
407
|
| null,
|
|
408
408
|
): Promise<void>;
|
|
@@ -223,6 +223,7 @@ declare module "http" {
|
|
|
223
223
|
path?: string | null | undefined;
|
|
224
224
|
port?: number | string | null | undefined;
|
|
225
225
|
protocol?: string | null | undefined;
|
|
226
|
+
setDefaultHeaders?: boolean | undefined;
|
|
226
227
|
setHost?: boolean | undefined;
|
|
227
228
|
signal?: AbortSignal | undefined;
|
|
228
229
|
socketPath?: string | undefined;
|
|
@@ -127,6 +127,13 @@ declare module "module" {
|
|
|
127
127
|
* directory if it is enabled, or `undefined` otherwise.
|
|
128
128
|
*/
|
|
129
129
|
function getCompileCacheDir(): string | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* @since v23.2.0, v22.14.0
|
|
132
|
+
*/
|
|
133
|
+
function findPackageJSON(
|
|
134
|
+
specifier: string | URL,
|
|
135
|
+
base?: string | URL,
|
|
136
|
+
): undefined | string;
|
|
130
137
|
/**
|
|
131
138
|
* @since v18.6.0, v16.17.0
|
|
132
139
|
*/
|
|
@@ -168,6 +175,80 @@ declare module "module" {
|
|
|
168
175
|
options?: RegisterOptions<Data>,
|
|
169
176
|
): void;
|
|
170
177
|
function register<Data = any>(specifier: string | URL, options?: RegisterOptions<Data>): void;
|
|
178
|
+
interface StripTypeScriptTypesOptions {
|
|
179
|
+
/**
|
|
180
|
+
* Possible values are:
|
|
181
|
+
* * `'strip'` Only strip type annotations without performing the transformation of TypeScript features.
|
|
182
|
+
* * `'transform'` Strip type annotations and transform TypeScript features to JavaScript.
|
|
183
|
+
* @default 'strip'
|
|
184
|
+
*/
|
|
185
|
+
mode?: "strip" | "transform" | undefined;
|
|
186
|
+
/**
|
|
187
|
+
* Only when `mode` is `'transform'`, if `true`, a source map
|
|
188
|
+
* will be generated for the transformed code.
|
|
189
|
+
* @default false
|
|
190
|
+
*/
|
|
191
|
+
sourceMap?: boolean | undefined;
|
|
192
|
+
/**
|
|
193
|
+
* Specifies the source url used in the source map.
|
|
194
|
+
*/
|
|
195
|
+
sourceUrl?: string | undefined;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* `module.stripTypeScriptTypes()` removes type annotations from TypeScript code. It
|
|
199
|
+
* can be used to strip type annotations from TypeScript code before running it
|
|
200
|
+
* with `vm.runInContext()` or `vm.compileFunction()`.
|
|
201
|
+
* By default, it will throw an error if the code contains TypeScript features
|
|
202
|
+
* that require transformation such as `Enums`,
|
|
203
|
+
* see [type-stripping](https://nodejs.org/docs/latest-v22.x/api/typescript.md#type-stripping) for more information.
|
|
204
|
+
* When mode is `'transform'`, it also transforms TypeScript features to JavaScript,
|
|
205
|
+
* see [transform TypeScript features](https://nodejs.org/docs/latest-v22.x/api/typescript.md#typescript-features) for more information.
|
|
206
|
+
* When mode is `'strip'`, source maps are not generated, because locations are preserved.
|
|
207
|
+
* If `sourceMap` is provided, when mode is `'strip'`, an error will be thrown.
|
|
208
|
+
*
|
|
209
|
+
* _WARNING_: The output of this function should not be considered stable across Node.js versions,
|
|
210
|
+
* due to changes in the TypeScript parser.
|
|
211
|
+
*
|
|
212
|
+
* ```js
|
|
213
|
+
* import { stripTypeScriptTypes } from 'node:module';
|
|
214
|
+
* const code = 'const a: number = 1;';
|
|
215
|
+
* const strippedCode = stripTypeScriptTypes(code);
|
|
216
|
+
* console.log(strippedCode);
|
|
217
|
+
* // Prints: const a = 1;
|
|
218
|
+
* ```
|
|
219
|
+
*
|
|
220
|
+
* If `sourceUrl` is provided, it will be used appended as a comment at the end of the output:
|
|
221
|
+
*
|
|
222
|
+
* ```js
|
|
223
|
+
* import { stripTypeScriptTypes } from 'node:module';
|
|
224
|
+
* const code = 'const a: number = 1;';
|
|
225
|
+
* const strippedCode = stripTypeScriptTypes(code, { mode: 'strip', sourceUrl: 'source.ts' });
|
|
226
|
+
* console.log(strippedCode);
|
|
227
|
+
* // Prints: const a = 1\n\n//# sourceURL=source.ts;
|
|
228
|
+
* ```
|
|
229
|
+
*
|
|
230
|
+
* When `mode` is `'transform'`, the code is transformed to JavaScript:
|
|
231
|
+
*
|
|
232
|
+
* ```js
|
|
233
|
+
* import { stripTypeScriptTypes } from 'node:module';
|
|
234
|
+
* const code = `
|
|
235
|
+
* namespace MathUtil {
|
|
236
|
+
* export const add = (a: number, b: number) => a + b;
|
|
237
|
+
* }`;
|
|
238
|
+
* const strippedCode = stripTypeScriptTypes(code, { mode: 'transform', sourceMap: true });
|
|
239
|
+
* console.log(strippedCode);
|
|
240
|
+
* // Prints:
|
|
241
|
+
* // var MathUtil;
|
|
242
|
+
* // (function(MathUtil) {
|
|
243
|
+
* // MathUtil.add = (a, b)=>a + b;
|
|
244
|
+
* // })(MathUtil || (MathUtil = {}));
|
|
245
|
+
* // # sourceMappingURL=data:application/json;base64, ...
|
|
246
|
+
* ```
|
|
247
|
+
* @since v22.13.0
|
|
248
|
+
* @param code The code to strip type annotations from.
|
|
249
|
+
* @returns The code with type annotations stripped.
|
|
250
|
+
*/
|
|
251
|
+
function stripTypeScriptTypes(code: string, options?: StripTypeScriptTypesOptions): string;
|
|
171
252
|
/* eslint-enable @definitelytyped/no-unnecessary-generics */
|
|
172
253
|
/**
|
|
173
254
|
* The `module.syncBuiltinESMExports()` method updates all the live bindings for
|