more strict error type checking in most packages and backend plugins

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2021-10-08 17:41:29 +02:00
parent 9d18bc8ba4
commit 36e67d2f24
68 changed files with 248 additions and 104 deletions
+1
View File
@@ -32,6 +32,7 @@
"dependencies": {
"@backstage/cli-common": "^0.1.4",
"@backstage/config": "^0.1.9",
"@backstage/errors": "^0.1.2",
"@types/json-schema": "^7.0.6",
"ajv": "^7.0.3",
"chokidar": "^3.5.2",
+2
View File
@@ -15,6 +15,7 @@
*/
import { AppConfig, JsonObject } from '@backstage/config';
import { assertError } from '@backstage/errors';
const ENV_PREFIX = 'APP_CONFIG_';
@@ -96,6 +97,7 @@ function safeJsonParse(str: string): [Error | null, any] {
try {
return [null, JSON.parse(str)];
} catch (err) {
assertError(err);
return [err, str];
}
}
@@ -24,6 +24,7 @@ import {
import { ConfigSchemaPackageEntry } from './types';
import { getProgramFromFiles, generateSchema } from 'typescript-json-schema';
import { JsonObject } from '@backstage/config';
import { assertError } from '@backstage/errors';
type Item = {
name?: string;
@@ -189,6 +190,7 @@ function compileTsSchemas(paths: string[]) {
[path.split(sep).join('/')], // Unix paths are expected for all OSes here
) as JsonObject | null;
} catch (error) {
assertError(error);
if (error.message !== 'type Config not found') {
throw error;
}
@@ -15,6 +15,7 @@
*/
import { JsonObject, JsonValue } from '@backstage/config';
import { assertError } from '@backstage/errors';
import { TransformFunc } from './types';
import { isObject } from './utils';
@@ -46,6 +47,7 @@ export async function applyConfigTransforms(
break;
}
} catch (error) {
assertError(error);
throw new Error(`error at ${path}, ${error.message}`);
}
}
+2 -3
View File
@@ -19,6 +19,7 @@ import yaml from 'yaml';
import chokidar from 'chokidar';
import { resolve as resolvePath, dirname, isAbsolute, basename } from 'path';
import { AppConfig } from '@backstage/config';
import { ForwardedError } from '@backstage/errors';
import {
applyConfigTransforms,
readEnvConfig,
@@ -114,9 +115,7 @@ export async function loadConfig(
try {
fileConfigs = await loadConfigFiles();
} catch (error) {
throw new Error(
`Failed to read static configuration file, ${error.message}`,
);
throw new ForwardedError('Failed to read static configuration file', error);
}
const envConfigs = await readEnvConfig(process.env);