@remotion/lambda 4.0.0-alpha.217 → 4.0.0-alpha10
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/dist/admin/bundle-lambda.js +12 -12
- package/dist/admin/generate-etag-list.js +4 -4
- package/dist/admin/make-layer-public.js +4 -5
- package/dist/api/create-bucket.js +34 -1
- package/dist/api/create-function.js +4 -4
- package/dist/api/delete-function.d.ts +2 -2
- package/dist/api/delete-function.js +2 -2
- package/dist/api/delete-site.d.ts +4 -4
- package/dist/api/delete-site.js +4 -4
- package/dist/api/deploy-function.d.ts +8 -7
- package/dist/api/deploy-function.js +26 -25
- package/dist/api/deploy-site.d.ts +2 -1
- package/dist/api/deploy-site.js +7 -4
- package/dist/api/download-media.d.ts +1 -1
- package/dist/api/download-media.js +3 -3
- package/dist/api/get-compositions-on-lambda.d.ts +1 -1
- package/dist/api/get-functions.d.ts +3 -3
- package/dist/api/get-functions.js +7 -7
- package/dist/api/get-or-create-bucket.d.ts +2 -2
- package/dist/api/get-or-create-bucket.js +6 -6
- package/dist/api/get-render-progress.d.ts +1 -1
- package/dist/api/get-render-progress.js +5 -10
- package/dist/api/get-sites.d.ts +0 -1
- package/dist/api/iam-validation/user-permissions.js +2 -0
- package/dist/api/make-lambda-payload.d.ts +5 -0
- package/dist/api/make-lambda-payload.js +77 -0
- package/dist/api/render-media-on-lambda.d.ts +3 -3
- package/dist/api/render-media-on-lambda.js +4 -60
- package/dist/api/render-still-on-lambda.d.ts +1 -1
- package/dist/api/speculate-function-name.d.ts +3 -3
- package/dist/api/speculate-function-name.js +3 -3
- package/dist/api/upload-dir.js +7 -7
- package/dist/cli/commands/functions/deploy.js +6 -3
- package/dist/cli/commands/functions/ls.js +8 -3
- package/dist/cli/commands/functions/rm.js +12 -5
- package/dist/cli/commands/functions/rmall.js +12 -6
- package/dist/cli/commands/quotas/increase.js +2 -2
- package/dist/cli/commands/render/render.js +32 -14
- package/dist/cli/commands/sites/create.js +5 -1
- package/dist/cli/commands/sites/index.js +3 -0
- package/dist/cli/commands/still.js +24 -9
- package/dist/cli/help.js +4 -0
- package/dist/cli/index.js +3 -3
- package/dist/cli/log.d.ts +2 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -4
- package/dist/functions/helpers/clean-tmpdir.js +7 -7
- package/dist/functions/helpers/concat-videos.js +7 -7
- package/dist/functions/helpers/get-browser-instance.js +1 -0
- package/dist/functions/helpers/get-chromium-executable-path.js +7 -6
- package/dist/functions/helpers/get-current-region.d.ts +1 -1
- package/dist/functions/helpers/get-files-in-folder.js +5 -5
- package/dist/functions/helpers/io.d.ts +8 -2
- package/dist/functions/helpers/io.js +22 -2
- package/dist/functions/helpers/streamify-response.d.ts +16 -0
- package/dist/functions/helpers/streamify-response.js +67 -0
- package/dist/functions/helpers/validate-composition.d.ts +4 -3
- package/dist/functions/helpers/validate-composition.js +9 -12
- package/dist/functions/index.d.ts +1 -18
- package/dist/functions/index.js +31 -10
- package/dist/functions/launch.js +12 -13
- package/dist/functions/renderer.js +6 -6
- package/dist/functions/still.js +8 -7
- package/dist/index.d.ts +1 -1
- package/dist/internals.d.ts +2 -0
- package/dist/internals.js +3 -0
- package/dist/shared/aws-clients.js +2 -2
- package/dist/shared/call-lambda.js +27 -2
- package/dist/shared/constants.d.ts +47 -45
- package/dist/shared/deserialize-input-props.d.ts +1 -1
- package/dist/shared/function-zip-path.js +2 -2
- package/dist/shared/get-etag.js +4 -4
- package/dist/shared/hosted-layers.js +35 -119
- package/dist/shared/invoke-webhook.d.ts +3 -1
- package/dist/shared/invoke-webhook.js +4 -4
- package/dist/shared/make-s3-key.js +2 -2
- package/dist/shared/make-s3-url.js +2 -2
- package/dist/shared/read-dir.js +2 -2
- package/dist/shared/return-values.d.ts +5 -0
- package/dist/shared/serialize-input-props.d.ts +1 -1
- package/dist/shared/serialize-input-props.js +1 -1
- package/dist/shared/validate-privacy.d.ts +1 -1
- package/dist/shared/validate-privacy.js +5 -2
- package/package.json +89 -90
- package/remotionlambda-arm64.zip +0 -0
- package/remotionlambda-x64.zip +0 -0
- package/remotionlambda.zip +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRenderProgressPayload = exports.makeLambdaRenderMediaPayload = void 0;
|
|
4
|
+
const version_1 = require("remotion/version");
|
|
5
|
+
const defaults_1 = require("../defaults");
|
|
6
|
+
const serialize_input_props_1 = require("../shared/serialize-input-props");
|
|
7
|
+
const validate_download_behavior_1 = require("../shared/validate-download-behavior");
|
|
8
|
+
const validate_frames_per_lambda_1 = require("../shared/validate-frames-per-lambda");
|
|
9
|
+
const validate_lambda_codec_1 = require("../shared/validate-lambda-codec");
|
|
10
|
+
const validate_serveurl_1 = require("../shared/validate-serveurl");
|
|
11
|
+
const makeLambdaRenderMediaPayload = async ({ rendererFunctionName, frameRange, framesPerLambda, forceBucketName: bucketName, codec, composition, serveUrl, imageFormat, inputProps, region, crf, envVariables, pixelFormat, proResProfile, maxRetries, privacy, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, everyNthFrame, numberOfGifLoops, audioBitrate, concurrencyPerLambda, audioCodec, forceHeight, forceWidth, webhook, videoBitrate, downloadBehavior, muted, overwrite, dumpBrowserLogs, jpegQuality, quality, }) => {
|
|
12
|
+
if (quality) {
|
|
13
|
+
throw new Error('quality has been renamed to jpegQuality. Please rename the option.');
|
|
14
|
+
}
|
|
15
|
+
const actualCodec = (0, validate_lambda_codec_1.validateLambdaCodec)(codec);
|
|
16
|
+
(0, validate_serveurl_1.validateServeUrl)(serveUrl);
|
|
17
|
+
(0, validate_frames_per_lambda_1.validateFramesPerLambda)({
|
|
18
|
+
framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
|
|
19
|
+
durationInFrames: 1,
|
|
20
|
+
});
|
|
21
|
+
(0, validate_download_behavior_1.validateDownloadBehavior)(downloadBehavior);
|
|
22
|
+
const serializedInputProps = await (0, serialize_input_props_1.serializeInputProps)({
|
|
23
|
+
inputProps: inputProps !== null && inputProps !== void 0 ? inputProps : {},
|
|
24
|
+
region,
|
|
25
|
+
type: 'video-or-audio',
|
|
26
|
+
userSpecifiedBucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
rendererFunctionName: rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : null,
|
|
30
|
+
framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
|
|
31
|
+
composition,
|
|
32
|
+
serveUrl,
|
|
33
|
+
inputProps: serializedInputProps,
|
|
34
|
+
codec: actualCodec,
|
|
35
|
+
imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : 'jpeg',
|
|
36
|
+
crf,
|
|
37
|
+
envVariables,
|
|
38
|
+
pixelFormat,
|
|
39
|
+
proResProfile,
|
|
40
|
+
jpegQuality,
|
|
41
|
+
maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : 1,
|
|
42
|
+
privacy: privacy !== null && privacy !== void 0 ? privacy : 'public',
|
|
43
|
+
logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
|
|
44
|
+
frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
|
|
45
|
+
outName: outName !== null && outName !== void 0 ? outName : null,
|
|
46
|
+
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
|
|
47
|
+
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
48
|
+
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
49
|
+
everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
|
|
50
|
+
numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : 0,
|
|
51
|
+
concurrencyPerLambda: concurrencyPerLambda !== null && concurrencyPerLambda !== void 0 ? concurrencyPerLambda : 1,
|
|
52
|
+
downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
|
|
53
|
+
muted: muted !== null && muted !== void 0 ? muted : false,
|
|
54
|
+
version: version_1.VERSION,
|
|
55
|
+
overwrite: overwrite !== null && overwrite !== void 0 ? overwrite : false,
|
|
56
|
+
audioBitrate: audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : null,
|
|
57
|
+
videoBitrate: videoBitrate !== null && videoBitrate !== void 0 ? videoBitrate : null,
|
|
58
|
+
webhook: webhook !== null && webhook !== void 0 ? webhook : null,
|
|
59
|
+
forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
|
|
60
|
+
forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
|
|
61
|
+
bucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
|
|
62
|
+
audioCodec: audioCodec !== null && audioCodec !== void 0 ? audioCodec : null,
|
|
63
|
+
dumpBrowserLogs: dumpBrowserLogs !== null && dumpBrowserLogs !== void 0 ? dumpBrowserLogs : false,
|
|
64
|
+
type: defaults_1.LambdaRoutines.start,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
exports.makeLambdaRenderMediaPayload = makeLambdaRenderMediaPayload;
|
|
68
|
+
const getRenderProgressPayload = ({ bucketName, renderId, s3OutputProvider, }) => {
|
|
69
|
+
return {
|
|
70
|
+
type: defaults_1.LambdaRoutines.status,
|
|
71
|
+
bucketName,
|
|
72
|
+
renderId,
|
|
73
|
+
version: version_1.VERSION,
|
|
74
|
+
s3OutputProvider,
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
exports.getRenderProgressPayload = getRenderProgressPayload;
|
|
@@ -8,7 +8,7 @@ export declare type RenderMediaOnLambdaInput = {
|
|
|
8
8
|
functionName: string;
|
|
9
9
|
serveUrl: string;
|
|
10
10
|
composition: string;
|
|
11
|
-
inputProps?: unknown
|
|
11
|
+
inputProps?: Record<string, unknown>;
|
|
12
12
|
codec: LambdaCodec;
|
|
13
13
|
imageFormat?: VideoImageFormat;
|
|
14
14
|
crf?: number | undefined;
|
|
@@ -74,8 +74,8 @@ export declare type RenderMediaOnLambdaOutput = {
|
|
|
74
74
|
* @param params.dumpBrowserLogs Whether to print browser logs to CloudWatch
|
|
75
75
|
* @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
|
|
76
76
|
*/
|
|
77
|
-
export declare const renderMediaOnLambda: (
|
|
77
|
+
export declare const renderMediaOnLambda: (input: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
|
|
78
78
|
/**
|
|
79
79
|
* @deprecated Renamed to renderMediaOnLambda()
|
|
80
80
|
*/
|
|
81
|
-
export declare const renderVideoOnLambda: (
|
|
81
|
+
export declare const renderVideoOnLambda: (input: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.renderVideoOnLambda = exports.renderMediaOnLambda = void 0;
|
|
4
|
-
const version_1 = require("remotion/version");
|
|
5
4
|
const call_lambda_1 = require("../shared/call-lambda");
|
|
6
5
|
const constants_1 = require("../shared/constants");
|
|
7
6
|
const get_aws_urls_1 = require("../shared/get-aws-urls");
|
|
8
|
-
const
|
|
9
|
-
const validate_download_behavior_1 = require("../shared/validate-download-behavior");
|
|
10
|
-
const validate_frames_per_lambda_1 = require("../shared/validate-frames-per-lambda");
|
|
11
|
-
const validate_lambda_codec_1 = require("../shared/validate-lambda-codec");
|
|
12
|
-
const validate_serveurl_1 = require("../shared/validate-serveurl");
|
|
7
|
+
const make_lambda_payload_1 = require("./make-lambda-payload");
|
|
13
8
|
/**
|
|
14
9
|
* @description Triggers a render on a lambda given a composition and a lambda function.
|
|
15
10
|
* @see [Documentation](https://remotion.dev/docs/lambda/rendermediaonlambda)
|
|
@@ -30,65 +25,14 @@ const validate_serveurl_1 = require("../shared/validate-serveurl");
|
|
|
30
25
|
* @param params.dumpBrowserLogs Whether to print browser logs to CloudWatch
|
|
31
26
|
* @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
|
|
32
27
|
*/
|
|
33
|
-
const renderMediaOnLambda = async (
|
|
28
|
+
const renderMediaOnLambda = async (input) => {
|
|
34
29
|
var _a;
|
|
35
|
-
|
|
36
|
-
throw new Error(`"quality" has been renamed. Use "jpegQuality" instead.`);
|
|
37
|
-
}
|
|
38
|
-
const actualCodec = (0, validate_lambda_codec_1.validateLambdaCodec)(codec);
|
|
39
|
-
(0, validate_serveurl_1.validateServeUrl)(serveUrl);
|
|
40
|
-
(0, validate_frames_per_lambda_1.validateFramesPerLambda)({
|
|
41
|
-
framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
|
|
42
|
-
durationInFrames: 1,
|
|
43
|
-
});
|
|
44
|
-
(0, validate_download_behavior_1.validateDownloadBehavior)(downloadBehavior);
|
|
45
|
-
const serializedInputProps = await (0, serialize_input_props_1.serializeInputProps)({
|
|
46
|
-
inputProps,
|
|
47
|
-
region,
|
|
48
|
-
type: 'video-or-audio',
|
|
49
|
-
userSpecifiedBucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
|
|
50
|
-
});
|
|
30
|
+
const { functionName, region, rendererFunctionName } = input;
|
|
51
31
|
try {
|
|
52
32
|
const res = await (0, call_lambda_1.callLambda)({
|
|
53
33
|
functionName,
|
|
54
34
|
type: constants_1.LambdaRoutines.start,
|
|
55
|
-
payload:
|
|
56
|
-
rendererFunctionName: rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : null,
|
|
57
|
-
framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
|
|
58
|
-
composition,
|
|
59
|
-
serveUrl,
|
|
60
|
-
inputProps: serializedInputProps,
|
|
61
|
-
codec: actualCodec,
|
|
62
|
-
imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : 'jpeg',
|
|
63
|
-
crf,
|
|
64
|
-
envVariables,
|
|
65
|
-
pixelFormat,
|
|
66
|
-
proResProfile,
|
|
67
|
-
jpegQuality,
|
|
68
|
-
maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : 1,
|
|
69
|
-
privacy: privacy !== null && privacy !== void 0 ? privacy : 'public',
|
|
70
|
-
logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
|
|
71
|
-
frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
|
|
72
|
-
outName: outName !== null && outName !== void 0 ? outName : null,
|
|
73
|
-
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
|
|
74
|
-
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
75
|
-
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
76
|
-
everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
|
|
77
|
-
numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : 0,
|
|
78
|
-
concurrencyPerLambda: concurrencyPerLambda !== null && concurrencyPerLambda !== void 0 ? concurrencyPerLambda : 1,
|
|
79
|
-
downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
|
|
80
|
-
muted: muted !== null && muted !== void 0 ? muted : false,
|
|
81
|
-
version: version_1.VERSION,
|
|
82
|
-
overwrite: overwrite !== null && overwrite !== void 0 ? overwrite : false,
|
|
83
|
-
audioBitrate: audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : null,
|
|
84
|
-
videoBitrate: videoBitrate !== null && videoBitrate !== void 0 ? videoBitrate : null,
|
|
85
|
-
webhook: webhook !== null && webhook !== void 0 ? webhook : null,
|
|
86
|
-
forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
|
|
87
|
-
forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
|
|
88
|
-
bucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
|
|
89
|
-
audioCodec: audioCodec !== null && audioCodec !== void 0 ? audioCodec : null,
|
|
90
|
-
dumpBrowserLogs: dumpBrowserLogs !== null && dumpBrowserLogs !== void 0 ? dumpBrowserLogs : false,
|
|
91
|
-
},
|
|
35
|
+
payload: await (0, make_lambda_payload_1.makeLambdaRenderMediaPayload)(input),
|
|
92
36
|
region,
|
|
93
37
|
});
|
|
94
38
|
return {
|
|
@@ -6,9 +6,9 @@ export declare type SpeculateFunctionNameInput = {
|
|
|
6
6
|
/**
|
|
7
7
|
* @description Speculate the name of a lambda function that will be created when you call `deployFunction`, based on the function configuration.
|
|
8
8
|
* @see [Documentation](https://www.remotion.dev/docs/lambda/speculatefunctionname)
|
|
9
|
-
* @param
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
9
|
+
* @param params.memorySizeInMb How much memory is allocated to the Lambda function.
|
|
10
|
+
* @param params.diskSizeInMb The amount of storage the function is allocated.
|
|
11
|
+
* @param params.timeoutInSeconds Time in seconds until the function times out.
|
|
12
12
|
* @returns {string} The speculated lambda function name
|
|
13
13
|
*/
|
|
14
14
|
export declare const speculateFunctionName: ({ memorySizeInMb, diskSizeInMb, timeoutInSeconds, }: SpeculateFunctionNameInput) => string;
|
|
@@ -6,9 +6,9 @@ const lambda_version_string_1 = require("../shared/lambda-version-string");
|
|
|
6
6
|
/**
|
|
7
7
|
* @description Speculate the name of a lambda function that will be created when you call `deployFunction`, based on the function configuration.
|
|
8
8
|
* @see [Documentation](https://www.remotion.dev/docs/lambda/speculatefunctionname)
|
|
9
|
-
* @param
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
9
|
+
* @param params.memorySizeInMb How much memory is allocated to the Lambda function.
|
|
10
|
+
* @param params.diskSizeInMb The amount of storage the function is allocated.
|
|
11
|
+
* @param params.timeoutInSeconds Time in seconds until the function times out.
|
|
12
12
|
* @returns {string} The speculated lambda function name
|
|
13
13
|
*/
|
|
14
14
|
const speculateFunctionName = ({ memorySizeInMb, diskSizeInMb, timeoutInSeconds, }) => {
|
package/dist/api/upload-dir.js
CHANGED
|
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.uploadDir = exports.getDirFiles = void 0;
|
|
7
7
|
const lib_storage_1 = require("@aws-sdk/lib-storage");
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
8
|
const mime_types_1 = __importDefault(require("mime-types"));
|
|
10
|
-
const
|
|
9
|
+
const node_fs_1 = require("node:fs");
|
|
10
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
11
11
|
const aws_clients_1 = require("../shared/aws-clients");
|
|
12
12
|
const make_s3_key_1 = require("../shared/make-s3-key");
|
|
13
13
|
const getDirFiles = (entry) => {
|
|
@@ -15,14 +15,14 @@ const getDirFiles = (entry) => {
|
|
|
15
15
|
};
|
|
16
16
|
exports.getDirFiles = getDirFiles;
|
|
17
17
|
async function getFiles(directory, originalDirectory, toUpload) {
|
|
18
|
-
const dirents = await
|
|
18
|
+
const dirents = await node_fs_1.promises.readdir(directory, { withFileTypes: true });
|
|
19
19
|
const _files = await Promise.all(dirents
|
|
20
20
|
.map((dirent) => {
|
|
21
|
-
const res =
|
|
21
|
+
const res = node_path_1.default.resolve(directory, dirent.name);
|
|
22
22
|
return [dirent, res];
|
|
23
23
|
})
|
|
24
24
|
.filter(([dirent, res]) => {
|
|
25
|
-
const relative =
|
|
25
|
+
const relative = node_path_1.default.relative(originalDirectory, res);
|
|
26
26
|
if (dirent.isDirectory()) {
|
|
27
27
|
return true;
|
|
28
28
|
}
|
|
@@ -32,7 +32,7 @@ async function getFiles(directory, originalDirectory, toUpload) {
|
|
|
32
32
|
return true;
|
|
33
33
|
})
|
|
34
34
|
.map(async ([dirent, res]) => {
|
|
35
|
-
const { size } = await
|
|
35
|
+
const { size } = await node_fs_1.promises.stat(res);
|
|
36
36
|
return dirent.isDirectory()
|
|
37
37
|
? getFiles(res, originalDirectory, toUpload)
|
|
38
38
|
: [
|
|
@@ -53,7 +53,7 @@ const uploadDir = async ({ bucket, region, localDir, onProgress, keyPrefix, priv
|
|
|
53
53
|
const client = (0, aws_clients_1.getS3Client)(region, null);
|
|
54
54
|
const uploads = files.map((filePath) => {
|
|
55
55
|
const Key = (0, make_s3_key_1.makeS3Key)(keyPrefix, localDir, filePath.name);
|
|
56
|
-
const Body = (0,
|
|
56
|
+
const Body = (0, node_fs_1.createReadStream)(filePath.name);
|
|
57
57
|
const ContentType = mime_types_1.default.lookup(Key) || 'application/octet-stream';
|
|
58
58
|
const ACL = privacy === 'no-acl'
|
|
59
59
|
? undefined
|
|
@@ -39,8 +39,11 @@ CloudWatch Retention Period = ${cloudWatchLogRetentionPeriodInDays} days
|
|
|
39
39
|
const output = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
40
40
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
41
41
|
cancelSignal: null,
|
|
42
|
+
// No browser logs
|
|
43
|
+
updatesDontOverwrite: false,
|
|
44
|
+
indent: false,
|
|
42
45
|
});
|
|
43
|
-
output.update('Deploying Lambda...');
|
|
46
|
+
output.update('Deploying Lambda...', false);
|
|
44
47
|
const { functionName, alreadyExisted } = await (0, deploy_function_1.deployFunction)({
|
|
45
48
|
createCloudWatchLogGroup,
|
|
46
49
|
region,
|
|
@@ -54,10 +57,10 @@ CloudWatch Retention Period = ${cloudWatchLogRetentionPeriodInDays} days
|
|
|
54
57
|
cli_1.CliInternals.Log.info(functionName);
|
|
55
58
|
}
|
|
56
59
|
if (alreadyExisted) {
|
|
57
|
-
output.update(`Already exists as ${functionName}
|
|
60
|
+
output.update(`Already exists as ${functionName}`, true);
|
|
58
61
|
}
|
|
59
62
|
else {
|
|
60
|
-
output.update(`Deployed as ${functionName}\n
|
|
63
|
+
output.update(`Deployed as ${functionName}\n`, true);
|
|
61
64
|
}
|
|
62
65
|
};
|
|
63
66
|
exports.functionsDeploySubcommand = functionsDeploySubcommand;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.functionsLsCommand = exports.FUNCTIONS_LS_SUBCOMMAND = void 0;
|
|
4
4
|
const cli_1 = require("@remotion/cli");
|
|
5
|
+
const renderer_1 = require("@remotion/renderer");
|
|
5
6
|
const get_functions_1 = require("../../../api/get-functions");
|
|
6
7
|
const get_aws_region_1 = require("../../get-aws-region");
|
|
7
8
|
const NAME_COLS = 70;
|
|
@@ -15,8 +16,12 @@ const functionsLsCommand = async () => {
|
|
|
15
16
|
const fetchingOutput = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
16
17
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
17
18
|
cancelSignal: null,
|
|
19
|
+
updatesDontOverwrite: cli_1.CliInternals.shouldUseNonOverlayingLogger({
|
|
20
|
+
logLevel: renderer_1.RenderInternals.getLogLevel(),
|
|
21
|
+
}),
|
|
22
|
+
indent: false,
|
|
18
23
|
});
|
|
19
|
-
fetchingOutput.update('Getting functions...');
|
|
24
|
+
fetchingOutput.update('Getting functions...', false);
|
|
20
25
|
const functions = await (0, get_functions_1.getFunctions)({
|
|
21
26
|
region,
|
|
22
27
|
compatibleOnly: false,
|
|
@@ -29,9 +34,9 @@ const functionsLsCommand = async () => {
|
|
|
29
34
|
cli_1.CliInternals.Log.info(functions.map((f) => f.functionName).join(' '));
|
|
30
35
|
return;
|
|
31
36
|
}
|
|
32
|
-
fetchingOutput.update('Getting function info...');
|
|
37
|
+
fetchingOutput.update('Getting function info...', false);
|
|
33
38
|
const pluralized = functions.length === 1 ? 'function' : 'functions';
|
|
34
|
-
fetchingOutput.update(`${functions.length} ${pluralized} in the ${region} region
|
|
39
|
+
fetchingOutput.update(`${functions.length} ${pluralized} in the ${region} region`, true);
|
|
35
40
|
cli_1.CliInternals.Log.info();
|
|
36
41
|
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray([
|
|
37
42
|
'Name'.padEnd(NAME_COLS, ' '),
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.functionsRmCommand = exports.FUNCTIONS_RM_SUBCOMMAND = void 0;
|
|
4
4
|
const cli_1 = require("@remotion/cli");
|
|
5
|
+
const renderer_1 = require("@remotion/renderer");
|
|
5
6
|
const delete_function_1 = require("../../../api/delete-function");
|
|
6
7
|
const get_function_info_1 = require("../../../api/get-function-info");
|
|
7
8
|
const constants_1 = require("../../../shared/constants");
|
|
@@ -29,8 +30,11 @@ const functionsRmCommand = async (args) => {
|
|
|
29
30
|
const infoOutput = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
30
31
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
31
32
|
cancelSignal: null,
|
|
33
|
+
// No browser logs
|
|
34
|
+
updatesDontOverwrite: false,
|
|
35
|
+
indent: false,
|
|
32
36
|
});
|
|
33
|
-
infoOutput.update('Getting function info...');
|
|
37
|
+
infoOutput.update('Getting function info...', false);
|
|
34
38
|
const info = await (0, get_function_info_1.getFunctionInfo)({
|
|
35
39
|
region,
|
|
36
40
|
functionName,
|
|
@@ -40,16 +44,19 @@ const functionsRmCommand = async (args) => {
|
|
|
40
44
|
'Memory: '.padEnd(LEFT_COL, ' ') + ' ' + info.memorySizeInMb + 'MB',
|
|
41
45
|
'Timeout: '.padEnd(LEFT_COL, ' ') + ' ' + info.timeoutInSeconds + 'sec',
|
|
42
46
|
'Version: '.padEnd(LEFT_COL, ' ') + ' ' + info.version,
|
|
43
|
-
].join('\n'));
|
|
44
|
-
log_1.Log.info();
|
|
47
|
+
].join('\n'), true);
|
|
45
48
|
await (0, confirm_1.confirmCli)({ delMessage: 'Delete? (Y/n)', allowForceFlag: true });
|
|
46
49
|
const output = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
47
50
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
48
51
|
cancelSignal: null,
|
|
52
|
+
updatesDontOverwrite: cli_1.CliInternals.shouldUseNonOverlayingLogger({
|
|
53
|
+
logLevel: renderer_1.RenderInternals.getLogLevel(),
|
|
54
|
+
}),
|
|
55
|
+
indent: false,
|
|
49
56
|
});
|
|
50
|
-
output.update('Deleting...');
|
|
57
|
+
output.update('Deleting...', false);
|
|
51
58
|
await (0, delete_function_1.deleteFunction)({ region, functionName });
|
|
52
|
-
output.update('Deleted
|
|
59
|
+
output.update('Deleted!', true);
|
|
53
60
|
}
|
|
54
61
|
};
|
|
55
62
|
exports.functionsRmCommand = functionsRmCommand;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.functionsRmallCommand = exports.FUNCTIONS_RMALL_SUBCOMMAND = void 0;
|
|
4
4
|
const cli_1 = require("@remotion/cli");
|
|
5
|
+
const renderer_1 = require("@remotion/renderer");
|
|
5
6
|
const delete_function_1 = require("../../../api/delete-function");
|
|
6
7
|
const get_function_info_1 = require("../../../api/get-function-info");
|
|
7
8
|
const get_functions_1 = require("../../../api/get-functions");
|
|
8
9
|
const get_aws_region_1 = require("../../get-aws-region");
|
|
9
10
|
const confirm_1 = require("../../helpers/confirm");
|
|
10
|
-
const log_1 = require("../../log");
|
|
11
11
|
exports.FUNCTIONS_RMALL_SUBCOMMAND = 'rmall';
|
|
12
12
|
const LEFT_COL = 16;
|
|
13
13
|
const functionsRmallCommand = async () => {
|
|
@@ -20,8 +20,11 @@ const functionsRmallCommand = async () => {
|
|
|
20
20
|
const infoOutput = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
21
21
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
22
22
|
cancelSignal: null,
|
|
23
|
+
// No browser logs
|
|
24
|
+
updatesDontOverwrite: false,
|
|
25
|
+
indent: false,
|
|
23
26
|
});
|
|
24
|
-
infoOutput.update('Getting function info...');
|
|
27
|
+
infoOutput.update('Getting function info...', false);
|
|
25
28
|
const info = await (0, get_function_info_1.getFunctionInfo)({
|
|
26
29
|
region,
|
|
27
30
|
functionName: fun.functionName,
|
|
@@ -31,16 +34,19 @@ const functionsRmallCommand = async () => {
|
|
|
31
34
|
'Memory: '.padEnd(LEFT_COL, ' ') + ' ' + info.memorySizeInMb + 'MB',
|
|
32
35
|
'Timeout: '.padEnd(LEFT_COL, ' ') + ' ' + info.timeoutInSeconds + 'sec',
|
|
33
36
|
'Version: '.padEnd(LEFT_COL, ' ') + ' ' + info.version,
|
|
34
|
-
].join('\n'));
|
|
35
|
-
log_1.Log.info();
|
|
37
|
+
].join('\n'), true);
|
|
36
38
|
await (0, confirm_1.confirmCli)({ delMessage: 'Delete? (Y/n)', allowForceFlag: true });
|
|
37
39
|
const output = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
38
40
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
39
41
|
cancelSignal: null,
|
|
42
|
+
updatesDontOverwrite: cli_1.CliInternals.shouldUseNonOverlayingLogger({
|
|
43
|
+
logLevel: renderer_1.RenderInternals.getLogLevel(),
|
|
44
|
+
}),
|
|
45
|
+
indent: false,
|
|
40
46
|
});
|
|
41
|
-
output.update('Deleting...');
|
|
47
|
+
output.update('Deleting...', false);
|
|
42
48
|
await (0, delete_function_1.deleteFunction)({ region, functionName: fun.functionName });
|
|
43
|
-
output.update('Deleted
|
|
49
|
+
output.update('Deleted!', true);
|
|
44
50
|
}
|
|
45
51
|
};
|
|
46
52
|
exports.functionsRmallCommand = functionsRmallCommand;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.quotasIncreaseCommand = exports.INCREASE_SUBCOMMAND = void 0;
|
|
4
4
|
const client_service_quotas_1 = require("@aws-sdk/client-service-quotas");
|
|
5
|
-
const
|
|
5
|
+
const node_process_1 = require("node:process");
|
|
6
6
|
const _1 = require(".");
|
|
7
7
|
const defaults_1 = require("../../../defaults");
|
|
8
8
|
const aws_clients_1 = require("../../../shared/aws-clients");
|
|
@@ -36,7 +36,7 @@ const quotasIncreaseCommand = async () => {
|
|
|
36
36
|
if (openCase) {
|
|
37
37
|
log_1.Log.warn(`A request to increase it to ${openCase.DesiredValue} is already pending:`);
|
|
38
38
|
log_1.Log.warn(`https://${region}.console.aws.amazon.com/support/home#/case/?displayId=${openCase.CaseId}`);
|
|
39
|
-
(0,
|
|
39
|
+
(0, node_process_1.exit)(1);
|
|
40
40
|
}
|
|
41
41
|
const concurrencyCurrent = (_b = concurrencyLimit.Quota) === null || _b === void 0 ? void 0 : _b.Value;
|
|
42
42
|
const defaultConcurrency = (_c = defaultConcurrencyLimit.Quota) === null || _c === void 0 ? void 0 : _c.Value;
|
|
@@ -31,12 +31,32 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
31
31
|
(0, quit_1.quit)(1);
|
|
32
32
|
}
|
|
33
33
|
const region = (0, get_aws_region_1.getAwsRegion)();
|
|
34
|
+
const { chromiumOptions, crf, envVariables, frameRange, inputProps, logLevel, pixelFormat, proResProfile, puppeteerTimeout, jpegQuality, scale, everyNthFrame, numberOfGifLoops, muted, overwrite, audioBitrate, videoBitrate, height, width, browserExecutable, port, } = await cli_1.CliInternals.getCliOptions({
|
|
35
|
+
type: 'series',
|
|
36
|
+
isLambda: true,
|
|
37
|
+
remotionRoot,
|
|
38
|
+
});
|
|
34
39
|
let composition = args[1];
|
|
35
40
|
if (!composition) {
|
|
36
41
|
log_1.Log.info('No compositions passed. Fetching compositions...');
|
|
37
42
|
(0, validate_serveurl_1.validateServeUrl)(serveUrl);
|
|
38
|
-
const
|
|
39
|
-
|
|
43
|
+
const { compositionId } = await cli_1.CliInternals.getCompositionWithDimensionOverride({
|
|
44
|
+
args,
|
|
45
|
+
compositionIdFromUi: null,
|
|
46
|
+
browserExecutable,
|
|
47
|
+
chromiumOptions,
|
|
48
|
+
downloadMap: undefined,
|
|
49
|
+
envVariables,
|
|
50
|
+
height,
|
|
51
|
+
indent: false,
|
|
52
|
+
inputProps,
|
|
53
|
+
port,
|
|
54
|
+
puppeteerInstance: undefined,
|
|
55
|
+
serveUrlOrWebpackUrl: serveUrl,
|
|
56
|
+
timeoutInMilliseconds: puppeteerTimeout,
|
|
57
|
+
verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
|
|
58
|
+
width,
|
|
59
|
+
});
|
|
40
60
|
composition = compositionId;
|
|
41
61
|
}
|
|
42
62
|
const outName = args_1.parsedLambdaCli['out-name'];
|
|
@@ -48,11 +68,6 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
48
68
|
configFile: (_b = config_1.ConfigInternals.getOutputCodecOrUndefined()) !== null && _b !== void 0 ? _b : null,
|
|
49
69
|
uiCodec: null,
|
|
50
70
|
});
|
|
51
|
-
const { chromiumOptions, crf, envVariables, frameRange, inputProps, logLevel, pixelFormat, proResProfile, puppeteerTimeout, jpegQuality, scale, everyNthFrame, numberOfGifLoops, muted, overwrite, audioBitrate, videoBitrate, height, width, } = await cli_1.CliInternals.getCliOptions({
|
|
52
|
-
type: 'series',
|
|
53
|
-
isLambda: true,
|
|
54
|
-
remotionRoot,
|
|
55
|
-
});
|
|
56
71
|
const imageFormat = cli_1.CliInternals.getVideoImageFormat({
|
|
57
72
|
codec,
|
|
58
73
|
uiImageFormat: null,
|
|
@@ -61,7 +76,7 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
61
76
|
const maxRetries = (_c = args_1.parsedLambdaCli['max-retries']) !== null && _c !== void 0 ? _c : constants_1.DEFAULT_MAX_RETRIES;
|
|
62
77
|
(0, validate_retries_1.validateMaxRetries)(maxRetries);
|
|
63
78
|
const privacy = (_d = args_1.parsedLambdaCli.privacy) !== null && _d !== void 0 ? _d : constants_1.DEFAULT_OUTPUT_PRIVACY;
|
|
64
|
-
(0, validate_privacy_1.validatePrivacy)(privacy);
|
|
79
|
+
(0, validate_privacy_1.validatePrivacy)(privacy, true);
|
|
65
80
|
const framesPerLambda = (_e = args_1.parsedLambdaCli['frames-per-lambda']) !== null && _e !== void 0 ? _e : undefined;
|
|
66
81
|
(0, validate_frames_per_lambda_1.validateFramesPerLambda)({ framesPerLambda, durationInFrames: 1 });
|
|
67
82
|
const res = await (0, render_media_on_lambda_1.renderMediaOnLambda)({
|
|
@@ -109,6 +124,9 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
109
124
|
const progressBar = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
110
125
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
111
126
|
cancelSignal: null,
|
|
127
|
+
// No browser logs in Lambda
|
|
128
|
+
updatesDontOverwrite: false,
|
|
129
|
+
indent: false,
|
|
112
130
|
});
|
|
113
131
|
log_1.Log.info(cli_1.CliInternals.chalk.gray(`bucket = ${res.bucketName}, function = ${functionName}`));
|
|
114
132
|
log_1.Log.info(cli_1.CliInternals.chalk.gray(`renderId = ${res.renderId}, codec = ${codec} (${reason})`));
|
|
@@ -130,7 +148,7 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
130
148
|
verbose,
|
|
131
149
|
totalFrames: getTotalFrames(status),
|
|
132
150
|
timeToEncode: status.timeToEncode,
|
|
133
|
-
}));
|
|
151
|
+
}), false);
|
|
134
152
|
// eslint-disable-next-line no-constant-condition
|
|
135
153
|
while (true) {
|
|
136
154
|
await (0, sleep_1.sleep)(1000);
|
|
@@ -149,7 +167,7 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
149
167
|
verbose,
|
|
150
168
|
timeToEncode: newStatus.timeToEncode,
|
|
151
169
|
totalFrames: getTotalFrames(newStatus),
|
|
152
|
-
}));
|
|
170
|
+
}), false);
|
|
153
171
|
if (newStatus.done) {
|
|
154
172
|
progressBar.update((0, progress_1.makeProgressString)({
|
|
155
173
|
progress: newProgress,
|
|
@@ -159,7 +177,7 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
159
177
|
verbose,
|
|
160
178
|
timeToEncode: newStatus.timeToEncode,
|
|
161
179
|
totalFrames: getTotalFrames(newStatus),
|
|
162
|
-
}));
|
|
180
|
+
}), false);
|
|
163
181
|
if (downloadName) {
|
|
164
182
|
const downloadStart = Date.now();
|
|
165
183
|
const { outputPath, sizeInBytes } = await (0, download_media_1.downloadMedia)({
|
|
@@ -180,7 +198,7 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
180
198
|
verbose,
|
|
181
199
|
timeToEncode: newStatus.timeToEncode,
|
|
182
200
|
totalFrames: getTotalFrames(newStatus),
|
|
183
|
-
}));
|
|
201
|
+
}), false);
|
|
184
202
|
},
|
|
185
203
|
});
|
|
186
204
|
progressBar.update((0, progress_1.makeProgressString)({
|
|
@@ -195,7 +213,7 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
195
213
|
verbose,
|
|
196
214
|
timeToEncode: newStatus.timeToEncode,
|
|
197
215
|
totalFrames: getTotalFrames(newStatus),
|
|
198
|
-
}));
|
|
216
|
+
}), false);
|
|
199
217
|
log_1.Log.info();
|
|
200
218
|
log_1.Log.info();
|
|
201
219
|
log_1.Log.info('Done!', outputPath, cli_1.CliInternals.formatBytes(sizeInBytes));
|
|
@@ -245,7 +263,7 @@ const renderCommand = async (args, remotionRoot) => {
|
|
|
245
263
|
stack: err.stack,
|
|
246
264
|
stackFrame: frames,
|
|
247
265
|
});
|
|
248
|
-
await cli_1.CliInternals.handleCommonError(errorWithStackFrame);
|
|
266
|
+
await cli_1.CliInternals.handleCommonError(errorWithStackFrame, logLevel);
|
|
249
267
|
}
|
|
250
268
|
(0, quit_1.quit)(1);
|
|
251
269
|
}
|
|
@@ -33,6 +33,9 @@ const sitesCreateSubcommand = async (args, remotionRoot) => {
|
|
|
33
33
|
const progressBar = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
34
34
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
35
35
|
cancelSignal: null,
|
|
36
|
+
// No browser logs
|
|
37
|
+
updatesDontOverwrite: false,
|
|
38
|
+
indent: false,
|
|
36
39
|
});
|
|
37
40
|
const multiProgress = {
|
|
38
41
|
bundleProgress: {
|
|
@@ -54,7 +57,7 @@ const sitesCreateSubcommand = async (args, remotionRoot) => {
|
|
|
54
57
|
(0, progress_bar_1.makeBundleProgress)(multiProgress.bundleProgress),
|
|
55
58
|
(0, progress_bar_1.makeBucketProgress)(multiProgress.bucketProgress),
|
|
56
59
|
(0, progress_bar_1.makeDeployProgressBar)(multiProgress.deployProgress),
|
|
57
|
-
].join('\n'));
|
|
60
|
+
].join('\n'), false);
|
|
58
61
|
};
|
|
59
62
|
const bucketStart = Date.now();
|
|
60
63
|
const cliBucketName = (_b = args_1.parsedLambdaCli['force-bucket-name']) !== null && _b !== void 0 ? _b : null;
|
|
@@ -89,6 +92,7 @@ const sitesCreateSubcommand = async (args, remotionRoot) => {
|
|
|
89
92
|
webpackOverride: (_c = config_1.ConfigInternals.getWebpackOverrideFn()) !== null && _c !== void 0 ? _c : ((f) => f),
|
|
90
93
|
},
|
|
91
94
|
region: (0, get_aws_region_1.getAwsRegion)(),
|
|
95
|
+
privacy: args_1.parsedLambdaCli.privacy,
|
|
92
96
|
});
|
|
93
97
|
const uploadDuration = Date.now() - uploadStart;
|
|
94
98
|
multiProgress.deployProgress = {
|
|
@@ -22,6 +22,9 @@ const printSitesHelp = () => {
|
|
|
22
22
|
cli_1.CliInternals.Log.info();
|
|
23
23
|
cli_1.CliInternals.Log.info(`${constants_1.BINARY_NAME} ${exports.SITES_COMMAND} ${rm_1.SITES_RM_COMMAND} <site-id>`);
|
|
24
24
|
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray('Remove a site from the S3 bucket.'));
|
|
25
|
+
cli_1.CliInternals.Log.info();
|
|
26
|
+
cli_1.CliInternals.Log.info(`${constants_1.BINARY_NAME} ${exports.SITES_COMMAND} ${rmall_1.SITES_RMALL_COMMAND}`);
|
|
27
|
+
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray('Remove all sites from the S3 bucket.'));
|
|
25
28
|
};
|
|
26
29
|
const sitesCommand = (args, remotionRoot) => {
|
|
27
30
|
if (args[0] === ls_1.SITES_LS_SUBCOMMAND) {
|