@remotion/lambda 4.0.115 → 4.0.116
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/api/get-compositions-on-lambda.d.ts +2 -4
- package/dist/api/get-function-info.d.ts +3 -1
- package/dist/api/get-function-info.js +2 -1
- package/dist/api/get-functions.d.ts +2 -0
- package/dist/api/get-functions.js +2 -0
- package/dist/api/get-render-progress.d.ts +2 -0
- package/dist/api/make-lambda-payload.d.ts +1 -1
- package/dist/api/make-lambda-payload.js +2 -1
- package/dist/api/render-media-on-lambda.d.ts +1 -3
- package/dist/api/render-still-on-lambda.d.ts +1 -6
- package/dist/cli/commands/compositions/index.d.ts +1 -1
- package/dist/cli/commands/compositions/index.js +15 -11
- package/dist/cli/commands/functions/deploy.d.ts +2 -1
- package/dist/cli/commands/functions/deploy.js +3 -3
- package/dist/cli/commands/functions/index.d.ts +2 -1
- package/dist/cli/commands/functions/index.js +24 -24
- package/dist/cli/commands/functions/ls.d.ts +2 -1
- package/dist/cli/commands/functions/ls.js +7 -8
- package/dist/cli/commands/functions/rm.d.ts +2 -1
- package/dist/cli/commands/functions/rm.js +6 -7
- package/dist/cli/commands/functions/rmall.d.ts +2 -1
- package/dist/cli/commands/functions/rmall.js +2 -3
- package/dist/cli/commands/policies/policies.d.ts +2 -1
- package/dist/cli/commands/policies/policies.js +20 -20
- package/dist/cli/commands/policies/role.d.ts +2 -1
- package/dist/cli/commands/policies/role.js +2 -2
- package/dist/cli/commands/policies/user.d.ts +2 -1
- package/dist/cli/commands/policies/user.js +2 -2
- package/dist/cli/commands/policies/validate.d.ts +2 -1
- package/dist/cli/commands/policies/validate.js +4 -4
- package/dist/cli/commands/quotas/increase.js +8 -8
- package/dist/cli/commands/quotas/index.js +10 -10
- package/dist/cli/commands/quotas/list.js +10 -10
- package/dist/cli/commands/regions.d.ts +2 -1
- package/dist/cli/commands/regions.js +2 -2
- package/dist/cli/commands/render/render.js +35 -26
- package/dist/cli/commands/sites/create.js +12 -12
- package/dist/cli/commands/sites/index.js +21 -21
- package/dist/cli/commands/sites/ls.js +8 -8
- package/dist/cli/commands/sites/rm.d.ts +2 -1
- package/dist/cli/commands/sites/rm.js +6 -6
- package/dist/cli/commands/sites/rmall.d.ts +2 -1
- package/dist/cli/commands/sites/rmall.js +3 -3
- package/dist/cli/commands/still.js +34 -29
- package/dist/cli/help.d.ts +2 -1
- package/dist/cli/help.js +27 -27
- package/dist/cli/helpers/find-function-name.js +21 -21
- package/dist/cli/helpers/get-webhook-custom-data.js +3 -3
- package/dist/cli/index.js +27 -28
- package/dist/cli/log.d.ts +2 -4
- package/dist/functions/helpers/concat-videos.d.ts +2 -1
- package/dist/functions/helpers/concat-videos.js +2 -2
- package/dist/functions/helpers/get-browser-instance.js +8 -8
- package/dist/functions/helpers/merge-chunks.js +2 -1
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -1
- package/dist/functions/helpers/print-cloudwatch-helper.js +2 -2
- package/dist/functions/index.js +8 -13
- package/dist/functions/launch.js +23 -23
- package/dist/functions/merge.js +3 -3
- package/dist/functions/renderer.js +1 -1
- package/dist/internals.d.ts +1 -1
- package/dist/shared/constants.d.ts +2 -0
- package/dist/shared/get-function-version.d.ts +3 -1
- package/dist/shared/get-function-version.js +2 -2
- package/dist/shared/invoke-webhook.d.ts +4 -1
- package/dist/shared/invoke-webhook.js +5 -5
- package/package.json +8 -8
- package/remotionlambda-arm64.zip +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChromiumOptions,
|
|
1
|
+
import type { ChromiumOptions, ToOptions } from '@remotion/renderer';
|
|
2
2
|
import type { BrowserSafeApis } from '@remotion/renderer/client';
|
|
3
3
|
import type { VideoConfig } from 'remotion/no-react';
|
|
4
4
|
import type { AwsRegion } from '../client';
|
|
@@ -9,14 +9,12 @@ export type GetCompositionsOnLambdaInput = {
|
|
|
9
9
|
functionName: string;
|
|
10
10
|
serveUrl: string;
|
|
11
11
|
envVariables?: Record<string, string>;
|
|
12
|
-
logLevel?: LogLevel;
|
|
13
|
-
timeoutInMilliseconds?: number;
|
|
14
12
|
forceBucketName?: string;
|
|
15
13
|
/**
|
|
16
14
|
* @deprecated in favor of `logLevel`: true
|
|
17
15
|
*/
|
|
18
16
|
dumpBrowserLogs?: boolean;
|
|
19
|
-
} & Partial<ToOptions<typeof BrowserSafeApis.optionsMap.
|
|
17
|
+
} & Partial<ToOptions<typeof BrowserSafeApis.optionsMap.getCompositionsOnLambda>>;
|
|
20
18
|
export type GetCompositionsOnLambdaOutput = VideoConfig[];
|
|
21
19
|
/**
|
|
22
20
|
* @description Returns the compositions from a serveUrl
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LogLevel } from '@remotion/renderer';
|
|
1
2
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
3
|
export type FunctionInfo = {
|
|
3
4
|
functionName: string;
|
|
@@ -9,6 +10,7 @@ export type FunctionInfo = {
|
|
|
9
10
|
export type GetFunctionInfoInput = {
|
|
10
11
|
region: AwsRegion;
|
|
11
12
|
functionName: string;
|
|
13
|
+
logLevel?: LogLevel;
|
|
12
14
|
};
|
|
13
15
|
/**
|
|
14
16
|
* @description Given a region and function name, returns information about the function such as version, memory size and timeout.
|
|
@@ -17,4 +19,4 @@ export type GetFunctionInfoInput = {
|
|
|
17
19
|
* @param {string} options.functionName The name of the function
|
|
18
20
|
* @return {Promise<FunctionInfo>} Promise resolving to information about the function.
|
|
19
21
|
*/
|
|
20
|
-
export declare const getFunctionInfo: ({ region, functionName, }: GetFunctionInfoInput) => Promise<FunctionInfo>;
|
|
22
|
+
export declare const getFunctionInfo: ({ region, functionName, logLevel, }: GetFunctionInfoInput) => Promise<FunctionInfo>;
|
|
@@ -13,7 +13,7 @@ const validate_aws_region_1 = require("../shared/validate-aws-region");
|
|
|
13
13
|
* @param {string} options.functionName The name of the function
|
|
14
14
|
* @return {Promise<FunctionInfo>} Promise resolving to information about the function.
|
|
15
15
|
*/
|
|
16
|
-
const getFunctionInfo = async ({ region, functionName, }) => {
|
|
16
|
+
const getFunctionInfo = async ({ region, functionName, logLevel, }) => {
|
|
17
17
|
var _a, _b, _c, _d, _e;
|
|
18
18
|
(0, validate_aws_region_1.validateAwsRegion)(region);
|
|
19
19
|
const [functionInfo, version] = await Promise.all([
|
|
@@ -23,6 +23,7 @@ const getFunctionInfo = async ({ region, functionName, }) => {
|
|
|
23
23
|
(0, get_function_version_1.getFunctionVersion)({
|
|
24
24
|
functionName,
|
|
25
25
|
region,
|
|
26
|
+
logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
|
|
26
27
|
}),
|
|
27
28
|
]);
|
|
28
29
|
return {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { LogLevel } from '@remotion/renderer';
|
|
1
2
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
3
|
import type { FunctionInfo } from './get-function-info';
|
|
3
4
|
export type GetFunctionsInput = {
|
|
4
5
|
region: AwsRegion;
|
|
5
6
|
compatibleOnly: boolean;
|
|
7
|
+
logLevel?: LogLevel;
|
|
6
8
|
};
|
|
7
9
|
/**
|
|
8
10
|
* @description Lists Remotion Lambda render functions deployed to AWS Lambda.
|
|
@@ -44,10 +44,12 @@ const getFunctions = async (params) => {
|
|
|
44
44
|
return (_a = f.FunctionName) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.RENDER_FN_PREFIX);
|
|
45
45
|
});
|
|
46
46
|
const configs = await Promise.all(remotionLambdas.map(async (fn) => {
|
|
47
|
+
var _a;
|
|
47
48
|
try {
|
|
48
49
|
const version = await (0, get_function_version_1.getFunctionVersion)({
|
|
49
50
|
functionName: fn.FunctionName,
|
|
50
51
|
region: params.region,
|
|
52
|
+
logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
|
|
51
53
|
});
|
|
52
54
|
return version;
|
|
53
55
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LogLevel } from '@remotion/renderer';
|
|
1
2
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
3
|
import type { CustomCredentials } from '../shared/aws-clients';
|
|
3
4
|
import type { RenderProgress } from '../shared/constants';
|
|
@@ -6,6 +7,7 @@ export type GetRenderProgressInput = {
|
|
|
6
7
|
bucketName: string;
|
|
7
8
|
renderId: string;
|
|
8
9
|
region: AwsRegion;
|
|
10
|
+
logLevel?: LogLevel;
|
|
9
11
|
s3OutputProvider?: CustomCredentials;
|
|
10
12
|
};
|
|
11
13
|
/**
|
|
@@ -49,5 +49,5 @@ export type InnerRenderMediaOnLambdaInput = {
|
|
|
49
49
|
deleteAfter: DeleteAfter | null;
|
|
50
50
|
} & ToOptions<typeof BrowserSafeApis.optionsMap.renderMediaOnLambda>;
|
|
51
51
|
export declare const makeLambdaRenderMediaPayload: ({ rendererFunctionName, frameRange, framesPerLambda, forceBucketName: bucketName, codec, composition, serveUrl, imageFormat, inputProps, region, crf, envVariables, pixelFormat, proResProfile, x264Preset, maxRetries, privacy, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, everyNthFrame, numberOfGifLoops, audioBitrate, concurrencyPerLambda, audioCodec, forceHeight, forceWidth, webhook, videoBitrate, encodingMaxRate, encodingBufferSize, downloadBehavior, muted, overwrite, jpegQuality, offthreadVideoCacheSizeInBytes, deleteAfter, colorSpace, }: InnerRenderMediaOnLambdaInput) => Promise<LambdaStartPayload>;
|
|
52
|
-
export declare const getRenderProgressPayload: ({ bucketName, renderId, s3OutputProvider, }: GetRenderProgressInput) => LambdaStatusPayload;
|
|
52
|
+
export declare const getRenderProgressPayload: ({ bucketName, renderId, s3OutputProvider, logLevel, }: GetRenderProgressInput) => LambdaStatusPayload;
|
|
53
53
|
export declare const makeLambdaRenderStillPayload: ({ serveUrl, inputProps, imageFormat, envVariables, quality, jpegQuality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, forceBucketName, dumpBrowserLogs, offthreadVideoCacheSizeInBytes, deleteAfter, }: RenderStillOnLambdaInput) => Promise<LambdaPayloads[LambdaRoutines.still]>;
|
|
@@ -73,13 +73,14 @@ const makeLambdaRenderMediaPayload = async ({ rendererFunctionName, frameRange,
|
|
|
73
73
|
};
|
|
74
74
|
};
|
|
75
75
|
exports.makeLambdaRenderMediaPayload = makeLambdaRenderMediaPayload;
|
|
76
|
-
const getRenderProgressPayload = ({ bucketName, renderId, s3OutputProvider, }) => {
|
|
76
|
+
const getRenderProgressPayload = ({ bucketName, renderId, s3OutputProvider, logLevel, }) => {
|
|
77
77
|
return {
|
|
78
78
|
type: defaults_1.LambdaRoutines.status,
|
|
79
79
|
bucketName,
|
|
80
80
|
renderId,
|
|
81
81
|
version: version_1.VERSION,
|
|
82
82
|
s3OutputProvider,
|
|
83
|
+
logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
|
|
83
84
|
};
|
|
84
85
|
};
|
|
85
86
|
exports.getRenderProgressPayload = getRenderProgressPayload;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AudioCodec, ChromiumOptions, FrameRange,
|
|
1
|
+
import type { AudioCodec, ChromiumOptions, FrameRange, PixelFormat, ProResProfile, ToOptions, VideoImageFormat } from '@remotion/renderer';
|
|
2
2
|
import type { BrowserSafeApis } from '@remotion/renderer/client';
|
|
3
3
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
4
4
|
import type { OutNameInput, Privacy, WebhookOption } from '../shared/constants';
|
|
@@ -25,10 +25,8 @@ export type RenderMediaOnLambdaInput = {
|
|
|
25
25
|
jpegQuality?: number;
|
|
26
26
|
maxRetries?: number;
|
|
27
27
|
framesPerLambda?: number;
|
|
28
|
-
logLevel?: LogLevel;
|
|
29
28
|
frameRange?: FrameRange;
|
|
30
29
|
outName?: OutNameInput;
|
|
31
|
-
timeoutInMilliseconds?: number;
|
|
32
30
|
chromiumOptions?: Omit<ChromiumOptions, 'enableMultiProcessOnLinux'>;
|
|
33
31
|
scale?: number;
|
|
34
32
|
everyNthFrame?: number;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { ChromiumOptions,
|
|
1
|
+
import type { ChromiumOptions, StillImageFormat, ToOptions } from '@remotion/renderer';
|
|
2
2
|
import type { BrowserSafeApis } from '@remotion/renderer/client';
|
|
3
|
-
import type { DeleteAfter } from '../functions/helpers/lifecycle';
|
|
4
3
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
5
4
|
import type { CostsInfo, OutNameInput, Privacy } from '../shared/constants';
|
|
6
5
|
import type { DownloadBehavior } from '../shared/content-disposition-header';
|
|
@@ -19,11 +18,8 @@ export type RenderStillOnLambdaInput = {
|
|
|
19
18
|
*/
|
|
20
19
|
quality?: never;
|
|
21
20
|
frame?: number;
|
|
22
|
-
logLevel?: LogLevel;
|
|
23
21
|
outName?: OutNameInput;
|
|
24
|
-
timeoutInMilliseconds?: number;
|
|
25
22
|
chromiumOptions?: ChromiumOptions;
|
|
26
|
-
scale?: number;
|
|
27
23
|
downloadBehavior?: DownloadBehavior;
|
|
28
24
|
forceWidth?: number | null;
|
|
29
25
|
forceHeight?: number | null;
|
|
@@ -37,7 +33,6 @@ export type RenderStillOnLambdaInput = {
|
|
|
37
33
|
cloudWatchLogs: string;
|
|
38
34
|
lambdaInsightsUrl: string;
|
|
39
35
|
}) => void;
|
|
40
|
-
deleteAfter?: DeleteAfter | null;
|
|
41
36
|
} & Partial<ToOptions<typeof BrowserSafeApis.optionsMap.renderStillOnLambda>>;
|
|
42
37
|
export type RenderStillOnLambdaOutput = {
|
|
43
38
|
estimatedPrice: CostsInfo;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { LogLevel } from '@remotion/renderer';
|
|
2
2
|
export declare const COMPOSITIONS_COMMAND = "compositions";
|
|
3
|
-
export declare const compositionsCommand: (args: string[],
|
|
3
|
+
export declare const compositionsCommand: (args: string[], logLevel: LogLevel) => Promise<void>;
|
|
@@ -12,26 +12,30 @@ const find_function_name_1 = require("../../helpers/find-function-name");
|
|
|
12
12
|
const quit_1 = require("../../helpers/quit");
|
|
13
13
|
const log_1 = require("../../log");
|
|
14
14
|
exports.COMPOSITIONS_COMMAND = 'compositions';
|
|
15
|
-
const { enableMultiprocessOnLinuxOption, glOption } = client_1.BrowserSafeApis.options;
|
|
16
|
-
const compositionsCommand = async (args,
|
|
15
|
+
const { enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, } = client_1.BrowserSafeApis.options;
|
|
16
|
+
const compositionsCommand = async (args, logLevel) => {
|
|
17
17
|
const serveUrl = args[0];
|
|
18
18
|
if (!serveUrl) {
|
|
19
|
-
log_1.Log.error('No serve URL passed.');
|
|
20
|
-
log_1.Log.info('Pass an additional argument specifying a URL where your Remotion project is hosted.');
|
|
21
|
-
log_1.Log.info();
|
|
22
|
-
log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.COMPOSITIONS_COMMAND} <serve-url>`);
|
|
19
|
+
log_1.Log.error({ indent: false, logLevel }, 'No serve URL passed.');
|
|
20
|
+
log_1.Log.info({ indent: false, logLevel }, 'Pass an additional argument specifying a URL where your Remotion project is hosted.');
|
|
21
|
+
log_1.Log.info({ indent: false, logLevel });
|
|
22
|
+
log_1.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.COMPOSITIONS_COMMAND} <serve-url>`);
|
|
23
23
|
(0, quit_1.quit)(1);
|
|
24
24
|
}
|
|
25
|
-
const { envVariables, inputProps,
|
|
26
|
-
|
|
27
|
-
isLambda: true,
|
|
28
|
-
remotionRoot,
|
|
25
|
+
const { envVariables, inputProps, ignoreCertificateErrors, userAgent, disableWebSecurity, } = cli_1.CliInternals.getCliOptions({
|
|
26
|
+
isStill: false,
|
|
29
27
|
logLevel,
|
|
30
28
|
});
|
|
31
29
|
const enableMultiProcessOnLinux = enableMultiprocessOnLinuxOption.getValue({
|
|
32
30
|
commandLine: cli_1.CliInternals.parsedCli,
|
|
33
31
|
}).value;
|
|
34
32
|
const gl = glOption.getValue({ commandLine: cli_1.CliInternals.parsedCli }).value;
|
|
33
|
+
const puppeteerTimeout = delayRenderTimeoutInMillisecondsOption.getValue({
|
|
34
|
+
commandLine: cli_1.CliInternals.parsedCli,
|
|
35
|
+
}).value;
|
|
36
|
+
const headless = headlessOption.getValue({
|
|
37
|
+
commandLine: cli_1.CliInternals.parsedCli,
|
|
38
|
+
}).value;
|
|
35
39
|
const chromiumOptions = {
|
|
36
40
|
disableWebSecurity,
|
|
37
41
|
enableMultiProcessOnLinux,
|
|
@@ -54,6 +58,6 @@ const compositionsCommand = async (args, remotionRoot, logLevel) => {
|
|
|
54
58
|
timeoutInMilliseconds: puppeteerTimeout,
|
|
55
59
|
forceBucketName: args_1.parsedLambdaCli['force-bucket-name'],
|
|
56
60
|
});
|
|
57
|
-
cli_1.CliInternals.printCompositions(comps);
|
|
61
|
+
cli_1.CliInternals.printCompositions(comps, logLevel);
|
|
58
62
|
};
|
|
59
63
|
exports.compositionsCommand = compositionsCommand;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import type { LogLevel } from '@remotion/renderer';
|
|
1
2
|
export declare const FUNCTIONS_DEPLOY_SUBCOMMAND = "deploy";
|
|
2
|
-
export declare const functionsDeploySubcommand: () => Promise<void>;
|
|
3
|
+
export declare const functionsDeploySubcommand: (logLevel: LogLevel) => Promise<void>;
|
|
@@ -12,7 +12,7 @@ const validate_timeout_1 = require("../../../shared/validate-timeout");
|
|
|
12
12
|
const args_1 = require("../../args");
|
|
13
13
|
const get_aws_region_1 = require("../../get-aws-region");
|
|
14
14
|
exports.FUNCTIONS_DEPLOY_SUBCOMMAND = 'deploy';
|
|
15
|
-
const functionsDeploySubcommand = async () => {
|
|
15
|
+
const functionsDeploySubcommand = async (logLevel) => {
|
|
16
16
|
var _a, _b, _c, _d, _e, _f;
|
|
17
17
|
const region = (0, get_aws_region_1.getAwsRegion)();
|
|
18
18
|
const timeoutInSeconds = (_a = args_1.parsedLambdaCli.timeout) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_TIMEOUT;
|
|
@@ -27,7 +27,7 @@ const functionsDeploySubcommand = async () => {
|
|
|
27
27
|
(0, validate_disk_size_in_mb_1.validateDiskSizeInMb)(diskSizeInMb);
|
|
28
28
|
(0, validate_custom_role_arn_1.validateCustomRoleArn)(customRoleArn);
|
|
29
29
|
if (!cli_1.CliInternals.quietFlagProvided()) {
|
|
30
|
-
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray(`
|
|
30
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray(`
|
|
31
31
|
Region = ${region}
|
|
32
32
|
Memory = ${memorySizeInMb}MB
|
|
33
33
|
Disk size = ${diskSizeInMb}MB
|
|
@@ -57,7 +57,7 @@ Lambda Insights Enabled = ${enableLambdaInsights}
|
|
|
57
57
|
enableLambdaInsights,
|
|
58
58
|
});
|
|
59
59
|
if (cli_1.CliInternals.quietFlagProvided()) {
|
|
60
|
-
cli_1.CliInternals.Log.info(functionName);
|
|
60
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, functionName);
|
|
61
61
|
}
|
|
62
62
|
if (alreadyExisted) {
|
|
63
63
|
output.update(`Already exists as ${functionName}`, true);
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import type { LogLevel } from '@remotion/renderer';
|
|
1
2
|
export declare const FUNCTIONS_COMMAND = "functions";
|
|
2
|
-
export declare const functionsCommand: (args: string[]) => Promise<void> | undefined;
|
|
3
|
+
export declare const functionsCommand: (args: string[], logLevel: LogLevel) => Promise<void> | undefined;
|
|
@@ -9,41 +9,41 @@ const ls_1 = require("./ls");
|
|
|
9
9
|
const rm_1 = require("./rm");
|
|
10
10
|
const rmall_1 = require("./rmall");
|
|
11
11
|
exports.FUNCTIONS_COMMAND = 'functions';
|
|
12
|
-
const printFunctionsHelp = () => {
|
|
13
|
-
cli_1.CliInternals.Log.info(`${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} <subcommand>`);
|
|
14
|
-
cli_1.CliInternals.Log.info();
|
|
15
|
-
cli_1.CliInternals.Log.info('Available subcommands:');
|
|
16
|
-
cli_1.CliInternals.Log.info('');
|
|
17
|
-
cli_1.CliInternals.Log.info(`${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} ${ls_1.FUNCTIONS_LS_SUBCOMMAND}`);
|
|
18
|
-
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray('Lists the functions currently deployed'));
|
|
19
|
-
cli_1.CliInternals.Log.info('');
|
|
20
|
-
cli_1.CliInternals.Log.info(`${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} ${deploy_1.FUNCTIONS_DEPLOY_SUBCOMMAND}`);
|
|
21
|
-
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray('Deploy a new Lambda function'));
|
|
22
|
-
cli_1.CliInternals.Log.info('');
|
|
23
|
-
cli_1.CliInternals.Log.info(`${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} ${rm_1.FUNCTIONS_RM_SUBCOMMAND} <function-name>`);
|
|
24
|
-
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray('Delete a Lambda function'));
|
|
25
|
-
cli_1.CliInternals.Log.info('');
|
|
26
|
-
cli_1.CliInternals.Log.info(`${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} ${rmall_1.FUNCTIONS_RMALL_SUBCOMMAND}`);
|
|
27
|
-
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray('Delete all functions in selected region'));
|
|
12
|
+
const printFunctionsHelp = (logLevel) => {
|
|
13
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} <subcommand>`);
|
|
14
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel });
|
|
15
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, 'Available subcommands:');
|
|
16
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, '');
|
|
17
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} ${ls_1.FUNCTIONS_LS_SUBCOMMAND}`);
|
|
18
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray('Lists the functions currently deployed'));
|
|
19
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, '');
|
|
20
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} ${deploy_1.FUNCTIONS_DEPLOY_SUBCOMMAND}`);
|
|
21
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray('Deploy a new Lambda function'));
|
|
22
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, '');
|
|
23
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} ${rm_1.FUNCTIONS_RM_SUBCOMMAND} <function-name>`);
|
|
24
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray('Delete a Lambda function'));
|
|
25
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, '');
|
|
26
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.FUNCTIONS_COMMAND} ${rmall_1.FUNCTIONS_RMALL_SUBCOMMAND}`);
|
|
27
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray('Delete all functions in selected region'));
|
|
28
28
|
};
|
|
29
|
-
const functionsCommand = (args) => {
|
|
29
|
+
const functionsCommand = (args, logLevel) => {
|
|
30
30
|
if (args[0] === ls_1.FUNCTIONS_LS_SUBCOMMAND) {
|
|
31
|
-
return (0, ls_1.functionsLsCommand)();
|
|
31
|
+
return (0, ls_1.functionsLsCommand)(logLevel);
|
|
32
32
|
}
|
|
33
33
|
if (args[0] === rm_1.FUNCTIONS_RM_SUBCOMMAND) {
|
|
34
|
-
return (0, rm_1.functionsRmCommand)(args.slice(1));
|
|
34
|
+
return (0, rm_1.functionsRmCommand)(args.slice(1), logLevel);
|
|
35
35
|
}
|
|
36
36
|
if (args[0] === rmall_1.FUNCTIONS_RMALL_SUBCOMMAND) {
|
|
37
|
-
return (0, rmall_1.functionsRmallCommand)();
|
|
37
|
+
return (0, rmall_1.functionsRmallCommand)(logLevel);
|
|
38
38
|
}
|
|
39
39
|
if (args[0] === deploy_1.FUNCTIONS_DEPLOY_SUBCOMMAND) {
|
|
40
|
-
return (0, deploy_1.functionsDeploySubcommand)();
|
|
40
|
+
return (0, deploy_1.functionsDeploySubcommand)(logLevel);
|
|
41
41
|
}
|
|
42
42
|
if (args[0]) {
|
|
43
|
-
cli_1.CliInternals.Log.error(`Subcommand ${args[0]} not found.`);
|
|
44
|
-
printFunctionsHelp();
|
|
43
|
+
cli_1.CliInternals.Log.error({ indent: false, logLevel }, `Subcommand ${args[0]} not found.`);
|
|
44
|
+
printFunctionsHelp(logLevel);
|
|
45
45
|
(0, quit_1.quit)(1);
|
|
46
46
|
}
|
|
47
|
-
printFunctionsHelp();
|
|
47
|
+
printFunctionsHelp(logLevel);
|
|
48
48
|
};
|
|
49
49
|
exports.functionsCommand = functionsCommand;
|
|
@@ -2,7 +2,6 @@
|
|
|
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");
|
|
6
5
|
const get_functions_1 = require("../../../api/get-functions");
|
|
7
6
|
const get_aws_region_1 = require("../../get-aws-region");
|
|
8
7
|
const NAME_COLS = 70;
|
|
@@ -11,13 +10,13 @@ const DISK_COLS = 15;
|
|
|
11
10
|
const TIMEOUT_COLS = 15;
|
|
12
11
|
const VERSION_COLS = 15;
|
|
13
12
|
exports.FUNCTIONS_LS_SUBCOMMAND = 'ls';
|
|
14
|
-
const functionsLsCommand = async () => {
|
|
13
|
+
const functionsLsCommand = async (logLevel) => {
|
|
15
14
|
const region = (0, get_aws_region_1.getAwsRegion)();
|
|
16
15
|
const fetchingOutput = cli_1.CliInternals.createOverwriteableCliOutput({
|
|
17
16
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
18
17
|
cancelSignal: null,
|
|
19
18
|
updatesDontOverwrite: cli_1.CliInternals.shouldUseNonOverlayingLogger({
|
|
20
|
-
logLevel
|
|
19
|
+
logLevel,
|
|
21
20
|
}),
|
|
22
21
|
indent: false,
|
|
23
22
|
});
|
|
@@ -28,17 +27,17 @@ const functionsLsCommand = async () => {
|
|
|
28
27
|
});
|
|
29
28
|
if (cli_1.CliInternals.quietFlagProvided()) {
|
|
30
29
|
if (functions.length === 0) {
|
|
31
|
-
cli_1.CliInternals.Log.info('()');
|
|
30
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, '()');
|
|
32
31
|
return;
|
|
33
32
|
}
|
|
34
|
-
cli_1.CliInternals.Log.info(functions.map((f) => f.functionName).join(' '));
|
|
33
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, functions.map((f) => f.functionName).join(' '));
|
|
35
34
|
return;
|
|
36
35
|
}
|
|
37
36
|
fetchingOutput.update('Getting function info...', false);
|
|
38
37
|
const pluralized = functions.length === 1 ? 'function' : 'functions';
|
|
39
38
|
fetchingOutput.update(`${functions.length} ${pluralized} in the ${region} region`, true);
|
|
40
|
-
cli_1.CliInternals.Log.info();
|
|
41
|
-
cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray([
|
|
39
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel });
|
|
40
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray([
|
|
42
41
|
'Name'.padEnd(NAME_COLS, ' '),
|
|
43
42
|
'Version'.padEnd(VERSION_COLS, ' '),
|
|
44
43
|
'Disk (MB)'.padEnd(MEMORY_COLS, ' '),
|
|
@@ -46,7 +45,7 @@ const functionsLsCommand = async () => {
|
|
|
46
45
|
'Timeout (sec)'.padEnd(TIMEOUT_COLS, ' '),
|
|
47
46
|
].join('')));
|
|
48
47
|
for (const datapoint of functions) {
|
|
49
|
-
cli_1.CliInternals.Log.info([
|
|
48
|
+
cli_1.CliInternals.Log.info({ indent: false, logLevel }, [
|
|
50
49
|
datapoint.functionName.padEnd(NAME_COLS, ' '),
|
|
51
50
|
datapoint.version
|
|
52
51
|
? datapoint.version.padEnd(VERSION_COLS, ' ')
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import type { LogLevel } from '@remotion/renderer';
|
|
1
2
|
export declare const FUNCTIONS_RM_SUBCOMMAND = "rm";
|
|
2
|
-
export declare const functionsRmCommand: (args: string[]) => Promise<void>;
|
|
3
|
+
export declare const functionsRmCommand: (args: string[], logLevel: LogLevel) => Promise<void>;
|
|
@@ -2,7 +2,6 @@
|
|
|
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");
|
|
6
5
|
const delete_function_1 = require("../../../api/delete-function");
|
|
7
6
|
const get_function_info_1 = require("../../../api/get-function-info");
|
|
8
7
|
const constants_1 = require("../../../shared/constants");
|
|
@@ -14,15 +13,15 @@ const index_1 = require("./index");
|
|
|
14
13
|
const ls_1 = require("./ls");
|
|
15
14
|
exports.FUNCTIONS_RM_SUBCOMMAND = 'rm';
|
|
16
15
|
const LEFT_COL = 16;
|
|
17
|
-
const functionsRmCommand = async (args) => {
|
|
16
|
+
const functionsRmCommand = async (args, logLevel) => {
|
|
18
17
|
if (args.length === 0) {
|
|
19
|
-
log_1.Log.error('No function name passed.');
|
|
20
|
-
log_1.Log.error('Pass another argument which is the name of the function you would like to remove.');
|
|
21
|
-
log_1.Log.info(`You can run \`${constants_1.BINARY_NAME} ${index_1.FUNCTIONS_COMMAND} ${ls_1.FUNCTIONS_LS_SUBCOMMAND}\` to see a list of deployed Lambda functions.`);
|
|
18
|
+
log_1.Log.error({ indent: false, logLevel }, 'No function name passed.');
|
|
19
|
+
log_1.Log.error({ indent: false, logLevel }, 'Pass another argument which is the name of the function you would like to remove.');
|
|
20
|
+
log_1.Log.info({ indent: false, logLevel }, `You can run \`${constants_1.BINARY_NAME} ${index_1.FUNCTIONS_COMMAND} ${ls_1.FUNCTIONS_LS_SUBCOMMAND}\` to see a list of deployed Lambda functions.`);
|
|
22
21
|
(0, quit_1.quit)(1);
|
|
23
22
|
}
|
|
24
23
|
if (args[0] === '()') {
|
|
25
|
-
log_1.Log.info('No functions to remove.');
|
|
24
|
+
log_1.Log.info({ indent: false, logLevel }, 'No functions to remove.');
|
|
26
25
|
return;
|
|
27
26
|
}
|
|
28
27
|
const region = (0, get_aws_region_1.getAwsRegion)();
|
|
@@ -52,7 +51,7 @@ const functionsRmCommand = async (args) => {
|
|
|
52
51
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
53
52
|
cancelSignal: null,
|
|
54
53
|
updatesDontOverwrite: cli_1.CliInternals.shouldUseNonOverlayingLogger({
|
|
55
|
-
logLevel
|
|
54
|
+
logLevel,
|
|
56
55
|
}),
|
|
57
56
|
indent: false,
|
|
58
57
|
});
|
|
@@ -2,7 +2,6 @@
|
|
|
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");
|
|
6
5
|
const delete_function_1 = require("../../../api/delete-function");
|
|
7
6
|
const get_function_info_1 = require("../../../api/get-function-info");
|
|
8
7
|
const get_functions_1 = require("../../../api/get-functions");
|
|
@@ -10,7 +9,7 @@ const get_aws_region_1 = require("../../get-aws-region");
|
|
|
10
9
|
const confirm_1 = require("../../helpers/confirm");
|
|
11
10
|
exports.FUNCTIONS_RMALL_SUBCOMMAND = 'rmall';
|
|
12
11
|
const LEFT_COL = 16;
|
|
13
|
-
const functionsRmallCommand = async () => {
|
|
12
|
+
const functionsRmallCommand = async (logLevel) => {
|
|
14
13
|
const region = (0, get_aws_region_1.getAwsRegion)();
|
|
15
14
|
const functions = await (0, get_functions_1.getFunctions)({
|
|
16
15
|
region,
|
|
@@ -42,7 +41,7 @@ const functionsRmallCommand = async () => {
|
|
|
42
41
|
quiet: cli_1.CliInternals.quietFlagProvided(),
|
|
43
42
|
cancelSignal: null,
|
|
44
43
|
updatesDontOverwrite: cli_1.CliInternals.shouldUseNonOverlayingLogger({
|
|
45
|
-
logLevel
|
|
44
|
+
logLevel,
|
|
46
45
|
}),
|
|
47
46
|
indent: false,
|
|
48
47
|
});
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import type { LogLevel } from '@remotion/renderer';
|
|
1
2
|
export declare const POLICIES_COMMAND = "policies";
|
|
2
|
-
export declare const policiesCommand: (args: string[]) => void | Promise<void>;
|
|
3
|
+
export declare const policiesCommand: (args: string[], logLevel: LogLevel) => void | Promise<void>;
|
|
@@ -9,35 +9,35 @@ const role_1 = require("./role");
|
|
|
9
9
|
const user_1 = require("./user");
|
|
10
10
|
const validate_1 = require("./validate");
|
|
11
11
|
exports.POLICIES_COMMAND = 'policies';
|
|
12
|
-
const printPoliciesHelp = () => {
|
|
13
|
-
log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.POLICIES_COMMAND} <subcommand>`);
|
|
14
|
-
log_1.Log.info();
|
|
15
|
-
log_1.Log.info('Available subcommands:');
|
|
16
|
-
log_1.Log.info('');
|
|
17
|
-
log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.POLICIES_COMMAND} ${user_1.USER_SUBCOMMAND}`);
|
|
18
|
-
log_1.Log.info(cli_1.CliInternals.chalk.gray('Print the suggested policy to be applied to the user that is attached to the access token.'));
|
|
19
|
-
log_1.Log.info();
|
|
20
|
-
log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.POLICIES_COMMAND} ${role_1.ROLE_SUBCOMMAND}`);
|
|
21
|
-
log_1.Log.info(cli_1.CliInternals.chalk.gray('Print the suggested policy to be applied to the role that is attached to the lambda function.'));
|
|
22
|
-
log_1.Log.info();
|
|
23
|
-
log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.POLICIES_COMMAND} ${validate_1.VALIDATE_SUBCOMMAND}`);
|
|
24
|
-
log_1.Log.info(cli_1.CliInternals.chalk.gray('Validate the current policies setup is correct by running tests using the AWS policy simulator.'));
|
|
12
|
+
const printPoliciesHelp = (logLevel) => {
|
|
13
|
+
log_1.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.POLICIES_COMMAND} <subcommand>`);
|
|
14
|
+
log_1.Log.info({ indent: false, logLevel });
|
|
15
|
+
log_1.Log.info({ indent: false, logLevel }, 'Available subcommands:');
|
|
16
|
+
log_1.Log.info({ indent: false, logLevel }, '');
|
|
17
|
+
log_1.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.POLICIES_COMMAND} ${user_1.USER_SUBCOMMAND}`);
|
|
18
|
+
log_1.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray('Print the suggested policy to be applied to the user that is attached to the access token.'));
|
|
19
|
+
log_1.Log.info({ indent: false, logLevel });
|
|
20
|
+
log_1.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.POLICIES_COMMAND} ${role_1.ROLE_SUBCOMMAND}`);
|
|
21
|
+
log_1.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray('Print the suggested policy to be applied to the role that is attached to the lambda function.'));
|
|
22
|
+
log_1.Log.info({ indent: false, logLevel });
|
|
23
|
+
log_1.Log.info({ indent: false, logLevel }, `${constants_1.BINARY_NAME} ${exports.POLICIES_COMMAND} ${validate_1.VALIDATE_SUBCOMMAND}`);
|
|
24
|
+
log_1.Log.info({ indent: false, logLevel }, cli_1.CliInternals.chalk.gray('Validate the current policies setup is correct by running tests using the AWS policy simulator.'));
|
|
25
25
|
};
|
|
26
|
-
const policiesCommand = (args) => {
|
|
26
|
+
const policiesCommand = (args, logLevel) => {
|
|
27
27
|
if (args[0] === user_1.USER_SUBCOMMAND) {
|
|
28
|
-
return (0, user_1.userSubcommand)();
|
|
28
|
+
return (0, user_1.userSubcommand)(logLevel);
|
|
29
29
|
}
|
|
30
30
|
if (args[0] === role_1.ROLE_SUBCOMMAND) {
|
|
31
|
-
return (0, role_1.roleSubcommand)();
|
|
31
|
+
return (0, role_1.roleSubcommand)(logLevel);
|
|
32
32
|
}
|
|
33
33
|
if (args[0] === validate_1.VALIDATE_SUBCOMMAND) {
|
|
34
|
-
return (0, validate_1.validateSubcommand)();
|
|
34
|
+
return (0, validate_1.validateSubcommand)(logLevel);
|
|
35
35
|
}
|
|
36
36
|
if (args[0]) {
|
|
37
|
-
log_1.Log.error(`Subcommand ${args[0]} not found.`);
|
|
38
|
-
printPoliciesHelp();
|
|
37
|
+
log_1.Log.error({ indent: false, logLevel }, `Subcommand ${args[0]} not found.`);
|
|
38
|
+
printPoliciesHelp(logLevel);
|
|
39
39
|
(0, quit_1.quit)(1);
|
|
40
40
|
}
|
|
41
|
-
printPoliciesHelp();
|
|
41
|
+
printPoliciesHelp(logLevel);
|
|
42
42
|
};
|
|
43
43
|
exports.policiesCommand = policiesCommand;
|
|
@@ -4,7 +4,7 @@ exports.roleSubcommand = exports.ROLE_SUBCOMMAND = void 0;
|
|
|
4
4
|
const suggested_policy_1 = require("../../../api/iam-validation/suggested-policy");
|
|
5
5
|
const log_1 = require("../../log");
|
|
6
6
|
exports.ROLE_SUBCOMMAND = 'role';
|
|
7
|
-
const roleSubcommand = () => {
|
|
8
|
-
log_1.Log.info((0, suggested_policy_1.getRolePolicy)());
|
|
7
|
+
const roleSubcommand = (logLevel) => {
|
|
8
|
+
log_1.Log.info({ indent: false, logLevel }, (0, suggested_policy_1.getRolePolicy)());
|
|
9
9
|
};
|
|
10
10
|
exports.roleSubcommand = roleSubcommand;
|
|
@@ -4,7 +4,7 @@ exports.userSubcommand = exports.USER_SUBCOMMAND = void 0;
|
|
|
4
4
|
const suggested_policy_1 = require("../../../api/iam-validation/suggested-policy");
|
|
5
5
|
const log_1 = require("../../log");
|
|
6
6
|
exports.USER_SUBCOMMAND = 'user';
|
|
7
|
-
const userSubcommand = () => {
|
|
8
|
-
log_1.Log.info((0, suggested_policy_1.getUserPolicy)());
|
|
7
|
+
const userSubcommand = (logLevel) => {
|
|
8
|
+
log_1.Log.info({ indent: false, logLevel }, (0, suggested_policy_1.getUserPolicy)());
|
|
9
9
|
};
|
|
10
10
|
exports.userSubcommand = userSubcommand;
|
|
@@ -5,18 +5,18 @@ const simulate_1 = require("../../../api/iam-validation/simulate");
|
|
|
5
5
|
const get_aws_region_1 = require("../../get-aws-region");
|
|
6
6
|
const log_1 = require("../../log");
|
|
7
7
|
exports.VALIDATE_SUBCOMMAND = 'validate';
|
|
8
|
-
const validateSubcommand = async () => {
|
|
8
|
+
const validateSubcommand = async (logLevel) => {
|
|
9
9
|
try {
|
|
10
10
|
await (0, simulate_1.simulatePermissions)({
|
|
11
11
|
region: (0, get_aws_region_1.getAwsRegion)(),
|
|
12
12
|
onSimulation: (res) => {
|
|
13
|
-
log_1.Log.info((0, simulate_1.logPermissionOutput)(res));
|
|
13
|
+
log_1.Log.info({ indent: false, logLevel }, (0, simulate_1.logPermissionOutput)(res));
|
|
14
14
|
},
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
catch (err) {
|
|
18
|
-
log_1.Log.error('Did not have the required permissions on AWS:');
|
|
19
|
-
log_1.Log.error(err);
|
|
18
|
+
log_1.Log.error({ indent: false, logLevel }, 'Did not have the required permissions on AWS:');
|
|
19
|
+
log_1.Log.error({ indent: false, logLevel }, err);
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
exports.validateSubcommand = validateSubcommand;
|