- Extract 4756 source files from cli.js.map (57MB) - Set up Bun build system with bun:bundle feature flag shim - Configure 90+ compile-time feature flags matching production defaults - Inject MACRO constants (VERSION, BUILD_TIME, etc.) - Create stubs for private packages (color-diff-napi, modifiers-napi, etc.) - Install all public dependencies via pnpm - Patch commander v14 to allow multi-char short flags (-d2e) - Build output: dist/cli.js (22MB), verified working
49 lines
1.9 KiB
JavaScript
49 lines
1.9 KiB
JavaScript
'use strict';
|
|
|
|
const loggerMiddleware = () => (next, context) => async (args) => {
|
|
try {
|
|
const response = await next(args);
|
|
const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
|
|
const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
|
|
const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;
|
|
const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;
|
|
const { $metadata, ...outputWithoutMetadata } = response.output;
|
|
logger?.info?.({
|
|
clientName,
|
|
commandName,
|
|
input: inputFilterSensitiveLog(args.input),
|
|
output: outputFilterSensitiveLog(outputWithoutMetadata),
|
|
metadata: $metadata,
|
|
});
|
|
return response;
|
|
}
|
|
catch (error) {
|
|
const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
|
|
const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
|
|
const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;
|
|
logger?.error?.({
|
|
clientName,
|
|
commandName,
|
|
input: inputFilterSensitiveLog(args.input),
|
|
error,
|
|
metadata: error.$metadata,
|
|
});
|
|
throw error;
|
|
}
|
|
};
|
|
const loggerMiddlewareOptions = {
|
|
name: "loggerMiddleware",
|
|
tags: ["LOGGER"],
|
|
step: "initialize",
|
|
override: true,
|
|
};
|
|
const getLoggerPlugin = (options) => ({
|
|
applyToStack: (clientStack) => {
|
|
clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);
|
|
},
|
|
});
|
|
|
|
exports.getLoggerPlugin = getLoggerPlugin;
|
|
exports.loggerMiddleware = loggerMiddleware;
|
|
exports.loggerMiddlewareOptions = loggerMiddlewareOptions;
|