@remotion/lambda 3.2.12 → 3.2.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.
@@ -6,6 +6,7 @@ const get_functions_1 = require("../api/get-functions");
6
6
  const constants_1 = require("../shared/constants");
7
7
  const function_zip_path_1 = require("../shared/function-zip-path");
8
8
  const get_account_id_1 = require("../shared/get-account-id");
9
+ const lambda_version_string_1 = require("../shared/lambda-version-string");
9
10
  const validate_architecture_1 = require("../shared/validate-architecture");
10
11
  const validate_aws_region_1 = require("../shared/validate-aws-region");
11
12
  const validate_custom_role_arn_1 = require("../shared/validate-custom-role-arn");
@@ -37,7 +38,7 @@ const deployFunction = async (options) => {
37
38
  (0, validate_disk_size_in_mb_1.validateDiskSizeInMb)(diskSizeInMb);
38
39
  (0, validate_custom_role_arn_1.validateCustomRoleArn)(options.customRoleArn);
39
40
  const fnNameRender = [
40
- `${constants_1.RENDER_FN_PREFIX}${version_1.VERSION.replace(/\./g, '-')}`,
41
+ `${constants_1.RENDER_FN_PREFIX}${lambda_version_string_1.LAMBDA_VERSION_STRING}`,
41
42
  `mem${options.memorySizeInMb}mb`,
42
43
  `disk${diskSizeInMb}mb`,
43
44
  `${options.timeoutInSeconds}sec`,
@@ -6,6 +6,7 @@ const is_in_lambda_1 = require("../shared/is-in-lambda");
6
6
  const validate_aws_region_1 = require("../shared/validate-aws-region");
7
7
  const args_1 = require("./args");
8
8
  const getAwsRegion = () => {
9
+ var _a;
9
10
  if ((0, is_in_lambda_1.isInsideLambda)()) {
10
11
  throw new Error('Should not call getAwsRegion() if in lambda');
11
12
  }
@@ -13,7 +14,7 @@ const getAwsRegion = () => {
13
14
  (0, validate_aws_region_1.validateAwsRegion)(args_1.parsedLambdaCli.region);
14
15
  return args_1.parsedLambdaCli.region;
15
16
  }
16
- const envVariable = process.env.AWS_REGION;
17
+ const envVariable = (_a = process.env.REMOTION_AWS_REGION) !== null && _a !== void 0 ? _a : process.env.AWS_REGION;
17
18
  if (envVariable) {
18
19
  (0, validate_aws_region_1.validateAwsRegion)(envVariable);
19
20
  return envVariable;
@@ -6,9 +6,6 @@ export declare const planFrameRanges: ({ framesPerLambda, optimization, shouldUs
6
6
  frameRange: [number, number];
7
7
  everyNthFrame: number;
8
8
  }) => {
9
- chunks: [
10
- number,
11
- number
12
- ][];
9
+ chunks: [number, number][];
13
10
  didUseOptimization: boolean;
14
11
  };
@@ -0,0 +1,3 @@
1
+ import type { _Object } from '@aws-sdk/client-s3';
2
+ import type { AwsRegion } from '../../client';
3
+ export declare const checkIfRenderExists: (contents: _Object[], renderId: string, bucketName: string, region: AwsRegion) => void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkIfRenderExists = void 0;
4
+ const constants_1 = require("../../shared/constants");
5
+ const checkIfRenderExists = (contents, renderId, bucketName, region) => {
6
+ const initializedExists = Boolean(contents.find((c) => {
7
+ var _a;
8
+ return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.initalizedMetadataKey)(renderId));
9
+ }));
10
+ if (!initializedExists) {
11
+ throw new TypeError(`No render with ID "${renderId}" found in bucket ${bucketName} and region ${region}`);
12
+ }
13
+ };
14
+ exports.checkIfRenderExists = checkIfRenderExists;
@@ -12,7 +12,7 @@ const getFilesToDelete = ({ chunkCount, renderId, }) => {
12
12
  .map((_x, i) => (0, constants_1.lambdaTimingsPrefixForChunk)(renderId, i));
13
13
  return [
14
14
  {
15
- name: (0, constants_1.lambdaInitializedPrefix)(renderId),
15
+ name: (0, constants_1.lambdaChunkInitializedPrefix)(renderId),
16
16
  type: 'prefix',
17
17
  },
18
18
  ...chunks.map((i) => {
@@ -7,7 +7,7 @@ const min_max_1 = require("./min-max");
7
7
  const getLambdasInvokedStats = ({ contents, renderId, estimatedRenderLambdaInvokations, startDate, checkIfAllLambdasWereInvoked, }) => {
8
8
  var _a;
9
9
  const lambdasInvoked = contents
10
- .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaInitializedPrefix)(renderId)); })
10
+ .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId)); })
11
11
  .filter((c) => (0, parse_lambda_initialized_key_1.parseLambdaInitializedKey)(c.Key).attempt === 1);
