@cdklabs/cdk-ecs-codedeploy 0.0.438 → 0.0.440
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 +3 -3
- package/lib/api-canary/index.js +1 -1
- package/lib/ecs-appspec/index.js +1 -1
- package/lib/ecs-deployment/index.js +1 -1
- package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
- package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/bdd.js +49 -0
- package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/endpointResolver.js +2 -2
- package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/bdd.js +46 -0
- package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/endpointResolver.js +3 -3
- package/node_modules/@aws-sdk/client-codedeploy/dist-es/waiters/waitForDeploymentSuccessful.js +1 -1
- package/node_modules/@aws-sdk/client-codedeploy/dist-types/CodeDeploy.d.ts +1 -1
- package/node_modules/@aws-sdk/client-codedeploy/dist-types/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/CodeDeploy.d.ts +1 -1
- package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/waiters/waitForDeploymentSuccessful.d.ts +9 -3
- package/node_modules/@aws-sdk/client-codedeploy/dist-types/waiters/waitForDeploymentSuccessful.d.ts +4 -3
- package/node_modules/@aws-sdk/client-codedeploy/package.json +19 -19
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +35 -17
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +18 -6
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +18 -11
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js +15 -6
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js +2 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js +6 -4
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js +6 -3
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/experimental/SinglePassJsonShapeSerializer.js +2 -1
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js +2 -1
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +0 -1
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js +4 -2
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/emitWarningIfUnsupportedVersion.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/setFeature.d.ts +1 -1
- package/node_modules/@aws-sdk/core/package.json +7 -5
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-sdk-s3/LICENSE +201 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/README.md +4 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +581 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/toStream.browser.js +11 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/toStream.js +7 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/bucket-endpoint-middleware.js +36 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/check-content-length-header.js +32 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/index.js +9 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/protocol/S3RestXmlProtocol.js +25 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-endpoint-middleware.js +41 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-middleware.js +42 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-expires-middleware.js +33 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCache.js +39 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCacheEntry.js +14 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityProviderImpl.js +49 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/SignatureV4S3Express.js +41 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/constants.js +13 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressHttpSigningMiddleware.js +38 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressMiddleware.js +41 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/signS3Express.js +7 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/index.js +7 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/interfaces/S3ExpressIdentity.js +1 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/interfaces/S3ExpressIdentityProvider.js +1 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3Configuration.js +17 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/throw-200-exceptions.js +51 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/toStream.browser.js +8 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/toStream.js +4 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/validate-bucket-name.js +25 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/bucket-endpoint-middleware.d.ts +13 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/check-content-length-header.d.ts +16 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/index.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/protocol/S3RestXmlProtocol.d.ts +20 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-endpoint-middleware.d.ts +10 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-middleware.d.ts +20 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-expires-middleware.d.ts +26 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityCache.d.ts +16 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityCacheEntry.d.ts +16 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityProviderImpl.d.ts +32 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/SignatureV4S3Express.d.ts +17 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/constants.d.ts +37 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +27 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressMiddleware.d.ts +32 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/signS3Express.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/index.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/S3ExpressIdentity.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/S3ExpressIdentityProvider.d.ts +12 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3Configuration.d.ts +79 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/throw-200-exceptions.d.ts +21 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/toStream.browser.d.ts +4 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/toStream.d.ts +5 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/bucket-endpoint-middleware.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/check-content-length-header.d.ts +13 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/index.d.ts +9 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/protocol/S3RestXmlProtocol.d.ts +15 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/region-redirect-endpoint-middleware.d.ts +6 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/region-redirect-middleware.d.ts +17 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-expires-middleware.d.ts +14 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityCache.d.ts +14 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityCacheEntry.d.ts +12 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityProviderImpl.d.ts +31 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/SignatureV4S3Express.d.ts +19 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/constants.d.ts +11 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +40 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressMiddleware.d.ts +27 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/signS3Express.d.ts +21 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/index.d.ts +17 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/interfaces/S3ExpressIdentity.d.ts +2 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/interfaces/S3ExpressIdentityProvider.d.ts +8 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3Configuration.d.ts +33 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/throw-200-exceptions.d.ts +19 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/toStream.browser.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/toStream.d.ts +2 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/validate-bucket-name.d.ts +13 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/validate-bucket-name.d.ts +14 -0
- package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +79 -0
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +5 -5
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/bdd.js +100 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/endpointResolver.js +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/bdd.js +90 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/endpointResolver.js +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/bdd.js +80 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/endpointResolver.js +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/bdd.js +80 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/endpointResolver.js +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/STSClient.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/auth/httpAuthSchemeProvider.js +87 -5
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/bdd.js +150 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/endpointResolver.js +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/models/errors.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.js +6 -0
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.shared.js +7 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/bdd.js +97 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/endpointResolver.js +3 -3
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js +87 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +3 -3
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/bdd.js +77 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js +3 -3
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/bdd.js +77 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js +3 -3
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js +88 -4
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/bdd.js +147 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js +3 -3
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +7 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js +8 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/auth/httpAuthSchemeProvider.d.ts +15 -7
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/models/errors.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +3 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +10 -4
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +3 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.shared.d.ts +3 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/auth/httpAuthSchemeProvider.d.ts +20 -9
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/endpoint/bdd.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/models/errors.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +11 -5
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +35 -16
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +11 -5
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.shared.d.ts +8 -1
- package/node_modules/@aws-sdk/nested-clients/package.json +18 -17
- package/node_modules/@aws-sdk/region-config-resolver/package.json +2 -2
- package/node_modules/@aws-sdk/signature-v4-multi-region/LICENSE +201 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/README.md +32 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +121 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4MultiRegion.js +112 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/index.js +2 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/signature-v4-crt-container.js +3 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/SignatureV4MultiRegion.d.ts +35 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/index.d.ts +5 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/signature-v4-crt-container.d.ts +28 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/SignatureV4MultiRegion.d.ts +41 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/index.d.ts +2 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/signature-v4-crt-container.d.ts +20 -0
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +61 -0
- package/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/node_modules/@aws-sdk/util-arn-parser/LICENSE +201 -0
- package/node_modules/@aws-sdk/util-arn-parser/README.md +4 -0
- package/node_modules/@aws-sdk/util-arn-parser/dist-cjs/index.js +27 -0
- package/node_modules/@aws-sdk/util-arn-parser/dist-es/index.js +21 -0
- package/node_modules/@aws-sdk/util-arn-parser/dist-types/index.d.ts +32 -0
- package/node_modules/@aws-sdk/util-arn-parser/dist-types/ts3.4/index.d.ts +14 -0
- package/node_modules/@aws-sdk/util-arn-parser/package.json +55 -0
- package/node_modules/@aws-sdk/util-endpoints/package.json +2 -2
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js +336 -0
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +26 -2
- package/node_modules/@aws-sdk/xml-builder/dist-es/xml-external/nodable_entities.js +332 -0
- package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +26 -2
- package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-external/nodable_entities.d.ts +66 -0
- package/node_modules/@aws-sdk/xml-builder/dist-types/xml-external/nodable_entities.d.ts +65 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +61 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/README.md +8 -28
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +172 -6
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +5 -4
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +162 -3
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +2 -5
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +15 -11
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +174 -245
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +2 -2
- package/node_modules/@aws-sdk/xml-builder/package.json +3 -2
- package/node_modules/@nodable/entities/README.md +41 -0
- package/node_modules/@nodable/entities/package.json +54 -0
- package/node_modules/@nodable/entities/src/EntityDecoder.js +543 -0
- package/node_modules/@nodable/entities/src/EntityEncoder.js +194 -0
- package/node_modules/@nodable/entities/src/entities.js +1177 -0
- package/node_modules/@nodable/entities/src/entityTries.js +49 -0
- package/node_modules/@nodable/entities/src/index.d.ts +264 -0
- package/node_modules/@nodable/entities/src/index.js +29 -0
- package/node_modules/@smithy/core/package.json +2 -2
- package/node_modules/@smithy/middleware-endpoint/package.json +3 -3
- package/node_modules/@smithy/middleware-retry/package.json +5 -5
- package/node_modules/@smithy/middleware-serde/package.json +2 -2
- package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +27 -16
- package/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +5 -0
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +22 -16
- package/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +4 -0
- package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +2 -4
- package/node_modules/@smithy/node-http-handler/package.json +1 -1
- package/node_modules/@smithy/service-error-classification/dist-cjs/index.js +1 -0
- package/node_modules/@smithy/service-error-classification/dist-es/index.js +1 -0
- package/node_modules/@smithy/service-error-classification/package.json +1 -1
- package/node_modules/@smithy/smithy-client/package.json +4 -4
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
- package/node_modules/@smithy/util-retry/dist-cjs/index.js +27 -13
- package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +5 -2
- package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +2 -1
- package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +20 -10
- package/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts +12 -4
- package/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@smithy/util-stream/package.json +2 -2
- package/node_modules/@smithy/util-waiter/dist-cjs/index.js +59 -34
- package/node_modules/@smithy/util-waiter/dist-es/poller.js +61 -34
- package/node_modules/@smithy/util-waiter/dist-types/createWaiter.d.ts +1 -1
- package/node_modules/@smithy/util-waiter/dist-types/poller.d.ts +2 -1
- package/node_modules/@smithy/util-waiter/dist-types/waiter.d.ts +13 -13
- package/node_modules/@smithy/util-waiter/package.json +1 -1
- package/node_modules/fast-xml-builder/CHANGELOG.md +13 -0
- package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -1
- package/node_modules/fast-xml-builder/lib/fxb.min.js +1 -1
- package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -1
- package/node_modules/fast-xml-builder/package.json +1 -1
- package/node_modules/fast-xml-builder/src/fxb.js +7 -8
- package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +6 -7
- package/node_modules/fast-xml-builder/src/util.js +16 -0
- package/package.json +3 -3
- package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/ruleset.js +0 -7
- package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/ruleset.js +0 -4
- package/node_modules/@aws-sdk/client-codedeploy/dist-types/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/ruleset.js +0 -146
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/ruleset.js +0 -133
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/ruleset.js +0 -106
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/ruleset.js +0 -106
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/ruleset.js +0 -145
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/ruleset.js +0 -143
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/ruleset.js +0 -130
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/ruleset.js +0 -103
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/ruleset.js +0 -103
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/ruleset.js +0 -142
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/endpoint/ruleset.d.ts +0 -2
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/pem.d.cts +0 -148
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/pem.d.ts +0 -135
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
export const XML = {
|
|
2
|
+
amp: "&",
|
|
3
|
+
apos: "'",
|
|
4
|
+
gt: ">",
|
|
5
|
+
lt: "<",
|
|
6
|
+
quot: '"',
|
|
7
|
+
};
|
|
8
|
+
export const COMMON_HTML = {
|
|
9
|
+
nbsp: "\u00a0",
|
|
10
|
+
copy: "\u00a9",
|
|
11
|
+
reg: "\u00ae",
|
|
12
|
+
trade: "\u2122",
|
|
13
|
+
mdash: "\u2014",
|
|
14
|
+
ndash: "\u2013",
|
|
15
|
+
hellip: "\u2026",
|
|
16
|
+
laquo: "\u00ab",
|
|
17
|
+
raquo: "\u00bb",
|
|
18
|
+
lsquo: "\u2018",
|
|
19
|
+
rsquo: "\u2019",
|
|
20
|
+
ldquo: "\u201c",
|
|
21
|
+
rdquo: "\u201d",
|
|
22
|
+
bull: "\u2022",
|
|
23
|
+
para: "\u00b6",
|
|
24
|
+
sect: "\u00a7",
|
|
25
|
+
deg: "\u00b0",
|
|
26
|
+
frac12: "\u00bd",
|
|
27
|
+
frac14: "\u00bc",
|
|
28
|
+
frac34: "\u00be",
|
|
29
|
+
};
|
|
30
|
+
export const CURRENCY = {
|
|
31
|
+
cent: "\u00a2",
|
|
32
|
+
pound: "\u00a3",
|
|
33
|
+
curren: "\u00a4",
|
|
34
|
+
yen: "\u00a5",
|
|
35
|
+
euro: "\u20ac",
|
|
36
|
+
dollar: "$",
|
|
37
|
+
fnof: "\u0192",
|
|
38
|
+
inr: "\u20b9",
|
|
39
|
+
af: "\u060b",
|
|
40
|
+
birr: "\u1265\u122d",
|
|
41
|
+
peso: "\u20b1",
|
|
42
|
+
rub: "\u20bd",
|
|
43
|
+
won: "\u20a9",
|
|
44
|
+
yuan: "\u00a5",
|
|
45
|
+
cedil: "\u00b8",
|
|
46
|
+
};
|
|
47
|
+
const SPECIAL_CHARS = new Set("!?\\/[]$%{}^&*()<>|+");
|
|
48
|
+
function validateEntityName(name) {
|
|
49
|
+
if (name[0] === "#") {
|
|
50
|
+
throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
|
|
51
|
+
}
|
|
52
|
+
for (const ch of name) {
|
|
53
|
+
if (SPECIAL_CHARS.has(ch)) {
|
|
54
|
+
throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return name;
|
|
58
|
+
}
|
|
59
|
+
function mergeEntityMaps(...maps) {
|
|
60
|
+
const out = Object.create(null);
|
|
61
|
+
for (const map of maps) {
|
|
62
|
+
if (!map) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
for (const key of Object.keys(map)) {
|
|
66
|
+
const raw = map[key];
|
|
67
|
+
if (typeof raw === "string") {
|
|
68
|
+
out[key] = raw;
|
|
69
|
+
}
|
|
70
|
+
else if (raw && typeof raw === "object" && raw.val !== undefined) {
|
|
71
|
+
const val = raw.val;
|
|
72
|
+
if (typeof val === "string") {
|
|
73
|
+
out[key] = val;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
const LIMIT_TIER_EXTERNAL = "external";
|
|
81
|
+
const LIMIT_TIER_BASE = "base";
|
|
82
|
+
const LIMIT_TIER_ALL = "all";
|
|
83
|
+
function parseLimitTiers(raw) {
|
|
84
|
+
if (!raw || raw === LIMIT_TIER_EXTERNAL) {
|
|
85
|
+
return new Set([LIMIT_TIER_EXTERNAL]);
|
|
86
|
+
}
|
|
87
|
+
if (raw === LIMIT_TIER_ALL) {
|
|
88
|
+
return new Set([LIMIT_TIER_ALL]);
|
|
89
|
+
}
|
|
90
|
+
if (raw === LIMIT_TIER_BASE) {
|
|
91
|
+
return new Set([LIMIT_TIER_BASE]);
|
|
92
|
+
}
|
|
93
|
+
if (Array.isArray(raw)) {
|
|
94
|
+
return new Set(raw);
|
|
95
|
+
}
|
|
96
|
+
return new Set([LIMIT_TIER_EXTERNAL]);
|
|
97
|
+
}
|
|
98
|
+
const NCR_LEVEL = Object.freeze({ allow: 0, leave: 1, remove: 2, throw: 3 });
|
|
99
|
+
const XML10_ALLOWED_C0 = new Set([0x09, 0x0a, 0x0d]);
|
|
100
|
+
function parseNCRConfig(ncr) {
|
|
101
|
+
if (!ncr) {
|
|
102
|
+
return { xmlVersion: 1.0, onLevel: NCR_LEVEL.allow, nullLevel: NCR_LEVEL.remove };
|
|
103
|
+
}
|
|
104
|
+
const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1.0;
|
|
105
|
+
const onLevel = NCR_LEVEL[ncr.onNCR ?? "allow"] ?? NCR_LEVEL.allow;
|
|
106
|
+
const nullLevel = NCR_LEVEL[ncr.nullNCR ?? "remove"] ?? NCR_LEVEL.remove;
|
|
107
|
+
const clampedNull = Math.max(nullLevel, NCR_LEVEL.remove);
|
|
108
|
+
return { xmlVersion, onLevel, nullLevel: clampedNull };
|
|
109
|
+
}
|
|
110
|
+
export const EntityDecoderImpl = class EntityDecoderImpl {
|
|
111
|
+
_limit;
|
|
112
|
+
_maxTotalExpansions;
|
|
113
|
+
_maxExpandedLength;
|
|
114
|
+
_postCheck;
|
|
115
|
+
_limitTiers;
|
|
116
|
+
_numericAllowed;
|
|
117
|
+
_baseMap;
|
|
118
|
+
_externalMap;
|
|
119
|
+
_inputMap;
|
|
120
|
+
_totalExpansions;
|
|
121
|
+
_expandedLength;
|
|
122
|
+
_removeSet;
|
|
123
|
+
_leaveSet;
|
|
124
|
+
_ncrXmlVersion;
|
|
125
|
+
_ncrOnLevel;
|
|
126
|
+
_ncrNullLevel;
|
|
127
|
+
constructor(options = {}) {
|
|
128
|
+
this._limit = options.limit || {};
|
|
129
|
+
this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
|
|
130
|
+
this._maxExpandedLength = this._limit.maxExpandedLength || 0;
|
|
131
|
+
this._postCheck = typeof options.postCheck === "function" ? options.postCheck : (r) => r;
|
|
132
|
+
this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);
|
|
133
|
+
this._numericAllowed = options.numericAllowed ?? true;
|
|
134
|
+
this._baseMap = mergeEntityMaps(XML, options.namedEntities || null);
|
|
135
|
+
this._externalMap = Object.create(null);
|
|
136
|
+
this._inputMap = Object.create(null);
|
|
137
|
+
this._totalExpansions = 0;
|
|
138
|
+
this._expandedLength = 0;
|
|
139
|
+
this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
|
|
140
|
+
this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
|
|
141
|
+
const ncrCfg = parseNCRConfig(options.ncr);
|
|
142
|
+
this._ncrXmlVersion = ncrCfg.xmlVersion;
|
|
143
|
+
this._ncrOnLevel = ncrCfg.onLevel;
|
|
144
|
+
this._ncrNullLevel = ncrCfg.nullLevel;
|
|
145
|
+
}
|
|
146
|
+
setExternalEntities(map) {
|
|
147
|
+
if (map) {
|
|
148
|
+
for (const key of Object.keys(map)) {
|
|
149
|
+
validateEntityName(key);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
this._externalMap = mergeEntityMaps(map);
|
|
153
|
+
}
|
|
154
|
+
addExternalEntity(key, value) {
|
|
155
|
+
validateEntityName(key);
|
|
156
|
+
if (typeof value === "string" && value.indexOf("&") === -1) {
|
|
157
|
+
this._externalMap[key] = value;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
addInputEntities(map) {
|
|
161
|
+
this._totalExpansions = 0;
|
|
162
|
+
this._expandedLength = 0;
|
|
163
|
+
this._inputMap = mergeEntityMaps(map);
|
|
164
|
+
}
|
|
165
|
+
reset() {
|
|
166
|
+
this._inputMap = Object.create(null);
|
|
167
|
+
this._totalExpansions = 0;
|
|
168
|
+
this._expandedLength = 0;
|
|
169
|
+
return this;
|
|
170
|
+
}
|
|
171
|
+
setXmlVersion(version) {
|
|
172
|
+
this._ncrXmlVersion = version === "1.1" || version === 1.1 ? 1.1 : 1.0;
|
|
173
|
+
}
|
|
174
|
+
decode(str) {
|
|
175
|
+
if (typeof str !== "string" || str.length === 0) {
|
|
176
|
+
return str;
|
|
177
|
+
}
|
|
178
|
+
const original = str;
|
|
179
|
+
const chunks = [];
|
|
180
|
+
const len = str.length;
|
|
181
|
+
let last = 0;
|
|
182
|
+
let i = 0;
|
|
183
|
+
const limitExpansions = this._maxTotalExpansions > 0;
|
|
184
|
+
const limitLength = this._maxExpandedLength > 0;
|
|
185
|
+
const checkLimits = limitExpansions || limitLength;
|
|
186
|
+
while (i < len) {
|
|
187
|
+
if (str.charCodeAt(i) !== 38) {
|
|
188
|
+
i++;
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
let j = i + 1;
|
|
192
|
+
while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) {
|
|
193
|
+
j++;
|
|
194
|
+
}
|
|
195
|
+
if (j >= len || str.charCodeAt(j) !== 59) {
|
|
196
|
+
i++;
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
const token = str.slice(i + 1, j);
|
|
200
|
+
if (token.length === 0) {
|
|
201
|
+
i++;
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
let replacement;
|
|
205
|
+
let tier;
|
|
206
|
+
if (this._removeSet.has(token)) {
|
|
207
|
+
replacement = "";
|
|
208
|
+
if (tier === undefined) {
|
|
209
|
+
tier = LIMIT_TIER_EXTERNAL;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
else if (this._leaveSet.has(token)) {
|
|
213
|
+
i++;
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
else if (token.charCodeAt(0) === 35) {
|
|
217
|
+
const ncrResult = this._resolveNCR(token);
|
|
218
|
+
if (ncrResult === undefined) {
|
|
219
|
+
i++;
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
replacement = ncrResult;
|
|
223
|
+
tier = LIMIT_TIER_BASE;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
const resolved = this._resolveName(token);
|
|
227
|
+
replacement = resolved?.value;
|
|
228
|
+
tier = resolved?.tier;
|
|
229
|
+
}
|
|
230
|
+
if (replacement === undefined) {
|
|
231
|
+
i++;
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
234
|
+
if (i > last) {
|
|
235
|
+
chunks.push(str.slice(last, i));
|
|
236
|
+
}
|
|
237
|
+
chunks.push(replacement);
|
|
238
|
+
last = j + 1;
|
|
239
|
+
i = last;
|
|
240
|
+
if (checkLimits && this._tierCounts(tier)) {
|
|
241
|
+
if (limitExpansions) {
|
|
242
|
+
this._totalExpansions++;
|
|
243
|
+
if (this._totalExpansions > this._maxTotalExpansions) {
|
|
244
|
+
throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ` +
|
|
245
|
+
`${this._totalExpansions} > ${this._maxTotalExpansions}`);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
if (limitLength) {
|
|
249
|
+
const delta = replacement.length - (token.length + 2);
|
|
250
|
+
if (delta > 0) {
|
|
251
|
+
this._expandedLength += delta;
|
|
252
|
+
if (this._expandedLength > this._maxExpandedLength) {
|
|
253
|
+
throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ` +
|
|
254
|
+
`${this._expandedLength} > ${this._maxExpandedLength}`);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if (last < len) {
|
|
261
|
+
chunks.push(str.slice(last));
|
|
262
|
+
}
|
|
263
|
+
const result = chunks.length === 0 ? str : chunks.join("");
|
|
264
|
+
return this._postCheck(result, original);
|
|
265
|
+
}
|
|
266
|
+
_tierCounts(tier) {
|
|
267
|
+
if (this._limitTiers.has(LIMIT_TIER_ALL)) {
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
return this._limitTiers.has(tier);
|
|
271
|
+
}
|
|
272
|
+
_resolveName(name) {
|
|
273
|
+
if (name in this._inputMap) {
|
|
274
|
+
return { value: this._inputMap[name], tier: LIMIT_TIER_EXTERNAL };
|
|
275
|
+
}
|
|
276
|
+
if (name in this._externalMap) {
|
|
277
|
+
return { value: this._externalMap[name], tier: LIMIT_TIER_EXTERNAL };
|
|
278
|
+
}
|
|
279
|
+
if (name in this._baseMap) {
|
|
280
|
+
return { value: this._baseMap[name], tier: LIMIT_TIER_BASE };
|
|
281
|
+
}
|
|
282
|
+
return undefined;
|
|
283
|
+
}
|
|
284
|
+
_classifyNCR(cp) {
|
|
285
|
+
if (cp === 0) {
|
|
286
|
+
return this._ncrNullLevel;
|
|
287
|
+
}
|
|
288
|
+
if (cp >= 0xd800 && cp <= 0xdfff) {
|
|
289
|
+
return NCR_LEVEL.remove;
|
|
290
|
+
}
|
|
291
|
+
if (this._ncrXmlVersion === 1.0) {
|
|
292
|
+
if (cp >= 0x01 && cp <= 0x1f && !XML10_ALLOWED_C0.has(cp)) {
|
|
293
|
+
return NCR_LEVEL.remove;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return -1;
|
|
297
|
+
}
|
|
298
|
+
_applyNCRAction(action, token, cp) {
|
|
299
|
+
switch (action) {
|
|
300
|
+
case NCR_LEVEL.allow:
|
|
301
|
+
return String.fromCodePoint(cp);
|
|
302
|
+
case NCR_LEVEL.remove:
|
|
303
|
+
return "";
|
|
304
|
+
case NCR_LEVEL.leave:
|
|
305
|
+
return undefined;
|
|
306
|
+
case NCR_LEVEL.throw:
|
|
307
|
+
throw new Error(`[EntityDecoder] Prohibited numeric character reference ` +
|
|
308
|
+
`&${token}; (U+${cp.toString(16).toUpperCase().padStart(4, "0")})`);
|
|
309
|
+
default:
|
|
310
|
+
return String.fromCodePoint(cp);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
_resolveNCR(token) {
|
|
314
|
+
const second = token.charCodeAt(1);
|
|
315
|
+
let cp;
|
|
316
|
+
if (second === 120 || second === 88) {
|
|
317
|
+
cp = parseInt(token.slice(2), 16);
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
cp = parseInt(token.slice(1), 10);
|
|
321
|
+
}
|
|
322
|
+
if (Number.isNaN(cp) || cp < 0 || cp > 0x10ffff) {
|
|
323
|
+
return undefined;
|
|
324
|
+
}
|
|
325
|
+
const minimum = this._classifyNCR(cp);
|
|
326
|
+
if (!this._numericAllowed && minimum < NCR_LEVEL.remove) {
|
|
327
|
+
return undefined;
|
|
328
|
+
}
|
|
329
|
+
const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);
|
|
330
|
+
return this._applyNCRAction(effective, token, cp);
|
|
331
|
+
}
|
|
332
|
+
};
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { XMLParser } from "fast-xml-parser";
|
|
2
|
+
import { COMMON_HTML, CURRENCY, EntityDecoderImpl, XML } from "./xml-external/nodable_entities";
|
|
3
|
+
const entityDecoder = new EntityDecoderImpl({
|
|
4
|
+
namedEntities: { ...XML, ...COMMON_HTML, ...CURRENCY },
|
|
5
|
+
numericAllowed: true,
|
|
6
|
+
limit: {
|
|
7
|
+
maxTotalExpansions: Infinity,
|
|
8
|
+
},
|
|
9
|
+
ncr: {
|
|
10
|
+
xmlVersion: 1.1,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
2
13
|
const parser = new XMLParser({
|
|
3
14
|
attributeNamePrefix: "",
|
|
4
15
|
processEntities: {
|
|
@@ -6,6 +17,21 @@ const parser = new XMLParser({
|
|
|
6
17
|
maxTotalExpansions: Infinity,
|
|
7
18
|
},
|
|
8
19
|
htmlEntities: true,
|
|
20
|
+
entityDecoder: {
|
|
21
|
+
setExternalEntities: (entities) => {
|
|
22
|
+
entityDecoder.setExternalEntities(entities);
|
|
23
|
+
},
|
|
24
|
+
addInputEntities: (entities) => {
|
|
25
|
+
entityDecoder.addInputEntities(entities);
|
|
26
|
+
},
|
|
27
|
+
reset: () => {
|
|
28
|
+
entityDecoder.reset();
|
|
29
|
+
},
|
|
30
|
+
decode: (text) => {
|
|
31
|
+
return entityDecoder.decode(text);
|
|
32
|
+
},
|
|
33
|
+
setXmlVersion: (version) => void {},
|
|
34
|
+
},
|
|
9
35
|
ignoreAttributes: false,
|
|
10
36
|
ignoreDeclaration: true,
|
|
11
37
|
parseTagValue: false,
|
|
@@ -13,8 +39,6 @@ const parser = new XMLParser({
|
|
|
13
39
|
tagValueProcessor: (_, val) => (val.trim() === "" && val.includes("\n") ? "" : undefined),
|
|
14
40
|
maxNestedTags: Infinity,
|
|
15
41
|
});
|
|
16
|
-
parser.addEntity("#xD", "\r");
|
|
17
|
-
parser.addEntity("#10", "\n");
|
|
18
42
|
export function parseXML(xmlString) {
|
|
19
43
|
return parser.parse(xmlString, true);
|
|
20
44
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export declare const XML: Record<string, string>;
|
|
2
|
+
export declare const COMMON_HTML: Record<string, string>;
|
|
3
|
+
export declare const CURRENCY: Record<string, string>;
|
|
4
|
+
type EntityValFn = (
|
|
5
|
+
match: string,
|
|
6
|
+
captured: string,
|
|
7
|
+
...rest: unknown[]
|
|
8
|
+
) => string;
|
|
9
|
+
type ApplyLimitsTo = "external" | "base" | "all" | Array<"external" | "base">;
|
|
10
|
+
interface EntityDecoderLimitOptions {
|
|
11
|
+
maxTotalExpansions?: number;
|
|
12
|
+
maxExpandedLength?: number;
|
|
13
|
+
applyLimitsTo?: ApplyLimitsTo;
|
|
14
|
+
}
|
|
15
|
+
interface EntityDecoderNCROptions {
|
|
16
|
+
xmlVersion?: 1.0 | 1.1;
|
|
17
|
+
onNCR?: "allow" | "leave" | "remove" | "throw";
|
|
18
|
+
nullNCR?: "remove" | "throw";
|
|
19
|
+
}
|
|
20
|
+
interface EntityDecoderOptions {
|
|
21
|
+
namedEntities?: Record<
|
|
22
|
+
string,
|
|
23
|
+
| string
|
|
24
|
+
| {
|
|
25
|
+
regex: RegExp;
|
|
26
|
+
val: string | EntityValFn;
|
|
27
|
+
}
|
|
28
|
+
> | null;
|
|
29
|
+
postCheck?: ((resolved: string, original: string) => string) | null;
|
|
30
|
+
numericAllowed?: boolean;
|
|
31
|
+
leave?: string[];
|
|
32
|
+
remove?: string[];
|
|
33
|
+
limit?: EntityDecoderLimitOptions;
|
|
34
|
+
ncr?: EntityDecoderNCROptions;
|
|
35
|
+
}
|
|
36
|
+
export interface EntityDecoder {
|
|
37
|
+
setExternalEntities(
|
|
38
|
+
map: Record<
|
|
39
|
+
string,
|
|
40
|
+
| string
|
|
41
|
+
| {
|
|
42
|
+
regex: RegExp;
|
|
43
|
+
val: string | EntityValFn;
|
|
44
|
+
}
|
|
45
|
+
>
|
|
46
|
+
): void;
|
|
47
|
+
addExternalEntity(key: string, value: string): void;
|
|
48
|
+
addInputEntities(
|
|
49
|
+
map: Record<
|
|
50
|
+
string,
|
|
51
|
+
| string
|
|
52
|
+
| {
|
|
53
|
+
regx?: RegExp;
|
|
54
|
+
regex?: RegExp;
|
|
55
|
+
val: string | EntityValFn;
|
|
56
|
+
}
|
|
57
|
+
>
|
|
58
|
+
): void;
|
|
59
|
+
reset(): this;
|
|
60
|
+
decode(str: string): string;
|
|
61
|
+
setXmlVersion(version: string): void;
|
|
62
|
+
}
|
|
63
|
+
export declare const EntityDecoderImpl: new (
|
|
64
|
+
options?: EntityDecoderOptions
|
|
65
|
+
) => EntityDecoder;
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contains code from \@nodable/entities v2.1.0
|
|
3
|
+
* Copyright (c) Amit Gupta (https://solothought.com)
|
|
4
|
+
* https://github.com/nodable/val-parsers
|
|
5
|
+
*
|
|
6
|
+
* This file bundles the EntityDecoder class and the named-entity maps
|
|
7
|
+
* (XML, COMMON_HTML, CURRENCY).
|
|
8
|
+
*
|
|
9
|
+
* This is a temporary solution while using this particular custom
|
|
10
|
+
* EntityDecoder class. The module-only nature of the original version
|
|
11
|
+
* is incompatible with some of our users' applications.
|
|
12
|
+
*
|
|
13
|
+
* Given that our CJS dist must call `require` to bring in the module, and
|
|
14
|
+
* because the EntityDecoder class and object are inaccessible via the runtime object surface
|
|
15
|
+
* of the XMLParser, we must inline the package.
|
|
16
|
+
*
|
|
17
|
+
* Q: Why is this necessary given that fast-xml-parser itself uses \@nodable/entities?
|
|
18
|
+
* A: FXP only uses \@nodable/entities when imported in ESM mode. When importing FXP
|
|
19
|
+
* via require, a bundled version is used, unaffected by the module-only nature
|
|
20
|
+
* of the entities package.
|
|
21
|
+
*/
|
|
22
|
+
export declare const XML: Record<string, string>;
|
|
23
|
+
export declare const COMMON_HTML: Record<string, string>;
|
|
24
|
+
export declare const CURRENCY: Record<string, string>;
|
|
25
|
+
type EntityValFn = (match: string, captured: string, ...rest: unknown[]) => string;
|
|
26
|
+
type ApplyLimitsTo = "external" | "base" | "all" | Array<"external" | "base">;
|
|
27
|
+
interface EntityDecoderLimitOptions {
|
|
28
|
+
maxTotalExpansions?: number;
|
|
29
|
+
maxExpandedLength?: number;
|
|
30
|
+
applyLimitsTo?: ApplyLimitsTo;
|
|
31
|
+
}
|
|
32
|
+
interface EntityDecoderNCROptions {
|
|
33
|
+
xmlVersion?: 1.0 | 1.1;
|
|
34
|
+
onNCR?: "allow" | "leave" | "remove" | "throw";
|
|
35
|
+
nullNCR?: "remove" | "throw";
|
|
36
|
+
}
|
|
37
|
+
interface EntityDecoderOptions {
|
|
38
|
+
namedEntities?: Record<string, string | {
|
|
39
|
+
regex: RegExp;
|
|
40
|
+
val: string | EntityValFn;
|
|
41
|
+
}> | null;
|
|
42
|
+
postCheck?: ((resolved: string, original: string) => string) | null;
|
|
43
|
+
numericAllowed?: boolean;
|
|
44
|
+
leave?: string[];
|
|
45
|
+
remove?: string[];
|
|
46
|
+
limit?: EntityDecoderLimitOptions;
|
|
47
|
+
ncr?: EntityDecoderNCROptions;
|
|
48
|
+
}
|
|
49
|
+
export interface EntityDecoder {
|
|
50
|
+
setExternalEntities(map: Record<string, string | {
|
|
51
|
+
regex: RegExp;
|
|
52
|
+
val: string | EntityValFn;
|
|
53
|
+
}>): void;
|
|
54
|
+
addExternalEntity(key: string, value: string): void;
|
|
55
|
+
addInputEntities(map: Record<string, string | {
|
|
56
|
+
regx?: RegExp;
|
|
57
|
+
regex?: RegExp;
|
|
58
|
+
val: string | EntityValFn;
|
|
59
|
+
}>): void;
|
|
60
|
+
reset(): this;
|
|
61
|
+
decode(str: string): string;
|
|
62
|
+
setXmlVersion(version: string): void;
|
|
63
|
+
}
|
|
64
|
+
export declare const EntityDecoderImpl: new (options?: EntityDecoderOptions) => EntityDecoder;
|
|
65
|
+
export {};
|
|
@@ -2,6 +2,67 @@
|
|
|
2
2
|
|
|
3
3
|
Note: Due to some last quick changes on v4, detail of v4.5.3 & v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion
|
|
4
4
|
|
|
5
|
+
**5.7.2 / 2026-04-25**
|
|
6
|
+
- allow numerical external entity for backward compatibility
|
|
7
|
+
- fix #705: attributesGroupName working with preserveOrder
|
|
8
|
+
- fix #817: stackoverflow when tag expression is very long
|
|
9
|
+
|
|
10
|
+
**5.7.1 / 2026-04-20**
|
|
11
|
+
- fix typo in CJS typing file
|
|
12
|
+
|
|
13
|
+
**5.7.0 / 2026-04-17**
|
|
14
|
+
- Use `@nodable/entities` v2.1.0
|
|
15
|
+
- breaking changes
|
|
16
|
+
- single entity scan. You're not allowed to user entity value to form another entity name.
|
|
17
|
+
- you cant add numeric external entity
|
|
18
|
+
- entity error message when expantion limit is crossed might change
|
|
19
|
+
- typings are updated for new options related to process entity
|
|
20
|
+
- please follow documentation of `@nodable/entities` for more detail.
|
|
21
|
+
- performance
|
|
22
|
+
- if processEntities is false, then there should not be impact on performance.
|
|
23
|
+
- if processEntities is true, but you dont pass entity decoder separately then performance may degrade by approx 8-10%
|
|
24
|
+
- if processEntities is true, and you pass entity decoder separately
|
|
25
|
+
- if no entity then performance should be same as before
|
|
26
|
+
- if there are entities then performance should be increased from past versions
|
|
27
|
+
- ignoreAttributes is not required to be set to set xml version for NCR entity value
|
|
28
|
+
- update 'fast-xml-builder' to sanitize malicious CDATA and comment's content
|
|
29
|
+
|
|
30
|
+
**5.6.0 / 2026-04-15**
|
|
31
|
+
- fix: entity replacement for numeric entities
|
|
32
|
+
- use @nodable/entities to replace entities
|
|
33
|
+
- this may change some error messages related to entities expansion limit or inavlid use
|
|
34
|
+
- post check would be exposed in future version
|
|
35
|
+
|
|
36
|
+
**5.5.12 / 2026-04-13**
|
|
37
|
+
- Performance Improvement: update path-expression-matcher
|
|
38
|
+
- use proxy pattern than Proxy class
|
|
39
|
+
|
|
40
|
+
**5.5.11 / 2026-04-08**
|
|
41
|
+
- Performance Improvement
|
|
42
|
+
- integrate ExpressionSet for stopNodes
|
|
43
|
+
|
|
44
|
+
**5.5.10 / 2026-04-03**
|
|
45
|
+
- increase default entity explansion limit as many projects demand for that
|
|
46
|
+
- performance improvement
|
|
47
|
+
- reduce calls to toString
|
|
48
|
+
- early return when entities are not present
|
|
49
|
+
- prepare rawAttrsForMatcher only if user sets `jPath: false`
|
|
50
|
+
|
|
51
|
+
**5.5.9 / 2026-03-23**
|
|
52
|
+
- combine typing files
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
**4.5.5 / 2026-03-22**
|
|
56
|
+
|
|
57
|
+
apply fixes from v5 (legacy maintenance branch v4-maintenance)
|
|
58
|
+
|
|
59
|
+
- support maxEntityCount
|
|
60
|
+
- support onDangerousProperty
|
|
61
|
+
- support maxNestedTags
|
|
62
|
+
- handle prototype pollution
|
|
63
|
+
- fix incorrect entity name replacement
|
|
64
|
+
- fix incorrect condition for entity expansion
|
|
65
|
+
|
|
5
66
|
**5.5.8 / 2026-03-20**
|
|
6
67
|
- pass read only matcher in callback
|
|
7
68
|
|
|
@@ -16,13 +16,17 @@ It can handle big files (tested up to 100mb). XML Entities, HTML entities, and D
|
|
|
16
16
|
---
|
|
17
17
|
# Your Support, Our Motivation
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Please join [Discord community](https://discord.gg/X4Qp9u6Vz) for pre release announcements and discussions. This will prevent us to release breaking changes.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<!-- ## Try out our New Thoughts
|
|
20
24
|
|
|
21
25
|
- WishIn - You need it if negative thoughts take over all the time <br>
|
|
22
26
|
<a href="https://play.google.com/store/apps/details?id=com.solothought.wishin"> <img src="https://solothought.com/products/assets/images/wishin/YouTubeThumbnail.png" width="500px"/> </a>
|
|
23
27
|
- **Flowgger**: 90% less logs size and 90% less debugging time<br>
|
|
24
28
|
<a href="https://github.com/solothought/flowgger"> <img src="static/img/flowgger_h.webp" alt="Flowgger Logging Framework" width="300px"/></a>
|
|
25
|
-
- [Text2Chart](https://solothought.com/text2chart/flow): interactive flow chart out of simple text.
|
|
29
|
+
- [Text2Chart](https://solothought.com/text2chart/flow): interactive flow chart out of simple text. -->
|
|
26
30
|
|
|
27
31
|
## Financial Support
|
|
28
32
|
|
|
@@ -34,38 +38,14 @@ Sponsor this project
|
|
|
34
38
|
<a href="https://opencollective.com/fast-xml-parser/donate" target="_blank">
|
|
35
39
|
<img src="https://opencollective.com/fast-xml-parser/donate/button@2x.png?color=blue" width=180 />
|
|
36
40
|
</a>
|
|
37
|
-
<a href="https://paypal.me/naturalintelligence"> <img src="static/img/support_paypal.svg" alt="donate button" width="180"/></a>
|
|
38
41
|
<br>
|
|
39
42
|
<br>
|
|
40
43
|
<br>
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
### Current Sponsors
|
|
44
|
-
|
|
45
|
-
Check the complete list at [ThankYouBackers](https://github.com/NaturalIntelligence/ThankYouBackers) for our sponsors and supporters.
|
|
46
|
-
|
|
47
|
-
Through Github
|
|
48
|
-
|
|
49
|
-
<a href="https://github.com/skunkteam" target="_blank"><img src="https://avatars.githubusercontent.com/u/46373671?s=60" width="60px"></a>
|
|
50
|
-
<a href="https://github.com/getsentry" target="_blank"><img src="https://avatars.githubusercontent.com/u/1396951?s=60" width="60px"></a>
|
|
51
|
-
|
|
52
|
-
Through OpenCollective
|
|
53
|
-
|
|
54
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/0/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/0/avatar.svg"></a>
|
|
55
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/1/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/1/avatar.svg"></a>
|
|
56
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/2/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/2/avatar.svg"></a>
|
|
57
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/3/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/3/avatar.svg"></a>
|
|
58
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/4/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/4/avatar.svg"></a>
|
|
59
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/5/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/5/avatar.svg"></a>
|
|
60
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/6/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/6/avatar.svg"></a>
|
|
61
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/7/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/7/avatar.svg"></a>
|
|
62
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/8/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/8/avatar.svg"></a>
|
|
63
|
-
<a href="https://opencollective.com/fast-xml-parser/sponsor/9/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/9/avatar.svg"></a>
|
|
64
|
-
-->
|
|
45
|
+
> This is a donation. No goods or services are expected in return. Any requests for refunds for those purposes will be rejected.
|
|
65
46
|
|
|
66
47
|

|
|
67
|
-
|
|
68
|
-
> This is a donation. No goods or services are expected in return. Any requests for refunds for those purposes will be rejected.
|
|
48
|
+
> This image update once in 6 months mostly
|
|
69
49
|
|
|
70
50
|
## Users
|
|
71
51
|
|