renovate 43.209.0 → 43.209.1

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.
@@ -1,172 +1,175 @@
1
1
  import { EXTERNAL_HOST_ERROR, MISSING_API_CREDENTIALS, REPOSITORY_CLOSED_ONBOARDING, REPOSITORY_DISABLED, REPOSITORY_DISABLED_BY_CONFIG, REPOSITORY_NO_CONFIG, SYSTEM_INSUFFICIENT_DISK_SPACE, TEMPORARY_ERROR, UNKNOWN_ERROR } from "../../constants/error-messages.js";
2
2
  import { logger } from "../../logger/index.js";
3
3
  import { ExternalHostError } from "../../types/errors/external-host-error.js";
4
+ import { instrument } from "../../instrumentation/index.js";
4
5
  import { raiseConfigWarningIssue, raiseCredentialsWarningIssue } from "./error-config.js";
5
6
  //#region lib/workers/repository/error.ts
6
7
  async function handleError(config, err) {
7
- if (err.message === "uninitiated") {
8
- logger.info("Repository is uninitiated - skipping");
9
- delete config.branchList;
10
- return err.message;
11
- }
12
- if (err.message === "empty") {
13
- logger.info("Repository is empty - skipping");
14
- delete config.branchList;
15
- return err.message;
16
- }
17
- switch (err.message) {
18
- case REPOSITORY_CLOSED_ONBOARDING:
19
- case REPOSITORY_DISABLED:
20
- case REPOSITORY_DISABLED_BY_CONFIG:
21
- case REPOSITORY_NO_CONFIG:
22
- logger.info("Repository is disabled - skipping");
23
- return err.message;
24
- }
25
- if (err.message === "archived") {
26
- logger.info("Repository is archived - skipping");
27
- delete config.branchList;
28
- return err.message;
29
- }
30
- if (err.message === "mirror") {
31
- logger.info("Repository is a mirror - skipping");
32
- delete config.branchList;
33
- return err.message;
34
- }
35
- if (err.message === "renamed") {
36
- logger.info("Repository has been renamed - skipping");
37
- delete config.branchList;
38
- return err.message;
39
- }
40
- if (err.message === "blocked") {
41
- delete config.branchList;
42
- logger.info("Repository is blocked - skipping");
43
- return err.message;
44
- }
45
- if (err.message === "forbidden") {
46
- delete config.branchList;
47
- logger.info("Repository is forbidden");
48
- return err.message;
49
- }
50
- if (err.message === "not-found") {
51
- delete config.branchList;
52
- logger.error("Repository is not found");
53
- return err.message;
54
- }
55
- if (err.message === "fork-mode-forked") {
56
- logger.info("Repository is a fork and cannot be processed when Renovate is running in fork mode itself");
57
- return err.message;
58
- }
59
- if (err.message === "fork") {
60
- logger.info("Repository is a fork and not manually configured - skipping - did you want to run with --fork-processing=enabled?");
61
- return err.message;
62
- }
63
- if (err.message === "cannot-fork") {
64
- logger.info("Cannot fork repository - skipping");
65
- return err.message;
66
- }
67
- if (err.message === "fork-missing") {
68
- logger.info("Cannot find fork required for fork mode - skipping");
69
- return err.message;
70
- }
71
- if (err.message === "no-package-files") {
72
- logger.info("Repository has no package files - skipping");
73
- return err.message;
74
- }
75
- if (err.message === "no-vulnerability-alerts") {
76
- logger.info("Repository has no vulnerability alerts - skipping");
77
- return err.message;
78
- }
79
- if (err.message === "repository-changed") {
80
- logger.info("Repository has changed during renovation - aborting");
81
- delete config.branchList;
82
- return err.message;
83
- }
84
- if (err.message === "config-validation") {
85
- delete config.branchList;
86
- if (config.configValidationError) logger.error({ error: err }, "Repository has invalid config");
87
- else logger.warn({ error: err }, "Repository has invalid config");
88
- await raiseConfigWarningIssue(config, err);
89
- return err.message;
90
- }
91
- if (err.message === "missing-api-credentials") {
92
- delete config.branchList;
93
- logger.info({ error: err }, MISSING_API_CREDENTIALS);
94
- await raiseCredentialsWarningIssue(config, err);
95
- return err.message;
96
- }
97
- if (err.message === "config-secrets-exposed") {
98
- delete config.branchList;
99
- logger.warn({ error: err }, "Repository aborted due to potential secrets exposure");
100
- return err.message;
101
- }
102
- if (err instanceof ExternalHostError) {
103
- logger.warn({
104
- hostType: err.hostType,
105
- packageName: err.packageName,
106
- err: err.err
107
- }, "Host error");
108
- logger.info("External host error causing abort - skipping");
109
- delete config.branchList;
110
- return EXTERNAL_HOST_ERROR;
111
- }
112
- if (err.message.includes("No space left on device") || err.message === "disk-space") {
113
- logger.error("Disk space error - skipping");
114
- delete config.branchList;
115
- return SYSTEM_INSUFFICIENT_DISK_SPACE;
116
- }
117
- if (err.message === "rate-limit-exceeded") {
118
- logger.warn("Rate limit exceeded - aborting");
119
- delete config.branchList;
120
- return err.message;
121
- }
122
- if (err.message === "out-of-memory") {
123
- logger.warn("Insufficient memory - aborting");
124
- delete config.branchList;
125
- return err.message;
126
- }
127
- if (err.message === "bad-credentials") {
128
- logger.warn("Bad credentials - aborting");
129
- delete config.branchList;
130
- return err.message;
131
- }
132
- if (err.message === "integration-unauthorized") {
133
- logger.warn("Integration unauthorized - aborting");
134
- delete config.branchList;
135
- return err.message;
136
- }
137
- if (err.message === "authentication-error") {
138
- logger.warn("Authentication error - aborting");
139
- delete config.branchList;
140
- return err.message;
141
- }
142
- if (err.message === "temporary-error") {
143
- logger.info("Temporary error - aborting");
144
- delete config.branchList;
145
- return err.message;
146
- }
147
- if (err.message === "lockfile-error") {
148
- delete config.branchList;
149
- logger.info("Lock file error - aborting");
150
- delete config.branchList;
151
- return err.message;
152
- }
153
- if (err.message.includes("The requested URL returned error: 5")) {
154
- logger.warn({ err }, "Git error - aborting");
155
- delete config.branchList;
156
- return EXTERNAL_HOST_ERROR;
157
- }
158
- if (err.message.includes("remote end hung up unexpectedly") || err.message.includes("access denied or repository not exported")) {
159
- logger.warn({ err }, "Git error - aborting");
160
- delete config.branchList;
161
- return EXTERNAL_HOST_ERROR;
162
- }
163
- if (err.message.includes("fatal: not a git repository")) {
164
- delete config.branchList;
165
- return TEMPORARY_ERROR;
166
- }
167
- logger.error({ err }, `Repository has unknown error`);
168
- delete config.branchList;
169
- return UNKNOWN_ERROR;
8
+ return instrument("handleError", async () => {
9
+ if (err.message === "uninitiated") {
10
+ logger.info("Repository is uninitiated - skipping");
11
+ delete config.branchList;
12
+ return err.message;
13
+ }
14
+ if (err.message === "empty") {
15
+ logger.info("Repository is empty - skipping");
16
+ delete config.branchList;
17
+ return err.message;
18
+ }
19
+ switch (err.message) {
20
+ case REPOSITORY_CLOSED_ONBOARDING:
21
+ case REPOSITORY_DISABLED:
22
+ case REPOSITORY_DISABLED_BY_CONFIG:
23
+ case REPOSITORY_NO_CONFIG:
24
+ logger.info("Repository is disabled - skipping");
25
+ return err.message;
26
+ }
27
+ if (err.message === "archived") {
28
+ logger.info("Repository is archived - skipping");
29
+ delete config.branchList;
30
+ return err.message;
31
+ }
32
+ if (err.message === "mirror") {
33
+ logger.info("Repository is a mirror - skipping");
34
+ delete config.branchList;
35
+ return err.message;
36
+ }
37
+ if (err.message === "renamed") {
38
+ logger.info("Repository has been renamed - skipping");
39
+ delete config.branchList;
40
+ return err.message;
41
+ }
42
+ if (err.message === "blocked") {
43
+ delete config.branchList;
44
+ logger.info("Repository is blocked - skipping");
45
+ return err.message;
46
+ }
47
+ if (err.message === "forbidden") {
48
+ delete config.branchList;
49
+ logger.info("Repository is forbidden");
50
+ return err.message;
51
+ }
52
+ if (err.message === "not-found") {
53
+ delete config.branchList;
54
+ logger.error("Repository is not found");
55
+ return err.message;
56
+ }
57
+ if (err.message === "fork-mode-forked") {
58
+ logger.info("Repository is a fork and cannot be processed when Renovate is running in fork mode itself");
59
+ return err.message;
60
+ }
61
+ if (err.message === "fork") {
62
+ logger.info("Repository is a fork and not manually configured - skipping - did you want to run with --fork-processing=enabled?");
63
+ return err.message;
64
+ }
65
+ if (err.message === "cannot-fork") {
66
+ logger.info("Cannot fork repository - skipping");
67
+ return err.message;
68
+ }
69
+ if (err.message === "fork-missing") {
70
+ logger.info("Cannot find fork required for fork mode - skipping");
71
+ return err.message;
72
+ }
73
+ if (err.message === "no-package-files") {
74
+ logger.info("Repository has no package files - skipping");
75
+ return err.message;
76
+ }
77
+ if (err.message === "no-vulnerability-alerts") {
78
+ logger.info("Repository has no vulnerability alerts - skipping");
79
+ return err.message;
80
+ }
81
+ if (err.message === "repository-changed") {
82
+ logger.info("Repository has changed during renovation - aborting");
83
+ delete config.branchList;
84
+ return err.message;
85
+ }
86
+ if (err.message === "config-validation") {
87
+ delete config.branchList;
88
+ if (config.configValidationError) logger.error({ error: err }, "Repository has invalid config");
89
+ else logger.warn({ error: err }, "Repository has invalid config");
90
+ await raiseConfigWarningIssue(config, err);
91
+ return err.message;
92
+ }
93
+ if (err.message === "missing-api-credentials") {
94
+ delete config.branchList;
95
+ logger.info({ error: err }, MISSING_API_CREDENTIALS);
96
+ await raiseCredentialsWarningIssue(config, err);
97
+ return err.message;
98
+ }
99
+ if (err.message === "config-secrets-exposed") {
100
+ delete config.branchList;
101
+ logger.warn({ error: err }, "Repository aborted due to potential secrets exposure");
102
+ return err.message;
103
+ }
104
+ if (err instanceof ExternalHostError) {
105
+ logger.warn({
106
+ hostType: err.hostType,
107
+ packageName: err.packageName,
108
+ err: err.err
109
+ }, "Host error");
110
+ logger.info("External host error causing abort - skipping");
111
+ delete config.branchList;
112
+ return EXTERNAL_HOST_ERROR;
113
+ }
114
+ if (err.message.includes("No space left on device") || err.message === "disk-space") {
115
+ logger.error("Disk space error - skipping");
116
+ delete config.branchList;
117
+ return SYSTEM_INSUFFICIENT_DISK_SPACE;
118
+ }
119
+ if (err.message === "rate-limit-exceeded") {
120
+ logger.warn("Rate limit exceeded - aborting");
121
+ delete config.branchList;
122
+ return err.message;
123
+ }
124
+ if (err.message === "out-of-memory") {
125
+ logger.warn("Insufficient memory - aborting");
126
+ delete config.branchList;
127
+ return err.message;
128
+ }
129
+ if (err.message === "bad-credentials") {
130
+ logger.warn("Bad credentials - aborting");
131
+ delete config.branchList;
132
+ return err.message;
133
+ }
134
+ if (err.message === "integration-unauthorized") {
135
+ logger.warn("Integration unauthorized - aborting");
136
+ delete config.branchList;
137
+ return err.message;
138
+ }
139
+ if (err.message === "authentication-error") {
140
+ logger.warn("Authentication error - aborting");
141
+ delete config.branchList;
142
+ return err.message;
143
+ }
144
+ if (err.message === "temporary-error") {
145
+ logger.info("Temporary error - aborting");
146
+ delete config.branchList;
147
+ return err.message;
148
+ }
149
+ if (err.message === "lockfile-error") {
150
+ delete config.branchList;
151
+ logger.info("Lock file error - aborting");
152
+ delete config.branchList;
153
+ return err.message;
154
+ }
155
+ if (err.message.includes("The requested URL returned error: 5")) {
156
+ logger.warn({ err }, "Git error - aborting");
157
+ delete config.branchList;
158
+ return EXTERNAL_HOST_ERROR;
159
+ }
160
+ if (err.message.includes("remote end hung up unexpectedly") || err.message.includes("access denied or repository not exported")) {
161
+ logger.warn({ err }, "Git error - aborting");
162
+ delete config.branchList;
163
+ return EXTERNAL_HOST_ERROR;
164
+ }
165
+ if (err.message.includes("fatal: not a git repository")) {
166
+ delete config.branchList;
167
+ return TEMPORARY_ERROR;
168
+ }
169
+ logger.error({ err }, `Repository has unknown error`);
170
+ delete config.branchList;
171
+ return UNKNOWN_ERROR;
172
+ });
170
173
  }