12
12
  const allLambdasInvoked = !checkIfAllLambdasWereInvoked ||
13
13
  lambdasInvoked.length === estimatedRenderLambdaInvokations;
@@ -6,6 +6,7 @@ const constants_1 = require("../../shared/constants");
6
6
  const docs_url_1 = require("../../shared/docs-url");
7
7
  const calculate_chunk_times_1 = require("./calculate-chunk-times");
8
8
  const calculate_price_from_bucket_1 = require("./calculate-price-from-bucket");
9
+ const check_if_render_exists_1 = require("./check-if-render-exists");
9
10
  const expected_out_name_1 = require("./expected-out-name");
10
11
  const find_output_file_in_bucket_1 = require("./find-output-file-in-bucket");
11
12
  const format_costs_info_1 = require("./format-costs-info");
@@ -77,6 +78,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
77
78
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
78
79
  expectedBucketOwner,
79
80
  });
81
+ (0, check_if_render_exists_1.checkIfRenderExists)(contents, renderId, bucketName, (0, get_current_region_1.getCurrentRegionInFunction)());
80
82
  const renderMetadataExists = Boolean(contents.find((c) => c.Key === (0, constants_1.renderMetadataKey)(renderId)));
81
83
  const [encodingStatus, renderMetadata, errorExplanations] = await Promise.all([
82
84
  (0, get_encoding_metadata_1.getEncodingMetadata)({
@@ -5,7 +5,7 @@ const constants_1 = require("../../shared/constants");
5
5
  const parse_lambda_initialized_key_1 = require("../../shared/parse-lambda-initialized-key");
6
6
  const getRetryStats = ({ contents, renderId, }) => {
7
7
  const retries = contents
8
- .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaInitializedPrefix)(renderId)); })
8
+ .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId)); })
9
9
  .filter((c) => (0, parse_lambda_initialized_key_1.parseLambdaInitializedKey)(c.Key).attempt !== 1);
10
10
  return retries.map((retry) => {
11
11
  var _a;
@@ -13,6 +13,11 @@ export declare type LambdaLSInput = {
13
13
  };
14
14
  export declare type LambdaLsReturnType = Promise<_Object[]>;
15
15
  export declare const lambdaLs: ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }: LambdaLSInput) => LambdaLsReturnType;
16
+ export declare const lambdaDeleteFile: ({ bucketName, key, region, }: {
17
+ region: AwsRegion;
18
+ bucketName: string;
19
+ key: string;
20
+ }) => Promise<void>;
16
21
  export declare const lambdaWriteFile: ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, }: {
17
22
  bucketName: string;
18
23
  key: string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.lambdaReadFile = exports.lambdaWriteFile = exports.lambdaLs = void 0;
6
+ exports.lambdaReadFile = exports.lambdaWriteFile = exports.lambdaDeleteFile = exports.lambdaLs = void 0;
7
7
  const client_s3_1 = require("@aws-sdk/client-s3");
8
8
  const mime_types_1 = __importDefault(require("mime-types"));
9
9
  const aws_clients_1 = require("../../shared/aws-clients");
@@ -47,6 +47,13 @@ const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, conti
47
47
  }
48
48
  };
49
49
  exports.lambdaLs = lambdaLs;
