Skip to content

Commit 6edf214

Browse files
authored
fix(backend): failed to report operation error (#266)
1 parent 1fa83cd commit 6edf214

5 files changed

Lines changed: 67 additions & 21 deletions

File tree

apps/cli/webpack.config.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,38 @@
11
const { composePlugins, withNx } = require('@nx/webpack');
22
const { DefinePlugin, optimize } = require('webpack');
3+
const TerserPlugin = require("terser-webpack-plugin");
34

45
// Nx plugins for webpack.
56
module.exports = composePlugins(
67
withNx({
78
target: 'node',
89
}),
910
(config) => {
11+
config.devtool = 'inline-source-map';
12+
config.output.devtoolModuleFilenameTemplate = "[absolute-resource-path]";
1013
config.externals = {
1114
'*': false
12-
}
15+
};
1316
config.plugins.push(...[
1417
new DefinePlugin({
1518
'process.env.NODE_ENV': `'${process.env.NODE_ENV ?? 'development'}'`
1619
}),
1720
new optimize.LimitChunkCountPlugin({
1821
maxChunks: 1
1922
}),
20-
])
23+
]);
24+
config.optimization = {
25+
minimize: true,
26+
minimizer: [new TerserPlugin({
27+
parallel: true,
28+
extractComments: false,
29+
terserOptions: {
30+
compress: true,
31+
mangle: false,
32+
sourceMap: true,
33+
},
34+
})],
35+
};
2136
return config;
2237
}
2338
);

libs/backend-api7/src/operator.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
reduce,
1515
switchMap,
1616
tap,
17+
throwError,
1718
toArray,
1819
} from 'rxjs';
1920
import { SemVer } from 'semver';
@@ -84,10 +85,17 @@ export class Operator extends ADCSDK.backend.BackendEventSource {
8485
ADCSDK.BackendSyncResult,
8586
ObservableInput<ADCSDK.BackendSyncResult>
8687
>((error: Error | AxiosError) => {
87-
if (opts.exitOnFailure)
88-
throw new Error(
89-
`Error: ${axios.isAxiosError(error) && error.response ? error.response.data?.error_msg : error.message}, `,
90-
);
88+
if (opts.exitOnFailure) {
89+
if (axios.isAxiosError(error) && error.response)
90+
return throwError(
91+
() =>
92+
new Error(
93+
error.response?.data?.error_msg ??
94+
JSON.stringify(error.response?.data),
95+
),
96+
);
97+
return throwError(() => error);
98+
}
9199
return of({
92100
success: false,
93101
event,

libs/backend-apisix/src/operator.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
of,
1313
reduce,
1414
tap,
15+
throwError,
1516
} from 'rxjs';
1617
import { SemVer, gte as semVerGTE, lt as semVerLT } from 'semver';
1718

@@ -105,10 +106,17 @@ export class Operator extends ADCSDK.backend.BackendEventSource {
105106
ADCSDK.BackendSyncResult,
106107
ObservableInput<ADCSDK.BackendSyncResult>
107108
>((error: Error | AxiosError) => {
108-
if (opts.exitOnFailure)
109-
throw new Error(
110-
`Error: ${axios.isAxiosError(error) && error.response ? error.response.data?.error_msg : error.message}, `,
111-
);
109+
if (opts.exitOnFailure) {
110+
if (axios.isAxiosError(error) && error.response)
111+
return throwError(
112+
() =>
113+
new Error(
114+
error.response?.data?.error_msg ??
115+
JSON.stringify(error.response?.data),
116+
),
117+
);
118+
return throwError(() => error);
119+
}
112120
return of({
113121
success: false,
114122
event,

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"openapi-types": "^12.1.3",
4242
"prettier": "^3.2.5",
4343
"qs": "^6.12.1",
44+
"terser-webpack-plugin": "^5.3.14",
4445
"ts-jest": "^29.1.3",
4546
"ts-node": "^10.9.2",
4647
"typescript": "5.7.3",
@@ -72,7 +73,7 @@
7273
"yaml": "^2.4.2",
7374
"zod": "^3.23.8"
7475
},
75-
"packageManager": "pnpm@10.6.5+sha512.cdf928fca20832cd59ec53826492b7dc25dc524d4370b6b4adbf65803d32efaa6c1c88147c0ae4e8d579a6c9eec715757b50d4fa35eea179d868eada4ed043af",
76+
"packageManager": "pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977",
7677
"pnpm": {
7778
"onlyBuiltDependencies": [
7879
"@parcel/watcher",

pnpm-lock.yaml

Lines changed: 24 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)