171
174
  //#endregion
172
175
  export { handleError as default };
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","names":[],"sources":["../../../lib/workers/repository/error.ts"],"sourcesContent":["import type { RenovateConfig } from '../../config/types.ts';\n\nimport {\n CONFIG_SECRETS_EXPOSED,\n CONFIG_VALIDATION,\n EXTERNAL_HOST_ERROR,\n MANAGER_LOCKFILE_ERROR,\n MISSING_API_CREDENTIALS,\n NO_VULNERABILITY_ALERTS,\n PLATFORM_AUTHENTICATION_ERROR,\n PLATFORM_BAD_CREDENTIALS,\n PLATFORM_INTEGRATION_UNAUTHORIZED,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n REPOSITORY_ACCESS_FORBIDDEN,\n REPOSITORY_ARCHIVED,\n REPOSITORY_BLOCKED,\n REPOSITORY_CANNOT_FORK,\n REPOSITORY_CHANGED,\n REPOSITORY_CLOSED_ONBOARDING,\n REPOSITORY_DISABLED,\n REPOSITORY_DISABLED_BY_CONFIG,\n REPOSITORY_EMPTY,\n REPOSITORY_FORKED,\n REPOSITORY_FORK_MISSING,\n REPOSITORY_FORK_MODE_FORKED,\n REPOSITORY_MIRRORED,\n REPOSITORY_NOT_FOUND,\n REPOSITORY_NO_CONFIG,\n REPOSITORY_NO_PACKAGE_FILES,\n REPOSITORY_RENAMED,\n REPOSITORY_UNINITIATED,\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n SYSTEM_INSUFFICIENT_MEMORY,\n TEMPORARY_ERROR,\n UNKNOWN_ERROR,\n} from '../../constants/error-messages.ts';\nimport { logger } from '../../logger/index.ts';\nimport { ExternalHostError } from '../../types/errors/external-host-error.ts';\nimport {\n raiseConfigWarningIssue,\n raiseCredentialsWarningIssue,\n} from './error-config.ts';\nimport type { RepositoryResult } from './result.ts';\n\nexport default async function handleError(\n config: RenovateConfig,\n err: Error,\n): Promise<RepositoryResult> {\n if (err.message === REPOSITORY_UNINITIATED) {\n logger.info('Repository is uninitiated - skipping');\n delete config.branchList;\n return err.message;\n }\n if (err.message === REPOSITORY_EMPTY) {\n logger.info('Repository is empty - skipping');\n delete config.branchList;\n return err.message;\n }\n switch (err.message) {\n case REPOSITORY_CLOSED_ONBOARDING:\n case REPOSITORY_DISABLED:\n case REPOSITORY_DISABLED_BY_CONFIG:\n case REPOSITORY_NO_CONFIG:\n logger.info('Repository is disabled - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_ARCHIVED) {\n logger.info('Repository is archived - skipping');\n delete config.branchList;\n return err.message;\n }\n if (err.message === REPOSITORY_MIRRORED) {\n logger.info('Repository is a mirror - skipping');\n delete config.branchList;\n return err.message;\n }\n if (err.message === REPOSITORY_RENAMED) {\n logger.info('Repository has been renamed - skipping');\n delete config.branchList;\n return err.message;\n }\n if (err.message === REPOSITORY_BLOCKED) {\n delete config.branchList;\n logger.info('Repository is blocked - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_ACCESS_FORBIDDEN) {\n delete config.branchList;\n logger.info('Repository is forbidden');\n return err.message;\n }\n if (err.message === REPOSITORY_NOT_FOUND) {\n delete config.branchList;\n logger.error('Repository is not found');\n return err.message;\n }\n if (err.message === REPOSITORY_FORK_MODE_FORKED) {\n logger.info(\n 'Repository is a fork and cannot be processed when Renovate is running in fork mode itself',\n );\n return err.message;\n }\n if (err.message === REPOSITORY_FORKED) {\n logger.info(\n 'Repository is a fork and not manually configured - skipping - did you want to run with --fork-processing=enabled?',\n );\n return err.message;\n }\n if (err.message === REPOSITORY_CANNOT_FORK) {\n logger.info('Cannot fork repository - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_FORK_MISSING) {\n logger.info('Cannot find fork required for fork mode - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_NO_PACKAGE_FILES) {\n logger.info('Repository has no package files - skipping');\n return err.message;\n }\n if (err.message === NO_VULNERABILITY_ALERTS) {\n logger.info('Repository has no vulnerability alerts - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_CHANGED) {\n logger.info('Repository has changed during renovation - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === CONFIG_VALIDATION) {\n delete config.branchList;\n if (config.configValidationError) {\n logger.error({ error: err }, 'Repository has invalid config');\n } else {\n logger.warn({ error: err }, 'Repository has invalid config');\n }\n await raiseConfigWarningIssue(config, err);\n return err.message;\n }\n if (err.message === MISSING_API_CREDENTIALS) {\n delete config.branchList;\n logger.info({ error: err }, MISSING_API_CREDENTIALS);\n await raiseCredentialsWarningIssue(config, err);\n return err.message;\n }\n if (err.message === CONFIG_SECRETS_EXPOSED) {\n delete config.branchList;\n logger.warn(\n { error: err },\n 'Repository aborted due to potential secrets exposure',\n );\n return err.message;\n }\n if (err instanceof ExternalHostError) {\n logger.warn(\n { hostType: err.hostType, packageName: err.packageName, err: err.err },\n 'Host error',\n );\n logger.info('External host error causing abort - skipping');\n delete config.branchList;\n return EXTERNAL_HOST_ERROR;\n }\n if (\n err.message.includes('No space left on device') ||\n err.message === SYSTEM_INSUFFICIENT_DISK_SPACE\n ) {\n logger.error('Disk space error - skipping');\n delete config.branchList;\n return SYSTEM_INSUFFICIENT_DISK_SPACE;\n }\n if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) {\n logger.warn('Rate limit exceeded - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === SYSTEM_INSUFFICIENT_MEMORY) {\n logger.warn('Insufficient memory - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === PLATFORM_BAD_CREDENTIALS) {\n logger.warn('Bad credentials - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === PLATFORM_INTEGRATION_UNAUTHORIZED) {\n logger.warn('Integration unauthorized - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === PLATFORM_AUTHENTICATION_ERROR) {\n logger.warn('Authentication error - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === TEMPORARY_ERROR) {\n logger.info('Temporary error - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === MANAGER_LOCKFILE_ERROR) {\n delete config.branchList;\n logger.info('Lock file error - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message.includes('The requested URL returned error: 5')) {\n logger.warn({ err }, 'Git error - aborting');\n delete config.branchList;\n // rewrite this error\n return EXTERNAL_HOST_ERROR;\n }\n if (\n err.message.includes('remote end hung up unexpectedly') ||\n err.message.includes('access denied or repository not exported')\n ) {\n logger.warn({ err }, 'Git error - aborting');\n delete config.branchList;\n // rewrite this error\n return EXTERNAL_HOST_ERROR;\n }\n if (err.message.includes('fatal: not a git repository')) {\n delete config.branchList;\n return TEMPORARY_ERROR;\n }\n // Swallow this error so that other repositories can be processed\n logger.error({ err }, `Repository has unknown error`);\n // delete branchList to avoid cleaning up branches\n delete config.branchList;\n\n return UNKNOWN_ERROR;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"error.js","names":[],"sources":["../../../lib/workers/repository/error.ts"],"sourcesContent":["import type { RenovateConfig } from '../../config/types.ts';\n\nimport {\n CONFIG_SECRETS_EXPOSED,\n CONFIG_VALIDATION,\n EXTERNAL_HOST_ERROR,\n MANAGER_LOCKFILE_ERROR,\n MISSING_API_CREDENTIALS,\n NO_VULNERABILITY_ALERTS,\n PLATFORM_AUTHENTICATION_ERROR,\n PLATFORM_BAD_CREDENTIALS,\n PLATFORM_INTEGRATION_UNAUTHORIZED,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n REPOSITORY_ACCESS_FORBIDDEN,\n REPOSITORY_ARCHIVED,\n REPOSITORY_BLOCKED,\n REPOSITORY_CANNOT_FORK,\n REPOSITORY_CHANGED,\n REPOSITORY_CLOSED_ONBOARDING,\n REPOSITORY_DISABLED,\n REPOSITORY_DISABLED_BY_CONFIG,\n REPOSITORY_EMPTY,\n REPOSITORY_FORKED,\n REPOSITORY_FORK_MISSING,\n REPOSITORY_FORK_MODE_FORKED,\n REPOSITORY_MIRRORED,\n REPOSITORY_NOT_FOUND,\n REPOSITORY_NO_CONFIG,\n REPOSITORY_NO_PACKAGE_FILES,\n REPOSITORY_RENAMED,\n REPOSITORY_UNINITIATED,\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n SYSTEM_INSUFFICIENT_MEMORY,\n TEMPORARY_ERROR,\n UNKNOWN_ERROR,\n} from '../../constants/error-messages.ts';\nimport { instrument } from '../../instrumentation/index.ts';\nimport { logger } from '../../logger/index.ts';\nimport { ExternalHostError } from '../../types/errors/external-host-error.ts';\nimport {\n raiseConfigWarningIssue,\n raiseCredentialsWarningIssue,\n} from './error-config.ts';\nimport type { RepositoryResult } from './result.ts';\n\nexport default async function handleError(\n config: RenovateConfig,\n err: Error,\n): Promise<RepositoryResult> {\n return instrument('handleError', async () => {\n if (err.message === REPOSITORY_UNINITIATED) {\n logger.info('Repository is uninitiated - skipping');\n delete config.branchList;\n return err.message;\n }\n if (err.message === REPOSITORY_EMPTY) {\n logger.info('Repository is empty - skipping');\n delete config.branchList;\n return err.message;\n }\n switch (err.message) {\n case REPOSITORY_CLOSED_ONBOARDING:\n case REPOSITORY_DISABLED:\n case REPOSITORY_DISABLED_BY_CONFIG:\n case REPOSITORY_NO_CONFIG:\n logger.info('Repository is disabled - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_ARCHIVED) {\n logger.info('Repository is archived - skipping');\n delete config.branchList;\n return err.message;\n }\n if (err.message === REPOSITORY_MIRRORED) {\n logger.info('Repository is a mirror - skipping');\n delete config.branchList;\n return err.message;\n }\n if (err.message === REPOSITORY_RENAMED) {\n logger.info('Repository has been renamed - skipping');\n delete config.branchList;\n return err.message;\n }\n if (err.message === REPOSITORY_BLOCKED) {\n delete config.branchList;\n logger.info('Repository is blocked - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_ACCESS_FORBIDDEN) {\n delete config.branchList;\n logger.info('Repository is forbidden');\n return err.message;\n }\n if (err.message === REPOSITORY_NOT_FOUND) {\n delete config.branchList;\n logger.error('Repository is not found');\n return err.message;\n }\n if (err.message === REPOSITORY_FORK_MODE_FORKED) {\n logger.info(\n 'Repository is a fork and cannot be processed when Renovate is running in fork mode itself',\n );\n return err.message;\n }\n if (err.message === REPOSITORY_FORKED) {\n logger.info(\n 'Repository is a fork and not manually configured - skipping - did you want to run with --fork-processing=enabled?',\n );\n return err.message;\n }\n if (err.message === REPOSITORY_CANNOT_FORK) {\n logger.info('Cannot fork repository - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_FORK_MISSING) {\n logger.info('Cannot find fork required for fork mode - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_NO_PACKAGE_FILES) {\n logger.info('Repository has no package files - skipping');\n return err.message;\n }\n if (err.message === NO_VULNERABILITY_ALERTS) {\n logger.info('Repository has no vulnerability alerts - skipping');\n return err.message;\n }\n if (err.message === REPOSITORY_CHANGED) {\n logger.info('Repository has changed during renovation - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === CONFIG_VALIDATION) {\n delete config.branchList;\n if (config.configValidationError) {\n logger.error({ error: err }, 'Repository has invalid config');\n } else {\n logger.warn({ error: err }, 'Repository has invalid config');\n }\n await raiseConfigWarningIssue(config, err);\n return err.message;\n }\n if (err.message === MISSING_API_CREDENTIALS) {\n delete config.branchList;\n logger.info({ error: err }, MISSING_API_CREDENTIALS);\n await raiseCredentialsWarningIssue(config, err);\n return err.message;\n }\n if (err.message === CONFIG_SECRETS_EXPOSED) {\n delete config.branchList;\n logger.warn(\n { error: err },\n 'Repository aborted due to potential secrets exposure',\n );\n return err.message;\n }\n if (err instanceof ExternalHostError) {\n logger.warn(\n { hostType: err.hostType, packageName: err.packageName, err: err.err },\n 'Host error',\n );\n logger.info('External host error causing abort - skipping');\n delete config.branchList;\n return EXTERNAL_HOST_ERROR;\n }\n if (\n err.message.includes('No space left on device') ||\n err.message === SYSTEM_INSUFFICIENT_DISK_SPACE\n ) {\n logger.error('Disk space error - skipping');\n delete config.branchList;\n return SYSTEM_INSUFFICIENT_DISK_SPACE;\n }\n if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) {\n logger.warn('Rate limit exceeded - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === SYSTEM_INSUFFICIENT_MEMORY) {\n logger.warn('Insufficient memory - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === PLATFORM_BAD_CREDENTIALS) {\n logger.warn('Bad credentials - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === PLATFORM_INTEGRATION_UNAUTHORIZED) {\n logger.warn('Integration unauthorized - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === PLATFORM_AUTHENTICATION_ERROR) {\n logger.warn('Authentication error - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === TEMPORARY_ERROR) {\n logger.info('Temporary error - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message === MANAGER_LOCKFILE_ERROR) {\n delete config.branchList;\n logger.info('Lock file error - aborting');\n delete config.branchList;\n return err.message;\n }\n if (err.message.includes('The requested URL returned error: 5')) {\n logger.warn({ err }, 'Git error - aborting');\n delete config.branchList;\n // rewrite this error\n return EXTERNAL_HOST_ERROR;\n }\n if (\n err.message.includes('remote end hung up unexpectedly') ||\n err.message.includes('access denied or repository not exported')\n ) {\n logger.warn({ err }, 'Git error - aborting');\n delete config.branchList;\n // rewrite this error\n return EXTERNAL_HOST_ERROR;\n }\n if (err.message.includes('fatal: not a git repository')) {\n delete config.branchList;\n return TEMPORARY_ERROR;\n }\n // Swallow this error so that other repositories can be processed\n logger.error({ err }, `Repository has unknown error`);\n // delete branchList to avoid cleaning up branches\n delete config.branchList;\n\n return UNKNOWN_ERROR;\n });\n}\n"],"mappings":"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"}
@@ -34,8 +34,7 @@ import fs from "fs-extra";
34
34
  async function renovateRepository(repoConfig, canRetry = true) {
35
35
  splitInit();
36
36
  let repoResult;
37
- const { config, localDir, errorRes } = await instrument("init", async () => {
38
- let errorRes;
37
+ const { config, localDir, error } = await instrument("init", async () => {
39
38
  let config = GlobalConfig.set(applySecretsAndVariablesToConfig({
40
39
  config: repoConfig,
41
40
  deleteVariables: false,
@@ -55,22 +54,25 @@ async function renovateRepository(repoConfig, canRetry = true) {
55
54
  addSplit("init");
56
55
  } catch (err) /* istanbul ignore next */ {
57
56
  setMeta({ repository: config.repository });
58
- errorRes = await handleError(config, err);
57
+ const errorRes = await handleError(config, err);
59
58
  if ([
60
59
  "disabled-by-config",
61
60
  "fork",
62
61
  "disabled-no-config"
63
62
  ].includes(errorRes)) await pruneStaleBranches(config, []);
64
63
  repoResult = processResult(config, errorRes);
64
+ return {
65
+ config,
66
+ localDir,
67
+ error: err
68
+ };
65
69
  }
66
70
  return {
67
71
  config,
68
- localDir,
69
- errorRes
72
+ localDir
70
73
  };
71
74
  }, { attributes: { [ATTR_RENOVATE_SPLIT]: "init" } });
72
- try {
73
- if (errorRes) throw new Error(errorRes);
75
+ if (error === void 0) try {
74
76
  const performExtract = config.repoIsOnboarded || !OnboardingState.onboardingCacheValid || OnboardingState.prUpdateRequested;
75
77
  const extractResult = performExtract ? await extractDependencies(config) : emptyExtract();
76
78
  addExtractionStats(config, extractResult);
@@ -104,6 +106,7 @@ async function renovateRepository(repoConfig, canRetry = true) {
104
106
  ].includes(errorRes)) await pruneStaleBranches(config, []);
105
107
  repoResult = processResult(config, errorRes);
106
108
  }
109
+ else logger.debug({ error }, "Skipping the rest to the Renovate run due to error in `init` phase");
107
110
  if (localDir && !repoConfig.persistRepoData) try {
108
111
  await deleteLocalFile(".");
109
112
  } catch (err) /* istanbul ignore if */ {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../lib/workers/repository/index.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { GlobalConfig } from '../../config/global.ts';\nimport { applySecretsAndVariablesToConfig } from '../../config/secrets.ts';\nimport type { RenovateConfig } from '../../config/types.ts';\nimport {\n REPOSITORY_DISABLED_BY_CONFIG,\n REPOSITORY_FORKED,\n REPOSITORY_NO_CONFIG,\n} from '../../constants/error-messages.ts';\nimport { pkg } from '../../expose.ts';\nimport { instrument } from '../../instrumentation/index.ts';\nimport { addExtractionStats } from '../../instrumentation/reporting.ts';\nimport { ATTR_RENOVATE_SPLIT } from '../../instrumentation/types.ts';\nimport { logger, setMeta } from '../../logger/index.ts';\nimport { resetRepositoryLogLevelRemaps } from '../../logger/remap.ts';\nimport { getInheritedOrGlobal } from '../../util/common.ts';\nimport { removeDanglingContainers } from '../../util/exec/docker/index.ts';\nimport { deleteLocalFile, privateCacheDir } from '../../util/fs/index.ts';\nimport { isCloned } from '../../util/git/index.ts';\nimport { detectSemanticCommits } from '../../util/git/semantic.ts';\nimport * as queue from '../../util/http/queue.ts';\nimport * as throttle from '../../util/http/throttle.ts';\nimport { addSplit, getSplits, splitInit } from '../../util/split.ts';\nimport {\n AbandonedPackageStats,\n DatasourceCacheStats,\n GetDatasourceReleasesStats,\n GitOperationStats,\n HttpCacheStats,\n HttpStats,\n LookupStats,\n ObsoleteCacheHitLogger,\n PackageCacheStats,\n} from '../../util/stats.ts';\nimport { setBranchCache } from './cache.ts';\nimport { extractRepoProblems } from './common.ts';\nimport { configMigration } from './config-migration/index.ts';\nimport { ensureDependencyDashboard } from './dependency-dashboard.ts';\nimport handleError from './error.ts';\nimport { finalizeRepo } from './finalize/index.ts';\nimport { pruneStaleBranches } from './finalize/prune.ts';\nimport { initRepo } from './init/index.ts';\nimport { OnboardingState } from './onboarding/common.ts';\nimport { ensureOnboardingPr } from './onboarding/pr/index.ts';\nimport type { ExtractResult } from './process/extract-update.ts';\nimport { extractDependencies, updateRepo } from './process/index.ts';\nimport type { ProcessResult, RepositoryResult } from './result.ts';\nimport { processResult } from './result.ts';\n\n// istanbul ignore next\nexport async function renovateRepository(\n repoConfig: RenovateConfig,\n canRetry = true,\n): Promise<ProcessResult | undefined> {\n splitInit();\n\n let repoResult: ProcessResult | undefined;\n const { config, localDir, errorRes } = await instrument(\n 'init',\n async (): Promise<{\n config: RenovateConfig;\n localDir: string;\n errorRes?: string;\n }> => {\n let errorRes: RepositoryResult | undefined;\n let config = GlobalConfig.set(\n applySecretsAndVariablesToConfig({\n config: repoConfig,\n deleteVariables: false,\n deleteSecrets: false,\n }),\n );\n await removeDanglingContainers();\n setMeta({ repository: config.repository });\n logger.info({ renovateVersion: pkg.version }, 'Repository started');\n logger.trace({ config });\n queue.clear();\n throttle.clear();\n const localDir = GlobalConfig.get('localDir');\n\n try {\n await fs.ensureDir(localDir);\n logger.debug(`Using localDir: ${localDir}`);\n config = await initRepo(config);\n addSplit('init');\n } catch (err) /* istanbul ignore next */ {\n setMeta({ repository: config.repository });\n errorRes = await handleError(config, err);\n const pruneWhenErrors = [\n REPOSITORY_DISABLED_BY_CONFIG,\n REPOSITORY_FORKED,\n REPOSITORY_NO_CONFIG,\n ];\n if (pruneWhenErrors.includes(errorRes)) {\n await pruneStaleBranches(config, []);\n }\n repoResult = processResult(config, errorRes);\n }\n\n return { config, localDir, errorRes };\n },\n {\n attributes: {\n [ATTR_RENOVATE_SPLIT]: 'init',\n },\n },\n );\n\n try {\n // only continue if init stage was successful\n if (errorRes) {\n throw new Error(errorRes);\n }\n\n const performExtract =\n config.repoIsOnboarded! ||\n !OnboardingState.onboardingCacheValid ||\n OnboardingState.prUpdateRequested;\n const extractResult = performExtract\n ? await extractDependencies(config)\n : emptyExtract();\n addExtractionStats(config, extractResult);\n\n const { branches, branchList, packageFiles } = extractResult;\n\n if (config.semanticCommits === 'auto') {\n config.semanticCommits = await detectSemanticCommits();\n }\n\n if (\n GlobalConfig.get('dryRun') !== 'lookup' &&\n GlobalConfig.get('dryRun') !== 'extract'\n ) {\n await instrument(\n 'onboarding',\n () => ensureOnboardingPr(config, packageFiles, branches),\n {\n attributes: {\n [ATTR_RENOVATE_SPLIT]: 'onboarding',\n },\n },\n );\n addSplit('onboarding');\n const res = await instrument(\n 'update',\n () => updateRepo(config, branches),\n {\n attributes: {\n [ATTR_RENOVATE_SPLIT]: 'update',\n },\n },\n );\n setMeta({ repository: config.repository });\n addSplit('update');\n if (performExtract) {\n await setBranchCache(branches); // update branch cache if performed extraction\n }\n if (res === 'automerged') {\n if (canRetry) {\n logger.info('Restarting repository job after automerge result');\n const recursiveRes = await renovateRepository(repoConfig, false);\n return recursiveRes;\n }\n logger.debug(`Automerged but already retried once`);\n } else {\n const configMigrationRes = await configMigration(config, branchList);\n await ensureDependencyDashboard(\n config,\n branches,\n packageFiles,\n configMigrationRes,\n );\n }\n await finalizeRepo(config, branchList, repoConfig);\n // TODO #22198\n repoResult = processResult(config, res!);\n }\n printRepositoryProblems(config.repository);\n } catch (err) /* istanbul ignore next */ {\n setMeta({ repository: config.repository });\n const errorRes = await handleError(config, err);\n const pruneWhenErrors = [\n REPOSITORY_DISABLED_BY_CONFIG,\n REPOSITORY_FORKED,\n REPOSITORY_NO_CONFIG,\n ];\n if (pruneWhenErrors.includes(errorRes)) {\n await pruneStaleBranches(config, []);\n }\n repoResult = processResult(config, errorRes);\n }\n if (localDir && !repoConfig.persistRepoData) {\n try {\n await deleteLocalFile('.');\n } catch (err) /* istanbul ignore if */ {\n logger.warn({ err }, 'localDir deletion error');\n }\n }\n try {\n await fs.remove(privateCacheDir());\n } catch (err) /* istanbul ignore if */ {\n logger.warn({ err }, 'privateCacheDir deletion error');\n }\n const splits = getSplits();\n logger.debug(splits, 'Repository timing splits (milliseconds)');\n PackageCacheStats.report();\n DatasourceCacheStats.report();\n HttpStats.report();\n HttpCacheStats.report();\n LookupStats.report();\n GetDatasourceReleasesStats.report();\n ObsoleteCacheHitLogger.report();\n AbandonedPackageStats.report();\n GitOperationStats.report();\n const cloned = isCloned();\n /* v8 ignore next 11 -- coverage not required of these `undefined` checks, as we're happy receiving an `undefined` in the logs */\n logger.info(\n {\n cloned,\n durationMs: splits.total,\n result: repoResult?.res,\n status: repoResult?.status,\n enabled: repoResult?.enabled,\n onboarded: repoResult?.onboarded,\n },\n 'Repository finished',\n );\n resetRepositoryLogLevelRemaps();\n return repoResult;\n}\n\n// istanbul ignore next: renovateRepository is ignored\nfunction emptyExtract(): ExtractResult {\n return instrument(\n 'extract',\n () => {\n addSplit('extract');\n addSplit('lookup');\n return {\n branches: [],\n branchList: [getInheritedOrGlobal('onboardingBranch')!], // to prevent auto closing\n packageFiles: {},\n };\n },\n {\n attributes: {\n [ATTR_RENOVATE_SPLIT]: 'extract',\n },\n },\n );\n}\n\nexport function printRepositoryProblems(repository: string | undefined): void {\n const repoProblems = extractRepoProblems(repository);\n if (repoProblems.size) {\n logger.debug(\n { repoProblems: Array.from(repoProblems) },\n 'repository problems',\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../lib/workers/repository/index.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { GlobalConfig } from '../../config/global.ts';\nimport { applySecretsAndVariablesToConfig } from '../../config/secrets.ts';\nimport type { RenovateConfig } from '../../config/types.ts';\nimport {\n REPOSITORY_DISABLED_BY_CONFIG,\n REPOSITORY_FORKED,\n REPOSITORY_NO_CONFIG,\n} from '../../constants/error-messages.ts';\nimport { pkg } from '../../expose.ts';\nimport { instrument } from '../../instrumentation/index.ts';\nimport { addExtractionStats } from '../../instrumentation/reporting.ts';\nimport { ATTR_RENOVATE_SPLIT } from '../../instrumentation/types.ts';\nimport { logger, setMeta } from '../../logger/index.ts';\nimport { resetRepositoryLogLevelRemaps } from '../../logger/remap.ts';\nimport { getInheritedOrGlobal } from '../../util/common.ts';\nimport { removeDanglingContainers } from '../../util/exec/docker/index.ts';\nimport { deleteLocalFile, privateCacheDir } from '../../util/fs/index.ts';\nimport { isCloned } from '../../util/git/index.ts';\nimport { detectSemanticCommits } from '../../util/git/semantic.ts';\nimport * as queue from '../../util/http/queue.ts';\nimport * as throttle from '../../util/http/throttle.ts';\nimport { addSplit, getSplits, splitInit } from '../../util/split.ts';\nimport {\n AbandonedPackageStats,\n DatasourceCacheStats,\n GetDatasourceReleasesStats,\n GitOperationStats,\n HttpCacheStats,\n HttpStats,\n LookupStats,\n ObsoleteCacheHitLogger,\n PackageCacheStats,\n} from '../../util/stats.ts';\nimport { setBranchCache } from './cache.ts';\nimport { extractRepoProblems } from './common.ts';\nimport { configMigration } from './config-migration/index.ts';\nimport { ensureDependencyDashboard } from './dependency-dashboard.ts';\nimport handleError from './error.ts';\nimport { finalizeRepo } from './finalize/index.ts';\nimport { pruneStaleBranches } from './finalize/prune.ts';\nimport { initRepo } from './init/index.ts';\nimport { OnboardingState } from './onboarding/common.ts';\nimport { ensureOnboardingPr } from './onboarding/pr/index.ts';\nimport type { ExtractResult } from './process/extract-update.ts';\nimport { extractDependencies, updateRepo } from './process/index.ts';\nimport type { ProcessResult } from './result.ts';\nimport { processResult } from './result.ts';\n\n// istanbul ignore next\nexport async function renovateRepository(\n repoConfig: RenovateConfig,\n canRetry = true,\n): Promise<ProcessResult | undefined> {\n splitInit();\n\n let repoResult: ProcessResult | undefined;\n const { config, localDir, error } = await instrument(\n 'init',\n async (): Promise<{\n config: RenovateConfig;\n localDir: string;\n error?: Error;\n }> => {\n let config = GlobalConfig.set(\n applySecretsAndVariablesToConfig({\n config: repoConfig,\n deleteVariables: false,\n deleteSecrets: false,\n }),\n );\n await removeDanglingContainers();\n setMeta({ repository: config.repository });\n logger.info({ renovateVersion: pkg.version }, 'Repository started');\n logger.trace({ config });\n queue.clear();\n throttle.clear();\n const localDir = GlobalConfig.get('localDir');\n\n try {\n await fs.ensureDir(localDir);\n logger.debug(`Using localDir: ${localDir}`);\n config = await initRepo(config);\n addSplit('init');\n } catch (err) /* istanbul ignore next */ {\n setMeta({ repository: config.repository });\n const errorRes = await handleError(config, err);\n const pruneWhenErrors = [\n REPOSITORY_DISABLED_BY_CONFIG,\n REPOSITORY_FORKED,\n REPOSITORY_NO_CONFIG,\n ];\n if (pruneWhenErrors.includes(errorRes)) {\n await pruneStaleBranches(config, []);\n }\n repoResult = processResult(config, errorRes);\n\n return { config, localDir, error: err };\n }\n\n return { config, localDir };\n },\n {\n attributes: {\n [ATTR_RENOVATE_SPLIT]: 'init',\n },\n },\n );\n\n // only continue if init stage was successful\n if (error === undefined) {\n try {\n const performExtract =\n config.repoIsOnboarded! ||\n !OnboardingState.onboardingCacheValid ||\n OnboardingState.prUpdateRequested;\n const extractResult = performExtract\n ? await extractDependencies(config)\n : emptyExtract();\n addExtractionStats(config, extractResult);\n\n const { branches, branchList, packageFiles } = extractResult;\n\n if (config.semanticCommits === 'auto') {\n config.semanticCommits = await detectSemanticCommits();\n }\n\n if (\n GlobalConfig.get('dryRun') !== 'lookup' &&\n GlobalConfig.get('dryRun') !== 'extract'\n ) {\n await instrument(\n 'onboarding',\n () => ensureOnboardingPr(config, packageFiles, branches),\n {\n attributes: {\n [ATTR_RENOVATE_SPLIT]: 'onboarding',\n },\n },\n );\n addSplit('onboarding');\n const res = await instrument(\n 'update',\n () => updateRepo(config, branches),\n {\n attributes: {\n [ATTR_RENOVATE_SPLIT]: 'update',\n },\n },\n );\n setMeta({ repository: config.repository });\n addSplit('update');\n if (performExtract) {\n await setBranchCache(branches); // update branch cache if performed extraction\n }\n if (res === 'automerged') {\n if (canRetry) {\n logger.info('Restarting repository job after automerge result');\n const recursiveRes = await renovateRepository(repoConfig, false);\n return recursiveRes;\n }\n logger.debug(`Automerged but already retried once`);\n } else {\n const configMigrationRes = await configMigration(config, branchList);\n await ensureDependencyDashboard(\n config,\n branches,\n packageFiles,\n configMigrationRes,\n );\n }\n await finalizeRepo(config, branchList, repoConfig);\n // TODO #22198\n repoResult = processResult(config, res!);\n }\n printRepositoryProblems(config.repository);\n } catch (err) /* istanbul ignore next */ {\n setMeta({ repository: config.repository });\n const errorRes = await handleError(config, err);\n const pruneWhenErrors = [\n REPOSITORY_DISABLED_BY_CONFIG,\n REPOSITORY_FORKED,\n REPOSITORY_NO_CONFIG,\n ];\n if (pruneWhenErrors.includes(errorRes)) {\n await pruneStaleBranches(config, []);\n }\n repoResult = processResult(config, errorRes);\n }\n } else {\n logger.debug(\n { error },\n 'Skipping the rest to the Renovate run due to error in `init` phase',\n );\n }\n\n if (localDir && !repoConfig.persistRepoData) {\n try {\n await deleteLocalFile('.');\n } catch (err) /* istanbul ignore if */ {\n logger.warn({ err }, 'localDir deletion error');\n }\n }\n try {\n await fs.remove(privateCacheDir());\n } catch (err) /* istanbul ignore if */ {\n logger.warn({ err }, 'privateCacheDir deletion error');\n }\n const splits = getSplits();\n logger.debug(splits, 'Repository timing splits (milliseconds)');\n PackageCacheStats.report();\n DatasourceCacheStats.report();\n HttpStats.report();\n HttpCacheStats.report();\n LookupStats.report();\n GetDatasourceReleasesStats.report();\n ObsoleteCacheHitLogger.report();\n AbandonedPackageStats.report();\n GitOperationStats.report();\n const cloned = isCloned();\n /* v8 ignore next 11 -- coverage not required of these `undefined` checks, as we're happy receiving an `undefined` in the logs */\n logger.info(\n {\n cloned,\n durationMs: splits.total,\n result: repoResult?.res,\n status: repoResult?.status,\n enabled: repoResult?.enabled,\n onboarded: repoResult?.onboarded,\n },\n 'Repository finished',\n );\n resetRepositoryLogLevelRemaps();\n return repoResult;\n}\n\n// istanbul ignore next: renovateRepository is ignored\nfunction emptyExtract(): ExtractResult {\n return instrument(\n 'extract',\n () => {\n addSplit('extract');\n addSplit('lookup');\n return {\n branches: [],\n branchList: [getInheritedOrGlobal('onboardingBranch')!], // to prevent auto closing\n packageFiles: {},\n };\n },\n {\n attributes: {\n [ATTR_RENOVATE_SPLIT]: 'extract',\n },\n },\n );\n}\n\nexport function printRepositoryProblems(repository: string | undefined): void {\n const repoProblems = extractRepoProblems(repository);\n if (repoProblems.size) {\n logger.debug(\n { repoProblems: Array.from(repoProblems) },\n 'repository problems',\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,eAAsB,mBACpB,YACA,WAAW,MACyB;CACpC,UAAU;CAEV,IAAI;CACJ,MAAM,EAAE,QAAQ,UAAU,UAAU,MAAM,WACxC,QACA,YAIM;EACJ,IAAI,SAAS,aAAa,IACxB,iCAAiC;GAC/B,QAAQ;GACR,iBAAiB;GACjB,eAAe;EACjB,CAAC,CACH;EACA,MAAM,yBAAyB;EAC/B,QAAQ,EAAE,YAAY,OAAO,WAAW,CAAC;EACzC,OAAO,KAAK,EAAE,iBAAiB,IAAI,QAAQ,GAAG,oBAAoB;EAClE,OAAO,MAAM,EAAE,OAAO,CAAC;EACvB,MAAY;EACZ,QAAe;EACf,MAAM,WAAW,aAAa,IAAI,UAAU;EAE5C,IAAI;GACF,MAAM,GAAG,UAAU,QAAQ;GAC3B,OAAO,MAAM,mBAAmB,UAAU;GAC1C,SAAS,MAAM,SAAS,MAAM;GAC9B,SAAS,MAAM;EACjB,SAAS,kCAAgC;GACvC,QAAQ,EAAE,YAAY,OAAO,WAAW,CAAC;GACzC,MAAM,WAAW,MAAM,YAAY,QAAQ,GAAG;GAM9C,IAAI;;;;GAAc,EAAE,SAAS,QAAQ,GACnC,MAAM,mBAAmB,QAAQ,CAAC,CAAC;GAErC,aAAa,cAAc,QAAQ,QAAQ;GAE3C,OAAO;IAAE;IAAQ;IAAU,OAAO;GAAI;EACxC;EAEA,OAAO;GAAE;GAAQ;EAAS;CAC5B,GACA,EACE,YAAY,GACT,sBAAsB,OACzB,EACF,CACF;CAGA,IAAI,UAAU,KAAA,GACZ,IAAI;EACF,MAAM,iBACJ,OAAO,mBACP,CAAC,gBAAgB,wBACjB,gBAAgB;EAClB,MAAM,gBAAgB,iBAClB,MAAM,oBAAoB,MAAM,IAChC,aAAa;EACjB,mBAAmB,QAAQ,aAAa;EAExC,MAAM,EAAE,UAAU,YAAY,iBAAiB;EAE/C,IAAI,OAAO,oBAAoB,QAC7B,OAAO,kBAAkB,MAAM,sBAAsB;EAGvD,IACE,aAAa,IAAI,QAAQ,MAAM,YAC/B,aAAa,IAAI,QAAQ,MAAM,WAC/B;GACA,MAAM,WACJ,oBACM,mBAAmB,QAAQ,cAAc,QAAQ,GACvD,EACE,YAAY,GACT,sBAAsB,aACzB,EACF,CACF;GACA,SAAS,YAAY;GACrB,MAAM,MAAM,MAAM,WAChB,gBACM,WAAW,QAAQ,QAAQ,GACjC,EACE,YAAY,GACT,sBAAsB,SACzB,EACF,CACF;GACA,QAAQ,EAAE,YAAY,OAAO,WAAW,CAAC;GACzC,SAAS,QAAQ;GACjB,IAAI,gBACF,MAAM,eAAe,QAAQ;GAE/B,IAAI,QAAQ,cAAc;IACxB,IAAI,UAAU;KACZ,OAAO,KAAK,kDAAkD;KAE9D,OAAO,MADoB,mBAAmB,YAAY,KAAK;IAEjE;IACA,OAAO,MAAM,qCAAqC;GACpD,OAEE,MAAM,0BACJ,QACA,UACA,cACA,MAL+B,gBAAgB,QAAQ,UAAU,CAMnE;GAEF,MAAM,aAAa,QAAQ,YAAY,UAAU;GAEjD,aAAa,cAAc,QAAQ,GAAI;EACzC;EACA,wBAAwB,OAAO,UAAU;CAC3C,SAAS,iCAAgC;EACvC,QAAQ,EAAE,YAAY,OAAO,WAAW,CAAC;EACzC,MAAM,WAAW,MAAM,YAAY,QAAQ,GAAG;EAM9C,IAAI;;;;EAAc,EAAE,SAAS,QAAQ,GACnC,MAAM,mBAAmB,QAAQ,CAAC,CAAC;EAErC,aAAa,cAAc,QAAQ,QAAQ;CAC7C;MAEA,OAAO,MACL,EAAE,MAAM,GACR,oEACF;CAGF,IAAI,YAAY,CAAC,WAAW,iBAC1B,IAAI;EACF,MAAM,gBAAgB,GAAG;CAC3B,SAAS,+BAA8B;EACrC,OAAO,KAAK,EAAE,IAAI,GAAG,yBAAyB;CAChD;CAEF,IAAI;EACF,MAAM,GAAG,OAAO,gBAAgB,CAAC;CACnC,SAAS,+BAA8B;EACrC,OAAO,KAAK,EAAE,IAAI,GAAG,gCAAgC;CACvD;CACA,MAAM,SAAS,UAAU;CACzB,OAAO,MAAM,QAAQ,yCAAyC;CAC9D,kBAAkB,OAAO;CACzB,qBAAqB,OAAO;CAC5B,UAAU,OAAO;CACjB,eAAe,OAAO;CACtB,YAAY,OAAO;CACnB,2BAA2B,OAAO;CAClC,uBAAuB,OAAO;CAC9B,sBAAsB,OAAO;CAC7B,kBAAkB,OAAO;CACzB,MAAM,SAAS,SAAS;;CAExB,OAAO,KACL;EACE;EACA,YAAY,OAAO;EACnB,QAAQ,YAAY;EACpB,QAAQ,YAAY;EACpB,SAAS,YAAY;EACrB,WAAW,YAAY;CACzB,GACA,qBACF;CACA,8BAA8B;CAC9B,OAAO;AACT;;AAGA,SAAS,eAA8B;CACrC,OAAO,WACL,iBACM;EACJ,SAAS,SAAS;EAClB,SAAS,QAAQ;EACjB,OAAO;GACL,UAAU,CAAC;GACX,YAAY,CAAC,qBAAqB,kBAAkB,CAAE;GACtD,cAAc,CAAC;EACjB;CACF,GACA,EACE,YAAY,GACT,sBAAsB,UACzB,EACF,CACF;AACF;AAEA,SAAgB,wBAAwB,YAAsC;CAC5E,MAAM,eAAe,oBAAoB,UAAU;CACnD,IAAI,aAAa,MACf,OAAO,MACL,EAAE,cAAc,MAAM,KAAK,YAAY,EAAE,GACzC,qBACF;AAEJ"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "43.209.0",
4
+ "version": "43.209.1",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",