50
+ const lambdaDeleteFile = async ({ bucketName, key, region, }) => {
51
+ await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.DeleteObjectCommand({
52
+ Bucket: bucketName,
53
+ Key: key,
54
+ }));
55
+ };
56
+ exports.lambdaDeleteFile = lambdaDeleteFile;
50
57
  const lambdaWriteFile = async ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, }) => {
51
58
  await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.PutObjectCommand({
52
59
  Bucket: bucketName,
@@ -36,7 +36,7 @@ const handler = async (params, context) => {
36
36
  inputProps: JSON.stringify(params.inputProps),
37
37
  isWarm,
38
38
  });
39
- return (0, start_1.startHandler)(params);
39
+ return (0, start_1.startHandler)(params, { expectedBucketOwner: currentUserId });
40
40
  }
41
41
  if (params.type === constants_1.LambdaRoutines.launch) {
42
42
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.launch, {
@@ -371,6 +371,11 @@ const innerLaunchHandler = async (params, options) => {
371
371
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
372
372
  renderId: params.renderId,
373
373
  });
374
+ await (0, io_1.lambdaDeleteFile)({
375
+ bucketName: params.bucketName,
376
+ key: (0, constants_1.initalizedMetadataKey)(params.renderId),
377
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
378
+ });
374
379
  await Promise.all([cleanupChunksProm, fs_1.default.promises.rm(outfile)]);
375
380
  };
376
381
  const launchHandler = async (params, options) => {
@@ -41,6 +41,7 @@ const renderHandler = async (params, options, logs) => {
41
41
  const outputLocation = path_1.default.join(outdir, `localchunk-${String(params.chunk).padStart(8, '0')}.${renderer_1.RenderInternals.getFileExtensionFromCodec(params.codec, 'chunk')}`);
42
42
  const chunkCodec = params.codec === 'gif' ? 'h264-mkv' : params.codec;
43
43
  const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
44
+ const downloads = {};
44
45
  await new Promise((resolve, reject) => {
45
46
  var _a;
46
47
  (0, renderer_1.renderMedia)({
@@ -78,7 +79,7 @@ const renderHandler = async (params, options, logs) => {
78
79
  tmpSize: (0, get_folder_size_1.getFolderSizeRecursively)('/tmp'),
79
80
  tmpDirFiles: (0, get_files_in_folder_1.getFolderFiles)('/tmp'),
80
81
  }),
81
- key: (0, constants_1.lambdaInitializedKey)({
82
+ key: (0, constants_1.lambdaChunkInitializedKey)({
82
83
  renderId: params.renderId,
83
84
  chunk: params.chunk,
84
85
  attempt: params.attempt,
@@ -105,7 +106,24 @@ const renderHandler = async (params, options, logs) => {
105
106
  proResProfile: params.proResProfile,
106
107
  onDownload: (src) => {
107
108
  console.log('Downloading', src);
108
- return () => undefined;
109
+ downloads[src] = 0;
110
+ return ({ percent, downloaded }) => {
111
+ if (percent === null) {
112
+ console.log(`Download progress (${src}): ${downloaded} bytes. Don't know final size of download, no Content-Length header.`);
113
+ return;
114
+ }
115
+ if (
116
+ // Only report every 10% change
117
+ downloads[src] > percent - 0.1 &&
118
+ percent !== 1) {
119
+ return;
120
+ }
121
+ downloads[src] = percent;
122
+ console.log(`Download progress (${src}): ${downloaded} bytes, ${(percent * 100).toFixed(1)}%`);
123
+ if (percent === 1) {
124
+ console.log(`Download complete: ${src}`);
125
+ }
126
+ };
109
127
  },
110
128
  overwrite: false,
111
129
  chromiumOptions: params.chromiumOptions,
@@ -1,5 +1,9 @@
1
1
  import type { LambdaPayload } from '../shared/constants';
2
- export declare const startHandler: (params: LambdaPayload) => Promise<{
2
+ declare type Options = {
3
+ expectedBucketOwner: string;
4
+ };
5
+ export declare const startHandler: (params: LambdaPayload, options: Options) => Promise<{
3
6
  bucketName: string;
4
7
  renderId: string;
5
8
  }>;
9
+ export {};
@@ -8,7 +8,8 @@ const aws_clients_1 = require("../shared/aws-clients");
8
8
  const constants_1 = require("../shared/constants");
9
9
  const random_hash_1 = require("../shared/random-hash");
10
10
  const get_current_region_1 = require("./helpers/get-current-region");
11
- const startHandler = async (params) => {
11
+ const io_1 = require("./helpers/io");
12
+ const startHandler = async (params, options) => {
12
13
  var _a;
13
14
  if (params.type !== constants_1.LambdaRoutines.start) {
14
15
  throw new TypeError('Expected type start');
@@ -23,6 +24,15 @@ const startHandler = async (params) => {
23
24
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
24
25
  });
25
26
  const renderId = (0, random_hash_1.randomHash)({ randomInTests: true });
27
+ const initialFile = (0, io_1.lambdaWriteFile)({
28
+ bucketName,
29
+ downloadBehavior: null,
30
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
31
+ body: 'Render was initialized',
32
+ expectedBucketOwner: options.expectedBucketOwner,
33
+ key: (0, constants_1.initalizedMetadataKey)(renderId),
34
+ privacy: 'private',
35
+ });
26
36
  const payload = {
27
37
  type: constants_1.LambdaRoutines.launch,
28
38
  framesPerLambda: params.framesPerLambda,
@@ -58,6 +68,7 @@ const startHandler = async (params) => {
58
68
  Payload: JSON.stringify(payload),
59
69
  InvocationType: 'Event',
60
70
  }));
71
+ await initialFile;
61
72
  return {
62
73
  bucketName,
63
74
  renderId,
@@ -32,8 +32,9 @@ export declare const LOG_GROUP_PREFIX = "/aws/lambda/";
32
32
  export declare const rendersPrefix: (renderId: string) => string;
33
33
  export declare const encodingProgressKey: (renderId: string) => string;
34
34
  export declare const renderMetadataKey: (renderId: string) => string;
35
- export declare const lambdaInitializedPrefix: (renderId: string) => string;
36
- export declare const lambdaInitializedKey: ({ renderId, chunk, attempt, }: {
35
+ export declare const initalizedMetadataKey: (renderId: string) => string;
36
+ export declare const lambdaChunkInitializedPrefix: (renderId: string) => string;
37
+ export declare const lambdaChunkInitializedKey: ({ renderId, chunk, attempt, }: {
37
38
  attempt: number;
38
39
  renderId: string;
39
40
  chunk: number;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.optimizationProfile = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaInitializedKey = exports.lambdaInitializedPrefix = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_ARCHITECTURE = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
3
+ exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.optimizationProfile = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaChunkInitializedKey = exports.lambdaChunkInitializedPrefix = exports.initalizedMetadataKey = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_ARCHITECTURE = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
4
4
  exports.MIN_MEMORY = 512;
5
5
  exports.MAX_MEMORY = 10240;
6
6
  exports.DEFAULT_MEMORY_SIZE = 2048;
@@ -29,10 +29,12 @@ const encodingProgressKey = (renderId) => `${(0, exports.rendersPrefix)(renderId
29
29
  exports.encodingProgressKey = encodingProgressKey;
30
30
  const renderMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/pre-render-metadata.json`;
31
31
  exports.renderMetadataKey = renderMetadataKey;
32
- const lambdaInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
33
- exports.lambdaInitializedPrefix = lambdaInitializedPrefix;
34
- const lambdaInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
35
- exports.lambdaInitializedKey = lambdaInitializedKey;
32
+ const initalizedMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/initialized.txt`;
33
+ exports.initalizedMetadataKey = initalizedMetadataKey;
34
+ const lambdaChunkInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
35
+ exports.lambdaChunkInitializedPrefix = lambdaChunkInitializedPrefix;
36
+ const lambdaChunkInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaChunkInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
37
+ exports.lambdaChunkInitializedKey = lambdaChunkInitializedKey;
36
38
  const lambdaTimingsPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-timings/chunk:`;
37
39
  exports.lambdaTimingsPrefix = lambdaTimingsPrefix;
38
40
  const lambdaTimingsPrefixForChunk = (renderId, chunk) => (0, exports.lambdaTimingsPrefix)(renderId) + String(chunk).padStart(8, '0');
@@ -0,0 +1 @@
1
+ export declare const LAMBDA_VERSION_STRING: string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LAMBDA_VERSION_STRING = void 0;
4
+ const version_1 = require("remotion/version");
5
+ exports.LAMBDA_VERSION_STRING = version_1.VERSION.replace(/\./g, '-')
6
+ .replace(/\+/g, '-')
7
+ .substring(0, 10);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/lambda",
3
- "version": "3.2.12",
3
+ "version": "3.2.13",
4
4
  "description": "Distributed renderer for Remotion based on AWS Lambda",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -32,12 +32,12 @@
32
32
  "@aws-sdk/client-service-quotas": "3.58.0",
33
33
  "@aws-sdk/lib-storage": "3.58.0",
34
34
  "@aws-sdk/s3-request-presigner": "3.58.0",
35
- "@remotion/bundler": "3.2.12",
36
- "@remotion/cli": "3.2.12",
37
- "@remotion/renderer": "3.2.12",
35
+ "@remotion/bundler": "3.2.13",
36
+ "@remotion/cli": "3.2.13",
37
+ "@remotion/renderer": "3.2.13",
38
38
  "aws-policies": "^1.0.1",
39
39
  "mime-types": "2.1.34",
40
- "remotion": "3.2.12"
40
+ "remotion": "3.2.13"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": ">=16.8.0",
@@ -62,5 +62,5 @@
62
62
  "publishConfig": {
63
63
  "access": "public"
64
64
  },
65
- "gitHead": "72c9a148cafdd4468fff41bbc7ca70a1776fb15e"
65
+ "gitHead": "989d20fc0ace36685c71396847e1b7b7a06d00d7"
66
66
  }
Binary file