cloudstructs 0.4.9 → 0.4.13
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/.gitattributes +6 -0
- package/.jsii +10 -10
- package/assets/email-receiver/s3.lambda/index.js +38 -0
- package/assets/email-receiver/whitelist.lambda/index.js +46 -0
- package/assets/slack-app/provider.lambda/index.js +6335 -0
- package/assets/slack-events/events.lambda/index.js +112 -0
- package/assets/slack-textract/detect.lambda/index.js +20542 -0
- package/assets/url-shortener/shortener.lambda/index.js +101 -0
- package/changelog.md +1 -6
- package/lib/codecommit-mirror/index.js +2 -2
- package/lib/ecs-service-roller/index.js +2 -2
- package/lib/email-receiver/receiver.js +6 -7
- package/lib/email-receiver/s3-function.d.ts +13 -0
- package/lib/email-receiver/s3-function.js +23 -0
- package/lib/email-receiver/{receiver.s3.d.ts → s3.lambda.d.ts} +0 -0
- package/lib/email-receiver/s3.lambda.js +11 -0
- package/lib/email-receiver/whitelist-function.d.ts +13 -0
- package/lib/email-receiver/whitelist-function.js +23 -0
- package/lib/email-receiver/{receiver.whitelist.d.ts → whitelist.lambda.d.ts} +0 -0
- package/lib/email-receiver/whitelist.lambda.js +19 -0
- package/lib/saml-identity-provider/index.js +2 -2
- package/lib/slack-app/manifest.js +1 -1
- package/lib/slack-app/provider-function.d.ts +13 -0
- package/lib/slack-app/provider-function.js +23 -0
- package/lib/slack-app/provider.d.ts +2 -2
- package/lib/slack-app/provider.js +3 -3
- package/lib/slack-app/{provider.handler.d.ts → provider.lambda.d.ts} +0 -0
- package/lib/slack-app/provider.lambda.js +101 -0
- package/lib/slack-app/slack-app.js +2 -2
- package/lib/slack-events/events-function.d.ts +13 -0
- package/lib/slack-events/events-function.js +23 -0
- package/lib/slack-events/{index.handler.d.ts → events.lambda.d.ts} +0 -0
- package/lib/slack-events/{index.handler.js → events.lambda.js} +1 -1
- package/lib/slack-events/index.js +4 -4
- package/lib/slack-textract/detect-function.d.ts +13 -0
- package/lib/slack-textract/detect-function.js +23 -0
- package/lib/slack-textract/{index.handler.d.ts → detect.lambda.d.ts} +0 -0
- package/lib/slack-textract/{index.handler.js → detect.lambda.js} +1 -1
- package/lib/slack-textract/index.js +4 -4
- package/lib/state-machine-cr-provider/index.js +1 -1
- package/lib/static-website/index.js +1 -1
- package/lib/toolkit-cleaner/clean-images-function.js +2 -1
- package/lib/toolkit-cleaner/clean-objects-function.js +2 -1
- package/lib/toolkit-cleaner/get-stack-names-function.js +2 -1
- package/lib/toolkit-cleaner/index.js +1 -1
- package/lib/url-shortener/index.js +4 -4
- package/lib/url-shortener/shortener-function.d.ts +13 -0
- package/lib/url-shortener/shortener-function.js +23 -0
- package/lib/url-shortener/{index.handler.d.ts → shortener.lambda.d.ts} +0 -0
- package/lib/url-shortener/shortener.lambda.js +79 -0
- package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/crypto.d.ts +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/events.d.ts +31 -3
- package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/cacheable-request/node_modules/@types/node/url.d.ts +27 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/util.d.ts +1 -1
- package/node_modules/@types/is-stream/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/is-stream/node_modules/@types/node/crypto.d.ts +1 -1
- package/node_modules/@types/is-stream/node_modules/@types/node/events.d.ts +31 -3
- package/node_modules/@types/is-stream/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/is-stream/node_modules/@types/node/url.d.ts +27 -1
- package/node_modules/@types/is-stream/node_modules/@types/node/util.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/crypto.d.ts +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/events.d.ts +31 -3
- package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/keyv/node_modules/@types/node/url.d.ts +27 -1
- package/node_modules/@types/keyv/node_modules/@types/node/util.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/crypto.d.ts +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/events.d.ts +31 -3
- package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/responselike/node_modules/@types/node/url.d.ts +27 -1
- package/node_modules/@types/responselike/node_modules/@types/node/util.d.ts +1 -1
- package/package.json +26 -13
- package/releasetag.txt +1 -1
- package/version.txt +1 -1
- package/lib/email-receiver/receiver.s3.js +0 -11
- package/lib/email-receiver/receiver.whitelist.js +0 -19
- package/lib/slack-app/provider.handler.js +0 -101
- package/lib/url-shortener/index.handler.js +0 -79
|
@@ -10,12 +10,12 @@ const cloudfront = require("aws-cdk-lib/aws-cloudfront");
|
|
|
10
10
|
const origins = require("aws-cdk-lib/aws-cloudfront-origins");
|
|
11
11
|
const dynamodb = require("aws-cdk-lib/aws-dynamodb");
|
|
12
12
|
const iam = require("aws-cdk-lib/aws-iam");
|
|
13
|
-
const nodejs = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
14
13
|
const logs = require("aws-cdk-lib/aws-logs");
|
|
15
14
|
const route53 = require("aws-cdk-lib/aws-route53");
|
|
16
15
|
const targets = require("aws-cdk-lib/aws-route53-targets");
|
|
17
16
|
const s3 = require("aws-cdk-lib/aws-s3");
|
|
18
17
|
const constructs_1 = require("constructs");
|
|
18
|
+
const shortener_function_1 = require("./shortener-function");
|
|
19
19
|
/**
|
|
20
20
|
* URL shortener.
|
|
21
21
|
*
|
|
@@ -64,7 +64,7 @@ class UrlShortener extends constructs_1.Construct {
|
|
|
64
64
|
target: route53.RecordTarget.fromAlias(new targets.CloudFrontTarget(distribution)),
|
|
65
65
|
});
|
|
66
66
|
// Lambda function to increment counter and write redirect in bucket
|
|
67
|
-
const handler = new
|
|
67
|
+
const handler = new shortener_function_1.ShortenerFunction(this, 'handler', {
|
|
68
68
|
logRetention: logs.RetentionDays.ONE_MONTH,
|
|
69
69
|
environment: {
|
|
70
70
|
DOMAIN_NAME: props.hostedZone.zoneName,
|
|
@@ -99,5 +99,5 @@ class UrlShortener extends constructs_1.Construct {
|
|
|
99
99
|
}
|
|
100
100
|
exports.UrlShortener = UrlShortener;
|
|
101
101
|
_a = JSII_RTTI_SYMBOL_1;
|
|
102
|
-
UrlShortener[_a] = { fqn: "cloudstructs.UrlShortener", version: "0.4.
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
UrlShortener[_a] = { fqn: "cloudstructs.UrlShortener", version: "0.4.13" };
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXJsLXNob3J0ZW5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEyQztBQUMzQyx5REFBeUQ7QUFDekQsMERBQTBEO0FBQzFELHlEQUF5RDtBQUN6RCw4REFBOEQ7QUFDOUQscURBQXFEO0FBRXJELDJDQUEyQztBQUMzQyw2Q0FBNkM7QUFDN0MsbURBQW1EO0FBQ25ELDJEQUEyRDtBQUMzRCx5Q0FBeUM7QUFDekMsMkNBQXVDO0FBQ3ZDLDZEQUF5RDs7Ozs7O0FBZXpELE1BQWEsWUFBYSxTQUFRLHNCQUFTOzs7O0lBT3pDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7O1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMEJBQTBCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQzlDLFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCO1FBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzNDLGNBQWMsRUFBRSxDQUFDO29CQUNmLFVBQVUsUUFBRSxLQUFLLENBQUMsVUFBVSxtQ0FBSSxzQkFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQ25ELENBQUM7WUFDRixvQkFBb0IsRUFBRSxZQUFZO1NBQ25DLENBQUMsQ0FBQztRQUVILDBCQUEwQjtRQUMxQixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3ZFLFVBQVUsRUFBRSxLQUFL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b0NBb0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIEZuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYXBpZ2F0ZXdheSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheSc7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBkeW5hbW9kYiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTaG9ydGVuZXJGdW5jdGlvbiB9IGZyb20gJy4vc2hvcnRlbmVyLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBVcmxTaG9ydGVuZXJQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleHBpcmF0aW9uPzogRHVyYXRpb247XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXBpR2F0ZXdheUVuZHBvaW50PzogZWMyLklJbnRlcmZhY2VWcGNFbmRwb2ludDtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgVXJsU2hvcnRlbmVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgYXBpRW5kcG9pbnQ6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgYXBpOiBhcGlnYXRld2F5LkxhbWJkYVJlc3RBcGk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFVybFNob3J0ZW5lclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIFRhYmxlIHRvIHNhdmUgYSBjb3VudGVyXG4gICAgY29uc3QgdGFibGUgPSBuZXcgZHluYW1vZGIuVGFibGUodGhpcywgJ1RhYmxlJywge1xuICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgIG5hbWU6ICdrZXknLFxuICAgICAgICB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBCdWNrZXQgdG8gc2F2ZSByZWRpcmVjdHNcbiAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsICdCdWNrZXQnLCB7XG4gICAgICBsaWZlY3ljbGVSdWxlczogW3tcbiAgICAgICAgZXhwaXJhdGlvbjogcHJvcHMuZXhwaXJhdGlvbiA/PyBEdXJhdGlvbi5kYXlzKDM2NSksXG4gICAgICB9XSxcbiAgICAgIHdlYnNpdGVJbmRleERvY3VtZW50OiAnaW5kZXguaHRtbCcsXG4gICAgfSk7XG5cbiAgICAvLyBDbG91ZEZyb250IGRpc3RyaWJ1dGlvblxuICAgIGNvbnN0IGNlcnRpZmljYXRlID0gbmV3IGFjbS5EbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSh0aGlzLCAnQ2VydGlmaWNhdGUnLCB7XG4gICAgICBkb21haW5OYW1lOiBwcm9wcy5ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgaG9zdGVkWm9uZTogcHJvcHMuaG9zdGVkWm9uZSxcbiAgICB9KTtcbiAgICBjb25zdCBkaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24odGhpcywgJ0Rpc3RyaWJ1dGlvbicsIHtcbiAgICAgIGRlZmF1bHRCZWhhdmlvcjoge1xuICAgICAgICBvcmlnaW46IG5ldyBvcmlnaW5zLlMzT3JpZ2luKGJ1Y2tldCksXG4gICAgICB9LFxuICAgICAgY2VydGlmaWNhdGUsXG4gICAgICBkb21haW5OYW1lczogW3Byb3BzLmhvc3RlZFpvbmUuem9uZU5hbWVdLFxuICAgIH0pO1xuXG4gICAgLy8gUm91dGU1MyByZWNvcmRzXG4gICAgbmV3IHJvdXRlNTMuQVJlY29yZCh0aGlzLCAnQVJlY29yZCcsIHtcbiAgICAgIHpvbmU6IHByb3BzLmhvc3RlZFpvbmUsXG4gICAgICB0YXJnZXQ6IHJvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgdGFyZ2V0cy5DbG91ZEZyb250VGFyZ2V0KGRpc3RyaWJ1dGlvbikpLFxuICAgIH0pO1xuICAgIG5ldyByb3V0ZTUzLkFhYWFSZWNvcmQodGhpcywgJ0FhYWFSZWNvcmQnLCB7XG4gICAgICB6b25lOiBwcm9wcy5ob3N0ZWRab25lLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IHRhcmdldHMuQ2xvdWRGcm9udFRhcmdldChkaXN0cmlidXRpb24pKSxcbiAgICB9KTtcblxuICAgIC8vIExhbWJkYSBmdW5jdGlvbiB0byBpbmNyZW1lbnQgY291bnRlciBhbmQgd3JpdGUgcmVkaXJlY3QgaW4gYnVja2V0XG4gICAgY29uc3QgaGFuZGxlciA9IG5ldyBTaG9ydGVuZXJGdW5jdGlvbih0aGlzLCAnaGFuZGxlcicsIHtcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIERPTUFJTl9OQU1FOiBwcm9wcy5ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgICBCVUNLRVRfTkFNRTogYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIFRBQkxFX05BTUU6IHRhYmxlLnRhYmxlTmFtZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgYnVja2V0LmdyYW50UHV0KGhhbmRsZXIpO1xuICAgIHRhYmxlLmdyYW50KGhhbmRsZXIsICdkeW5hbW9kYjpVcGRhdGVJdGVtJyk7XG5cbiAgICAvLyBBUElcbiAgICB0aGlzLmFwaSA9IG5ldyBhcGlnYXRld2F5LkxhbWJkYVJlc3RBcGkodGhpcywgYFVybFNob3J0ZW5lciR7cHJvcHMuaG9zdGVkWm9uZS56b25lTmFtZX1gLCB7XG4gICAgICBoYW5kbGVyLFxuICAgICAgZW5kcG9pbnRUeXBlczogcHJvcHMuYXBpR2F0ZXdheUVuZHBvaW50ID8gW2FwaWdhdGV3YXkuRW5kcG9pbnRUeXBlLlBSSVZBVEVdIDogdW5kZWZpbmVkLFxuICAgICAgcG9saWN5OiBwcm9wcy5hcGlHYXRld2F5RW5kcG9pbnRcbiAgICAgICAgPyBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydleGVjdXRlLWFwaTpJbnZva2UnXSxcbiAgICAgICAgICAgICAgcHJpbmNpcGFsczogW25ldyBpYW0uQW55UHJpbmNpcGFsKCldLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtGbi5qb2luKCcnLCBbJ2V4ZWN1dGUtYXBpOi8nLCAnKiddKV0sXG4gICAgICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBTdHJpbmdFcXVhbHM6IHsgJ2F3czpTb3VyY2VWcGNlJzogcHJvcHMuYXBpR2F0ZXdheUVuZHBvaW50LnZwY0VuZHBvaW50SWQgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcGlFbmRwb2ludCA9IHRoaXMuYXBpLnVybDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
/**
|
|
4
|
+
* Props for ShortenerFunction
|
|
5
|
+
*/
|
|
6
|
+
export interface ShortenerFunctionProps extends lambda.FunctionOptions {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* An AWS Lambda function which executes src/url-shortener/shortener.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ShortenerFunction extends lambda.Function {
|
|
12
|
+
constructor(scope: Construct, id: string, props?: ShortenerFunctionProps);
|
|
13
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShortenerFunction = void 0;
|
|
4
|
+
// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
7
|
+
/**
|
|
8
|
+
* An AWS Lambda function which executes src/url-shortener/shortener.
|
|
9
|
+
*/
|
|
10
|
+
class ShortenerFunction extends lambda.Function {
|
|
11
|
+
constructor(scope, id, props) {
|
|
12
|
+
super(scope, id, {
|
|
13
|
+
description: 'src/url-shortener/shortener.lambda.ts',
|
|
14
|
+
...props,
|
|
15
|
+
runtime: lambda.Runtime.NODEJS_14_X,
|
|
16
|
+
handler: 'index.handler',
|
|
17
|
+
code: lambda.Code.fromAsset(path.join(__dirname, '../../assets/url-shortener/shortener.lambda')),
|
|
18
|
+
});
|
|
19
|
+
this.addEnvironment('AWS_NODEJS_CONNECTION_REUSE_ENABLED', '1', { removeInEdge: true });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.ShortenerFunction = ShortenerFunction;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRlbmVyLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VybC1zaG9ydGVuZXIvc2hvcnRlbmVyLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZFQUE2RTtBQUM3RSw2QkFBNkI7QUFDN0IsaURBQWlEO0FBU2pEOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUNwRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLHVDQUF1QztZQUNwRCxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ25DLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSw2Q0FBNkMsQ0FBQyxDQUFDO1NBQ2pHLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztDQUNGO0FBWEQsOENBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIFNob3J0ZW5lckZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2hvcnRlbmVyRnVuY3Rpb25Qcm9wcyBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMge1xufVxuXG4vKipcbiAqIEFuIEFXUyBMYW1iZGEgZnVuY3Rpb24gd2hpY2ggZXhlY3V0ZXMgc3JjL3VybC1zaG9ydGVuZXIvc2hvcnRlbmVyLlxuICovXG5leHBvcnQgY2xhc3MgU2hvcnRlbmVyRnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFNob3J0ZW5lckZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL3VybC1zaG9ydGVuZXIvc2hvcnRlbmVyLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNF9YLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9hc3NldHMvdXJsLXNob3J0ZW5lci9zaG9ydGVuZXIubGFtYmRhJykpLFxuICAgIH0pO1xuICAgIHRoaXMuYWRkRW52aXJvbm1lbnQoJ0FXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEJywgJzEnLCB7IHJlbW92ZUluRWRnZTogdHJ1ZSB9KTtcbiAgfVxufSJdfQ==
|
|
File without changes
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
/* eslint-disable no-console */
|
|
5
|
+
const aws_sdk_1 = require("aws-sdk"); // eslint-disable-line import/no-extraneous-dependencies
|
|
6
|
+
function base62Encode(int) {
|
|
7
|
+
const characterSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
8
|
+
if (int === 0)
|
|
9
|
+
return '0';
|
|
10
|
+
let s = '';
|
|
11
|
+
while (int > 0) {
|
|
12
|
+
s = characterSet[int % 62] + s;
|
|
13
|
+
int = Math.floor(int / 62);
|
|
14
|
+
}
|
|
15
|
+
return s;
|
|
16
|
+
}
|
|
17
|
+
;
|
|
18
|
+
function getEnv(name) {
|
|
19
|
+
const value = process.env[name];
|
|
20
|
+
if (!value) {
|
|
21
|
+
throw new Error(`The environment variable ${name} is not defined`);
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
const documentClient = new aws_sdk_1.DynamoDB.DocumentClient({ apiVersion: '2012-08-10' });
|
|
26
|
+
const s3 = new aws_sdk_1.S3({ apiVersion: '2006-03-01' });
|
|
27
|
+
async function handler(event) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
try {
|
|
30
|
+
console.log('Event: %j', event);
|
|
31
|
+
const body = JSON.parse((_a = event.body) !== null && _a !== void 0 ? _a : '{}');
|
|
32
|
+
if (!body.url) {
|
|
33
|
+
return {
|
|
34
|
+
statusCode: 400,
|
|
35
|
+
body: '',
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
// Get next counter value
|
|
39
|
+
const update = await documentClient.update({
|
|
40
|
+
TableName: getEnv('TABLE_NAME'),
|
|
41
|
+
Key: { key: 'counter' },
|
|
42
|
+
UpdateExpression: 'ADD #value :incr',
|
|
43
|
+
ExpressionAttributeNames: { '#value': 'value' },
|
|
44
|
+
ExpressionAttributeValues: { ':incr': 1 },
|
|
45
|
+
ReturnValues: 'UPDATED_NEW',
|
|
46
|
+
}).promise();
|
|
47
|
+
const value = (_b = update.Attributes) === null || _b === void 0 ? void 0 : _b.value;
|
|
48
|
+
if (!value) {
|
|
49
|
+
throw new Error('Cannot get next counter value');
|
|
50
|
+
}
|
|
51
|
+
const key = base62Encode(value);
|
|
52
|
+
console.log('Key: %j', key);
|
|
53
|
+
// Put zero-byte object with redirection on S3
|
|
54
|
+
const putObject = await s3.putObject({
|
|
55
|
+
Bucket: getEnv('BUCKET_NAME'),
|
|
56
|
+
Key: key,
|
|
57
|
+
WebsiteRedirectLocation: body.url,
|
|
58
|
+
ACL: 'public-read',
|
|
59
|
+
}).promise();
|
|
60
|
+
console.log('Put object: %j', putObject);
|
|
61
|
+
// Return short url
|
|
62
|
+
return {
|
|
63
|
+
statusCode: 201,
|
|
64
|
+
body: JSON.stringify({
|
|
65
|
+
url: body.url,
|
|
66
|
+
shortUrl: `https://${getEnv('DOMAIN_NAME')}/${key}`,
|
|
67
|
+
}),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
console.log(err);
|
|
72
|
+
return {
|
|
73
|
+
statusCode: 500,
|
|
74
|
+
body: '',
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.handler = handler;
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRlbmVyLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmwtc2hvcnRlbmVyL3Nob3J0ZW5lci5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLHFDQUF1QyxDQUFDLHdEQUF3RDtBQUVoRyxTQUFTLFlBQVksQ0FBQyxHQUFXO0lBQy9CLE1BQU0sWUFBWSxHQUFHLGdFQUFnRSxDQUFDO0lBQ3RGLElBQUksR0FBRyxLQUFLLENBQUM7UUFBRSxPQUFPLEdBQUcsQ0FBQztJQUMxQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDWCxPQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUU7UUFDZCxDQUFDLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQzVCO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBQUEsQ0FBQztBQUVGLFNBQVMsTUFBTSxDQUFDLElBQVk7SUFDMUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoQyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDO0tBQ3BFO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxrQkFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBRWpGLE1BQU0sRUFBRSxHQUFHLElBQUksWUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7QUFFekMsS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFxQzs7SUFDakUsSUFBSTtRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWhDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLE9BQUMsS0FBSyxDQUFDLElBQUksbUNBQUksSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDYixPQUFPO2dCQUNMLFVBQVUsRUFBRSxHQUFHO2dCQUNmLElBQUksRUFBRSxFQUFFO2FBQ1QsQ0FBQztTQUNIO1FBRUQseUJBQXlCO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUN6QyxTQUFTLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUMvQixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFO1lBQ3ZCLGdCQUFnQixFQUFFLGtCQUFrQjtZQUNwQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDL0MseUJBQXlCLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQ3pDLFlBQVksRUFBRSxhQUFhO1NBQzVCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sS0FBSyxTQUFHLE1BQU0sQ0FBQyxVQUFVLDBDQUFFLEtBQUssQ0FBQztRQUV2QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLDhDQUE4QztRQUM5QyxNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDbkMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDN0IsR0FBRyxFQUFFLEdBQUc7WUFDUix1QkFBdUIsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNqQyxHQUFHLEVBQUUsYUFBYTtTQUNuQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXpDLG1CQUFtQjtRQUNuQixPQUFPO1lBQ0wsVUFBVSxFQUFFLEdBQUc7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNiLFFBQVEsRUFBRSxXQUFXLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLEVBQUU7YUFDcEQsQ0FBQztTQUNILENBQUM7S0FDSDtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQixPQUFPO1lBQ0wsVUFBVSxFQUFFLEdBQUc7WUFDZixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7S0FDSDtBQUNILENBQUM7QUF6REQsMEJBeURDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgRHluYW1vREIsIFMzIH0gZnJvbSAnYXdzLXNkayc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5cbmZ1bmN0aW9uIGJhc2U2MkVuY29kZShpbnQ6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IGNoYXJhY3RlclNldCA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XG4gIGlmIChpbnQgPT09IDApIHJldHVybiAnMCc7XG4gIGxldCBzID0gJyc7XG4gIHdoaWxlIChpbnQgPiAwKSB7XG4gICAgcyA9IGNoYXJhY3RlclNldFtpbnQgJSA2Ml0gKyBzO1xuICAgIGludCA9IE1hdGguZmxvb3IoaW50IC8gNjIpO1xuICB9XG4gIHJldHVybiBzO1xufTtcblxuZnVuY3Rpb24gZ2V0RW52KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnZbbmFtZV07XG5cbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGVudmlyb25tZW50IHZhcmlhYmxlICR7bmFtZX0gaXMgbm90IGRlZmluZWRgKTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuY29uc3QgZG9jdW1lbnRDbGllbnQgPSBuZXcgRHluYW1vREIuRG9jdW1lbnRDbGllbnQoeyBhcGlWZXJzaW9uOiAnMjAxMi0wOC0xMCcgfSk7XG5cbmNvbnN0IHMzID0gbmV3IFMzKHsgYXBpVmVyc2lvbjogJzIwMDYtMDMtMDEnIH0pO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkFQSUdhdGV3YXlQcm94eUV2ZW50KTogUHJvbWlzZTxBV1NMYW1iZGEuQVBJR2F0ZXdheVByb3h5UmVzdWx0PiB7XG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coJ0V2ZW50OiAlaicsIGV2ZW50KTtcblxuICAgIGNvbnN0IGJvZHkgPSBKU09OLnBhcnNlKGV2ZW50LmJvZHkgPz8gJ3t9Jyk7XG5cbiAgICBpZiAoIWJvZHkudXJsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdGF0dXNDb2RlOiA0MDAsXG4gICAgICAgIGJvZHk6ICcnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBHZXQgbmV4dCBjb3VudGVyIHZhbHVlXG4gICAgY29uc3QgdXBkYXRlID0gYXdhaXQgZG9jdW1lbnRDbGllbnQudXBkYXRlKHtcbiAgICAgIFRhYmxlTmFtZTogZ2V0RW52KCdUQUJMRV9OQU1FJyksXG4gICAgICBLZXk6IHsga2V5OiAnY291bnRlcicgfSxcbiAgICAgIFVwZGF0ZUV4cHJlc3Npb246ICdBREQgI3ZhbHVlIDppbmNyJyxcbiAgICAgIEV4cHJlc3Npb25BdHRyaWJ1dGVOYW1lczogeyAnI3ZhbHVlJzogJ3ZhbHVlJyB9LFxuICAgICAgRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlczogeyAnOmluY3InOiAxIH0sXG4gICAgICBSZXR1cm5WYWx1ZXM6ICdVUERBVEVEX05FVycsXG4gICAgfSkucHJvbWlzZSgpO1xuXG4gICAgY29uc3QgdmFsdWUgPSB1cGRhdGUuQXR0cmlidXRlcz8udmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBnZXQgbmV4dCBjb3VudGVyIHZhbHVlJyk7XG4gICAgfVxuXG4gICAgY29uc3Qga2V5ID0gYmFzZTYyRW5jb2RlKHZhbHVlKTtcbiAgICBjb25zb2xlLmxvZygnS2V5OiAlaicsIGtleSk7XG5cbiAgICAvLyBQdXQgemVyby1ieXRlIG9iamVjdCB3aXRoIHJlZGlyZWN0aW9uIG9uIFMzXG4gICAgY29uc3QgcHV0T2JqZWN0ID0gYXdhaXQgczMucHV0T2JqZWN0KHtcbiAgICAgIEJ1Y2tldDogZ2V0RW52KCdCVUNLRVRfTkFNRScpLFxuICAgICAgS2V5OiBrZXksXG4gICAgICBXZWJzaXRlUmVkaXJlY3RMb2NhdGlvbjogYm9keS51cmwsXG4gICAgICBBQ0w6ICdwdWJsaWMtcmVhZCcsXG4gICAgfSkucHJvbWlzZSgpO1xuICAgIGNvbnNvbGUubG9nKCdQdXQgb2JqZWN0OiAlaicsIHB1dE9iamVjdCk7XG5cbiAgICAvLyBSZXR1cm4gc2hvcnQgdXJsXG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDIwMSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgdXJsOiBib2R5LnVybCxcbiAgICAgICAgc2hvcnRVcmw6IGBodHRwczovLyR7Z2V0RW52KCdET01BSU5fTkFNRScpfS8ke2tleX1gLFxuICAgICAgfSksXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc29sZS5sb2coZXJyKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiA1MDAsXG4gICAgICBib2R5OiAnJyxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -8,7 +8,7 @@ This package contains type definitions for Node.js (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: Tue,
|
|
11
|
+
* Last updated: Tue, 01 Feb 2022 08:31:29 GMT
|
|
12
12
|
* Dependencies: none
|
|
13
13
|
* Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`
|
|
14
14
|
|
|
@@ -250,7 +250,7 @@ declare module 'crypto' {
|
|
|
250
250
|
*/
|
|
251
251
|
function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac;
|
|
252
252
|
// https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings
|
|
253
|
-
type BinaryToTextEncoding = 'base64' | 'base64url' | 'hex';
|
|
253
|
+
type BinaryToTextEncoding = 'base64' | 'base64url' | 'hex' | 'binary';
|
|
254
254
|
type CharacterEncoding = 'utf8' | 'utf-8' | 'utf16le' | 'latin1';
|
|
255
255
|
type LegacyCharacterEncoding = 'ascii' | 'binary' | 'ucs2' | 'ucs-2';
|
|
256
256
|
type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding;
|
|
@@ -50,7 +50,7 @@ declare module 'events' {
|
|
|
50
50
|
listener: (...args: any[]) => void,
|
|
51
51
|
opts?: {
|
|
52
52
|
once: boolean;
|
|
53
|
-
}
|
|
53
|
+
},
|
|
54
54
|
): any;
|
|
55
55
|
}
|
|
56
56
|
interface StaticEventEmitterOptions {
|
|
@@ -154,7 +154,11 @@ declare module 'events' {
|
|
|
154
154
|
* ```
|
|
155
155
|
* @since v11.13.0, v10.16.0
|
|
156
156
|
*/
|
|
157
|
-
static once(
|
|
157
|
+
static once(
|
|
158
|
+
emitter: NodeEventTarget,
|
|
159
|
+
eventName: string | symbol,
|
|
160
|
+
options?: StaticEventEmitterOptions,
|
|
161
|
+
): Promise<any[]>;
|
|
158
162
|
static once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>;
|
|
159
163
|
/**
|
|
160
164
|
* ```js
|
|
@@ -214,7 +218,11 @@ declare module 'events' {
|
|
|
214
218
|
* @param eventName The name of the event being listened for
|
|
215
219
|
* @return that iterates `eventName` events emitted by the `emitter`
|
|
216
220
|
*/
|
|
217
|
-
static on(
|
|
221
|
+
static on(
|
|
222
|
+
emitter: NodeJS.EventEmitter,
|
|
223
|
+
eventName: string,
|
|
224
|
+
options?: StaticEventEmitterOptions,
|
|
225
|
+
): AsyncIterableIterator<any>;
|
|
218
226
|
/**
|
|
219
227
|
* A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`.
|
|
220
228
|
*
|
|
@@ -260,6 +268,26 @@ declare module 'events' {
|
|
|
260
268
|
* @since v15.2.0, v14.17.0
|
|
261
269
|
*/
|
|
262
270
|
static getEventListeners(emitter: DOMEventTarget | NodeJS.EventEmitter, name: string | symbol): Function[];
|
|
271
|
+
/**
|
|
272
|
+
* By default `EventEmitter`s will print a warning if more than `10` listeners are
|
|
273
|
+
* added for a particular event. This is a useful default that helps finding
|
|
274
|
+
* memory leaks. The `EventEmitter.setMaxListeners()` method allows the default limit to be
|
|
275
|
+
* modified (if eventTargets is empty) or modify the limit specified in every `EventTarget` | `EventEmitter` passed as arguments.
|
|
276
|
+
* The value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners.
|
|
277
|
+
*
|
|
278
|
+
* ```js
|
|
279
|
+
* EventEmitter.setMaxListeners(20);
|
|
280
|
+
* // Equivalent to
|
|
281
|
+
* EventEmitter.defaultMaxListeners = 20;
|
|
282
|
+
*
|
|
283
|
+
* const eventTarget = new EventTarget();
|
|
284
|
+
* // Only way to increase limit for `EventTarget` instances
|
|
285
|
+
* // as these doesn't expose its own `setMaxListeners` method
|
|
286
|
+
* EventEmitter.setMaxListeners(20, eventTarget);
|
|
287
|
+
* ```
|
|
288
|
+
* @since v15.3.0, v14.17.0
|
|
289
|
+
*/
|
|
290
|
+
static setMaxListeners(n?: number, ...eventTargets: Array<DOMEventTarget | NodeJS.EventEmitter>): void;
|
|
263
291
|
/**
|
|
264
292
|
* This symbol shall be used to install a listener for only monitoring `'error'`
|
|
265
293
|
* events. Listeners installed using this symbol are called before the regular
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/node",
|
|
3
|
-
"version": "17.0.
|
|
3
|
+
"version": "17.0.14",
|
|
4
4
|
"description": "TypeScript definitions for Node.js",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
|
6
6
|
"license": "MIT",
|
|
@@ -220,6 +220,6 @@
|
|
|
220
220
|
},
|
|
221
221
|
"scripts": {},
|
|
222
222
|
"dependencies": {},
|
|
223
|
-
"typesPublisherContentHash": "
|
|
223
|
+
"typesPublisherContentHash": "6e8e93afce4fec9d11be4e66edf9445da476955206bcb7287f6832ff443d5f7c",
|
|
224
224
|
"typeScriptVersion": "3.8"
|
|
225
225
|
}
|
|
@@ -778,7 +778,7 @@ declare module 'url' {
|
|
|
778
778
|
* @param fn Invoked for each name-value pair in the query
|
|
779
779
|
* @param thisArg To be used as `this` value for when `fn` is called
|
|
780
780
|
*/
|
|
781
|
-
forEach<TThis = this>(callback: (this: TThis, value: string, name: string, searchParams:
|
|
781
|
+
forEach<TThis = this>(callback: (this: TThis, value: string, name: string, searchParams: URLSearchParams) => void, thisArg?: TThis): void;
|
|
782
782
|
/**
|
|
783
783
|
* Returns the value of the first name-value pair whose name is `name`. If there
|
|
784
784
|
* are no such pairs, `null` is returned.
|
|
@@ -855,6 +855,32 @@ declare module 'url' {
|
|
|
855
855
|
values(): IterableIterator<string>;
|
|
856
856
|
[Symbol.iterator](): IterableIterator<[string, string]>;
|
|
857
857
|
}
|
|
858
|
+
|
|
859
|
+
import { URL as _URL, URLSearchParams as _URLSearchParams } from 'url';
|
|
860
|
+
global {
|
|
861
|
+
interface URLSearchParams extends _URLSearchParams {}
|
|
862
|
+
interface URL extends _URL {}
|
|
863
|
+
interface Global {
|
|
864
|
+
URL: typeof _URL;
|
|
865
|
+
URLSearchParams: typeof _URLSearchParams;
|
|
866
|
+
}
|
|
867
|
+
/**
|
|
868
|
+
* `URL` class is a global reference for `require('url').URL`
|
|
869
|
+
* https://nodejs.org/api/url.html#the-whatwg-url-api
|
|
870
|
+
* @since v10.0.0
|
|
871
|
+
*/
|
|
872
|
+
var URL: typeof globalThis extends { webkitURL: infer URL } ? URL : typeof _URL;
|
|
873
|
+
/**
|
|
874
|
+
* `URLSearchParams` class is a global reference for `require('url').URLSearchParams`
|
|
875
|
+
* https://nodejs.org/api/url.html#class-urlsearchparams
|
|
876
|
+
* @since v10.0.0
|
|
877
|
+
*/
|
|
878
|
+
var URLSearchParams: {
|
|
879
|
+
prototype: URLSearchParams;
|
|
880
|
+
new(init?: string[][] | Record<string, string> | string | URLSearchParams): URLSearchParams;
|
|
881
|
+
toString(): string;
|
|
882
|
+
};
|
|
883
|
+
}
|
|
858
884
|
}
|
|
859
885
|
declare module 'node:url' {
|
|
860
886
|
export * from 'url';
|
|
@@ -317,7 +317,7 @@ declare module 'util' {
|
|
|
317
317
|
* @return The representation of `object`.
|
|
318
318
|
*/
|
|
319
319
|
export function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string;
|
|
320
|
-
export function inspect(object: any, options
|
|
320
|
+
export function inspect(object: any, options?: InspectOptions): string;
|
|
321
321
|
export namespace inspect {
|
|
322
322
|
let colors: NodeJS.Dict<[number, number]>;
|
|
323
323
|
let styles: {
|
|
@@ -8,7 +8,7 @@ This package contains type definitions for Node.js (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: Tue,
|
|
11
|
+
* Last updated: Tue, 01 Feb 2022 08:31:29 GMT
|
|
12
12
|
* Dependencies: none
|
|
13
13
|
* Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`
|
|
14
14
|
|
|
@@ -250,7 +250,7 @@ declare module 'crypto' {
|
|
|
250
250
|
*/
|
|
251
251
|
function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac;
|
|
252
252
|
// https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings
|
|
253
|
-
type BinaryToTextEncoding = 'base64' | 'base64url' | 'hex';
|
|
253
|
+
type BinaryToTextEncoding = 'base64' | 'base64url' | 'hex' | 'binary';
|
|
254
254
|
type CharacterEncoding = 'utf8' | 'utf-8' | 'utf16le' | 'latin1';
|
|
255
255
|
type LegacyCharacterEncoding = 'ascii' | 'binary' | 'ucs2' | 'ucs-2';
|
|
256
256
|
type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding;
|
|
@@ -50,7 +50,7 @@ declare module 'events' {
|
|
|
50
50
|
listener: (...args: any[]) => void,
|
|
51
51
|
opts?: {
|
|
52
52
|
once: boolean;
|
|
53
|
-
}
|
|
53
|
+
},
|
|
54
54
|
): any;
|
|
55
55
|
}
|
|
56
56
|
interface StaticEventEmitterOptions {
|
|
@@ -154,7 +154,11 @@ declare module 'events' {
|
|
|
154
154
|
* ```
|
|
155
155
|
* @since v11.13.0, v10.16.0
|
|
156
156
|
*/
|
|
157
|
-
static once(
|
|
157
|
+
static once(
|
|
158
|
+
emitter: NodeEventTarget,
|
|
159
|
+
eventName: string | symbol,
|
|
160
|
+
options?: StaticEventEmitterOptions,
|
|
161
|
+
): Promise<any[]>;
|
|
158
162
|
static once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>;
|
|
159
163
|
/**
|
|
160
164
|
* ```js
|
|
@@ -214,7 +218,11 @@ declare module 'events' {
|
|
|
214
218
|
* @param eventName The name of the event being listened for
|
|
215
219
|
* @return that iterates `eventName` events emitted by the `emitter`
|
|
216
220
|
*/
|
|
217
|
-
static on(
|
|
221
|
+
static on(
|
|
222
|
+
emitter: NodeJS.EventEmitter,
|
|
223
|
+
eventName: string,
|
|
224
|
+
options?: StaticEventEmitterOptions,
|
|
225
|
+
): AsyncIterableIterator<any>;
|
|
218
226
|
/**
|
|
219
227
|
* A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`.
|
|
220
228
|
*
|
|
@@ -260,6 +268,26 @@ declare module 'events' {
|
|
|
260
268
|
* @since v15.2.0, v14.17.0
|
|
261
269
|
*/
|
|
262
270
|
static getEventListeners(emitter: DOMEventTarget | NodeJS.EventEmitter, name: string | symbol): Function[];
|
|
271
|
+
/**
|
|
272
|
+
* By default `EventEmitter`s will print a warning if more than `10` listeners are
|
|
273
|
+
* added for a particular event. This is a useful default that helps finding
|
|
274
|
+
* memory leaks. The `EventEmitter.setMaxListeners()` method allows the default limit to be
|
|
275
|
+
* modified (if eventTargets is empty) or modify the limit specified in every `EventTarget` | `EventEmitter` passed as arguments.
|
|
276
|
+
* The value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners.
|
|
277
|
+
*
|
|
278
|
+
* ```js
|
|
279
|
+
* EventEmitter.setMaxListeners(20);
|
|
280
|
+
* // Equivalent to
|
|
281
|
+
* EventEmitter.defaultMaxListeners = 20;
|
|
282
|
+
*
|
|
283
|
+
* const eventTarget = new EventTarget();
|
|
284
|
+
* // Only way to increase limit for `EventTarget` instances
|
|
285
|
+
* // as these doesn't expose its own `setMaxListeners` method
|
|
286
|
+
* EventEmitter.setMaxListeners(20, eventTarget);
|
|
287
|
+
* ```
|
|
288
|
+
* @since v15.3.0, v14.17.0
|
|
289
|
+
*/
|
|
290
|
+
static setMaxListeners(n?: number, ...eventTargets: Array<DOMEventTarget | NodeJS.EventEmitter>): void;
|
|
263
291
|
/**
|
|
264
292
|
* This symbol shall be used to install a listener for only monitoring `'error'`
|
|
265
293
|
* events. Listeners installed using this symbol are called before the regular
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/node",
|
|
3
|
-
"version": "17.0.
|
|
3
|
+
"version": "17.0.14",
|
|
4
4
|
"description": "TypeScript definitions for Node.js",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
|
6
6
|
"license": "MIT",
|
|
@@ -220,6 +220,6 @@
|
|
|
220
220
|
},
|
|
221
221
|
"scripts": {},
|
|
222
222
|
"dependencies": {},
|
|
223
|
-
"typesPublisherContentHash": "
|
|
223
|
+
"typesPublisherContentHash": "6e8e93afce4fec9d11be4e66edf9445da476955206bcb7287f6832ff443d5f7c",
|
|
224
224
|
"typeScriptVersion": "3.8"
|
|
225
225
|
}
|
|
@@ -778,7 +778,7 @@ declare module 'url' {
|
|
|
778
778
|
* @param fn Invoked for each name-value pair in the query
|
|
779
779
|
* @param thisArg To be used as `this` value for when `fn` is called
|
|
780
780
|
*/
|
|
781
|
-
forEach<TThis = this>(callback: (this: TThis, value: string, name: string, searchParams:
|
|
781
|
+
forEach<TThis = this>(callback: (this: TThis, value: string, name: string, searchParams: URLSearchParams) => void, thisArg?: TThis): void;
|
|
782
782
|
/**
|
|
783
783
|
* Returns the value of the first name-value pair whose name is `name`. If there
|
|
784
784
|
* are no such pairs, `null` is returned.
|
|
@@ -855,6 +855,32 @@ declare module 'url' {
|
|
|
855
855
|
values(): IterableIterator<string>;
|
|
856
856
|
[Symbol.iterator](): IterableIterator<[string, string]>;
|
|
857
857
|
}
|
|
858
|
+
|
|
859
|
+
import { URL as _URL, URLSearchParams as _URLSearchParams } from 'url';
|
|
860
|
+
global {
|
|
861
|
+
interface URLSearchParams extends _URLSearchParams {}
|
|
862
|
+
interface URL extends _URL {}
|
|
863
|
+
interface Global {
|
|
864
|
+
URL: typeof _URL;
|
|
865
|
+
URLSearchParams: typeof _URLSearchParams;
|
|
866
|
+
}
|
|
867
|
+
/**
|
|
868
|
+
* `URL` class is a global reference for `require('url').URL`
|
|
869
|
+
* https://nodejs.org/api/url.html#the-whatwg-url-api
|
|
870
|
+
* @since v10.0.0
|
|
871
|
+
*/
|
|
872
|
+
var URL: typeof globalThis extends { webkitURL: infer URL } ? URL : typeof _URL;
|
|
873
|
+
/**
|
|
874
|
+
* `URLSearchParams` class is a global reference for `require('url').URLSearchParams`
|
|
875
|
+
* https://nodejs.org/api/url.html#class-urlsearchparams
|
|
876
|
+
* @since v10.0.0
|
|
877
|
+
*/
|
|
878
|
+
var URLSearchParams: {
|
|
879
|
+
prototype: URLSearchParams;
|
|
880
|
+
new(init?: string[][] | Record<string, string> | string | URLSearchParams): URLSearchParams;
|
|
881
|
+
toString(): string;
|
|
882
|
+
};
|
|
883
|
+
}
|
|
858
884
|
}
|
|
859
885
|
declare module 'node:url' {
|
|
860
886
|
export * from 'url';
|
|
@@ -317,7 +317,7 @@ declare module 'util' {
|
|
|
317
317
|
* @return The representation of `object`.
|
|
318
318
|
*/
|
|
319
319
|
export function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string;
|
|
320
|
-
export function inspect(object: any, options
|
|
320
|
+
export function inspect(object: any, options?: InspectOptions): string;
|
|
321
321
|
export namespace inspect {
|
|
322
322
|
let colors: NodeJS.Dict<[number, number]>;
|
|
323
323
|
let styles: {
|
|
@@ -8,7 +8,7 @@ This package contains type definitions for Node.js (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: Tue,
|
|
11
|
+
* Last updated: Tue, 01 Feb 2022 08:31:29 GMT
|
|
12
12
|
* Dependencies: none
|
|
13
13
|
* Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`
|
|
14
14
|
|
|
@@ -250,7 +250,7 @@ declare module 'crypto' {
|
|
|
250
250
|
*/
|
|
251
251
|
function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac;
|
|
252
252
|
// https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings
|
|
253
|
-
type BinaryToTextEncoding = 'base64' | 'base64url' | 'hex';
|
|
253
|
+
type BinaryToTextEncoding = 'base64' | 'base64url' | 'hex' | 'binary';
|
|
254
254
|
type CharacterEncoding = 'utf8' | 'utf-8' | 'utf16le' | 'latin1';
|
|
255
255
|
type LegacyCharacterEncoding = 'ascii' | 'binary' | 'ucs2' | 'ucs-2';
|
|
256
256
|
type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding;
|
|
@@ -50,7 +50,7 @@ declare module 'events' {
|
|
|
50
50
|
listener: (...args: any[]) => void,
|
|
51
51
|
opts?: {
|
|
52
52
|
once: boolean;
|
|
53
|
-
}
|
|
53
|
+
},
|
|
54
54
|
): any;
|
|
55
55
|
}
|
|
56
56
|
interface StaticEventEmitterOptions {
|
|
@@ -154,7 +154,11 @@ declare module 'events' {
|
|
|
154
154
|
* ```
|
|
155
155
|
* @since v11.13.0, v10.16.0
|
|
156
156
|
*/
|
|
157
|
-
static once(
|
|
157
|
+
static once(
|
|
158
|
+
emitter: NodeEventTarget,
|
|
159
|
+
eventName: string | symbol,
|
|
160
|
+
options?: StaticEventEmitterOptions,
|
|
161
|
+
): Promise<any[]>;
|
|
158
162
|
static once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>;
|
|
159
163
|
/**
|
|
160
164
|
* ```js
|
|
@@ -214,7 +218,11 @@ declare module 'events' {
|
|
|
214
218
|
* @param eventName The name of the event being listened for
|
|
215
219
|
* @return that iterates `eventName` events emitted by the `emitter`
|
|
216
220
|
*/
|
|
217
|
-
static on(
|
|
221
|
+
static on(
|
|
222
|
+
emitter: NodeJS.EventEmitter,
|
|
223
|
+
eventName: string,
|
|
224
|
+
options?: StaticEventEmitterOptions,
|
|
225
|
+
): AsyncIterableIterator<any>;
|
|
218
226
|
/**
|
|
219
227
|
* A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`.
|
|
220
228
|
*
|
|
@@ -260,6 +268,26 @@ declare module 'events' {
|
|
|
260
268
|
* @since v15.2.0, v14.17.0
|
|
261
269
|
*/
|
|
262
270
|
static getEventListeners(emitter: DOMEventTarget | NodeJS.EventEmitter, name: string | symbol): Function[];
|
|
271
|
+
/**
|
|
272
|
+
* By default `EventEmitter`s will print a warning if more than `10` listeners are
|
|
273
|
+
* added for a particular event. This is a useful default that helps finding
|
|
274
|
+
* memory leaks. The `EventEmitter.setMaxListeners()` method allows the default limit to be
|
|
275
|
+
* modified (if eventTargets is empty) or modify the limit specified in every `EventTarget` | `EventEmitter` passed as arguments.
|
|
276
|
+
* The value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners.
|
|
277
|
+
*
|
|
278
|
+
* ```js
|
|
279
|
+
* EventEmitter.setMaxListeners(20);
|
|
280
|
+
* // Equivalent to
|
|
281
|
+
* EventEmitter.defaultMaxListeners = 20;
|
|
282
|
+
*
|
|
283
|
+
* const eventTarget = new EventTarget();
|
|
284
|
+
* // Only way to increase limit for `EventTarget` instances
|
|
285
|
+
* // as these doesn't expose its own `setMaxListeners` method
|
|
286
|
+
* EventEmitter.setMaxListeners(20, eventTarget);
|
|
287
|
+
* ```
|
|
288
|
+
* @since v15.3.0, v14.17.0
|
|
289
|
+
*/
|
|
290
|
+
static setMaxListeners(n?: number, ...eventTargets: Array<DOMEventTarget | NodeJS.EventEmitter>): void;
|
|
263
291
|
/**
|
|
264
292
|
* This symbol shall be used to install a listener for only monitoring `'error'`
|
|
265
293
|
* events. Listeners installed using this symbol are called before the regular
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/node",
|
|
3
|
-
"version": "17.0.
|
|
3
|
+
"version": "17.0.14",
|
|
4
4
|
"description": "TypeScript definitions for Node.js",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
|
6
6
|
"license": "MIT",
|
|
@@ -220,6 +220,6 @@
|
|
|
220
220
|
},
|
|
221
221
|
"scripts": {},
|
|
222
222
|
"dependencies": {},
|
|
223
|
-
"typesPublisherContentHash": "
|
|
223
|
+
"typesPublisherContentHash": "6e8e93afce4fec9d11be4e66edf9445da476955206bcb7287f6832ff443d5f7c",
|
|
224
224
|
"typeScriptVersion": "3.8"
|
|
225
225
|
}
|