@backstage/config-loader 1.10.5 → 1.10.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @backstage/config-loader
2
2
 
3
+ ## 1.10.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
8
+ - Updated dependencies
9
+ - @backstage/config@1.3.6
10
+
11
+ ## 1.10.6-next.0
12
+
13
+ ### Patch Changes
14
+
15
+ - 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
16
+ - Updated dependencies
17
+ - @backstage/config@1.3.6-next.0
18
+ - @backstage/cli-common@0.1.15
19
+ - @backstage/errors@1.2.7
20
+ - @backstage/types@1.2.2
21
+
3
22
  ## 1.10.5
4
23
 
5
24
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -621,8 +621,6 @@ interface StaticConfigSourceOptions {
621
621
  * @public
622
622
  */
623
623
  declare class StaticConfigSource implements ConfigSource {
624
- private readonly promise;
625
- private readonly context;
626
624
  /**
627
625
  * Creates a new {@link StaticConfigSource}.
628
626
  *
@@ -630,6 +628,8 @@ declare class StaticConfigSource implements ConfigSource {
630
628
  * @returns A new static config source
631
629
  */
632
630
  static create(options: StaticConfigSourceOptions): ConfigSource;
631
+ private readonly promise;
632
+ private readonly context;
633
633
  private constructor();
634
634
  readConfigData(): AsyncConfigSourceGenerator;
635
635
  toString(): string;
@@ -8,6 +8,14 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
8
8
  var isEqual__default = /*#__PURE__*/_interopDefaultCompat(isEqual);
9
9
 
10
10
  class ObservableConfigProxy {
11
+ config = new config.ConfigReader({});
12
+ subscribers = [];
13
+ static create(abortController) {
14
+ return new ObservableConfigProxy(void 0, void 0, abortController);
15
+ }
16
+ parent;
17
+ parentKey;
18
+ abortController;
11
19
  constructor(parent, parentKey, abortController) {
12
20
  this.parent = parent;
13
21
  this.parentKey = parentKey;
@@ -16,11 +24,6 @@ class ObservableConfigProxy {
16
24
  throw new Error("parentKey is required if parent is set");
17
25
  }
18
26
  }
19
- config = new config.ConfigReader({});
20
- subscribers = [];
21
- static create(abortController) {
22
- return new ObservableConfigProxy(void 0, void 0, abortController);
23
- }
24
27
  setConfig(config) {
25
28
  if (this.parent) {
26
29
  throw new Error("immutable");
@@ -1 +1 @@
1
- {"version":3,"file":"ObservableConfigProxy.cjs.js","sources":["../../src/sources/ObservableConfigProxy.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Config, ConfigReader } from '@backstage/config';\nimport { JsonValue } from '@backstage/types';\nimport isEqual from 'lodash/isEqual';\n\nexport class ObservableConfigProxy implements Config {\n private config: Config = new ConfigReader({});\n\n private readonly subscribers: (() => void)[] = [];\n\n static create(abortController: AbortController): ObservableConfigProxy {\n return new ObservableConfigProxy(undefined, undefined, abortController);\n }\n\n private constructor(\n private readonly parent?: ObservableConfigProxy,\n private readonly parentKey?: string,\n private readonly abortController?: AbortController,\n ) {\n if (parent && !parentKey) {\n throw new Error('parentKey is required if parent is set');\n }\n }\n\n setConfig(config: Config) {\n if (this.parent) {\n throw new Error('immutable');\n }\n\n // We only notify subscribers if the data contents of the config actually\n // changed. If they didn't, there's no point in callers trying to re-read\n // them. However we still want to replace the local config object, since its\n // runtime implementation could be entirely different.\n const changed = !isEqual(this.config.get(), config.get());\n\n this.config = config;\n\n if (changed) {\n for (const subscriber of this.subscribers) {\n try {\n subscriber();\n } catch (error) {\n console.error(`Config subscriber threw error, ${error}`);\n }\n }\n }\n }\n\n close() {\n if (!this.abortController) {\n throw new Error('Only the root config can be closed');\n }\n this.abortController.abort();\n }\n\n subscribe(onChange: () => void): { unsubscribe: () => void } {\n if (this.parent) {\n return this.parent.subscribe(onChange);\n }\n\n this.subscribers.push(onChange);\n return {\n unsubscribe: () => {\n const index = this.subscribers.indexOf(onChange);\n if (index >= 0) {\n this.subscribers.splice(index, 1);\n }\n },\n };\n }\n\n private select(required: true): Config;\n private select(required: false): Config | undefined;\n private select(required: boolean): Config | undefined {\n if (this.parent && this.parentKey) {\n if (required) {\n return this.parent.select(true).getConfig(this.parentKey);\n }\n return this.parent.select(false)?.getOptionalConfig(this.parentKey);\n }\n\n return this.config;\n }\n\n has(key: string): boolean {\n return this.select(false)?.has(key) ?? false;\n }\n keys(): string[] {\n return this.select(false)?.keys() ?? [];\n }\n get<T = JsonValue>(key?: string): T {\n return this.select(true).get(key);\n }\n getOptional<T = JsonValue>(key?: string): T | undefined {\n return this.select(false)?.getOptional(key);\n }\n getConfig(key: string): Config {\n return new ObservableConfigProxy(this, key);\n }\n getOptionalConfig(key: string): Config | undefined {\n if (this.select(false)?.has(key)) {\n return new ObservableConfigProxy(this, key);\n }\n return undefined;\n }\n getConfigArray(key: string): Config[] {\n return this.select(true).getConfigArray(key);\n }\n getOptionalConfigArray(key: string): Config[] | undefined {\n return this.select(false)?.getOptionalConfigArray(key);\n }\n getNumber(key: string): number {\n return this.select(true).getNumber(key);\n }\n getOptionalNumber(key: string): number | undefined {\n return this.select(false)?.getOptionalNumber(key);\n }\n getBoolean(key: string): boolean {\n return this.select(true).getBoolean(key);\n }\n getOptionalBoolean(key: string): boolean | undefined {\n return this.select(false)?.getOptionalBoolean(key);\n }\n getString(key: string): string {\n return this.select(true).getString(key);\n }\n getOptionalString(key: string): string | undefined {\n return this.select(false)?.getOptionalString(key);\n }\n getStringArray(key: string): string[] {\n return this.select(true).getStringArray(key);\n }\n getOptionalStringArray(key: string): string[] | undefined {\n return this.select(false)?.getOptionalStringArray(key);\n }\n}\n"],"names":["ConfigReader","isEqual"],"mappings":"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"}
1
+ {"version":3,"file":"ObservableConfigProxy.cjs.js","sources":["../../src/sources/ObservableConfigProxy.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Config, ConfigReader } from '@backstage/config';\nimport { JsonValue } from '@backstage/types';\nimport isEqual from 'lodash/isEqual';\n\nexport class ObservableConfigProxy implements Config {\n private config: Config = new ConfigReader({});\n\n private readonly subscribers: (() => void)[] = [];\n\n static create(abortController: AbortController): ObservableConfigProxy {\n return new ObservableConfigProxy(undefined, undefined, abortController);\n }\n\n private readonly parent?: ObservableConfigProxy;\n private readonly parentKey?: string;\n private readonly abortController?: AbortController;\n\n private constructor(\n parent?: ObservableConfigProxy,\n parentKey?: string,\n abortController?: AbortController,\n ) {\n this.parent = parent;\n this.parentKey = parentKey;\n this.abortController = abortController;\n if (parent && !parentKey) {\n throw new Error('parentKey is required if parent is set');\n }\n }\n\n setConfig(config: Config) {\n if (this.parent) {\n throw new Error('immutable');\n }\n\n // We only notify subscribers if the data contents of the config actually\n // changed. If they didn't, there's no point in callers trying to re-read\n // them. However we still want to replace the local config object, since its\n // runtime implementation could be entirely different.\n const changed = !isEqual(this.config.get(), config.get());\n\n this.config = config;\n\n if (changed) {\n for (const subscriber of this.subscribers) {\n try {\n subscriber();\n } catch (error) {\n console.error(`Config subscriber threw error, ${error}`);\n }\n }\n }\n }\n\n close() {\n if (!this.abortController) {\n throw new Error('Only the root config can be closed');\n }\n this.abortController.abort();\n }\n\n subscribe(onChange: () => void): { unsubscribe: () => void } {\n if (this.parent) {\n return this.parent.subscribe(onChange);\n }\n\n this.subscribers.push(onChange);\n return {\n unsubscribe: () => {\n const index = this.subscribers.indexOf(onChange);\n if (index >= 0) {\n this.subscribers.splice(index, 1);\n }\n },\n };\n }\n\n private select(required: true): Config;\n private select(required: false): Config | undefined;\n private select(required: boolean): Config | undefined {\n if (this.parent && this.parentKey) {\n if (required) {\n return this.parent.select(true).getConfig(this.parentKey);\n }\n return this.parent.select(false)?.getOptionalConfig(this.parentKey);\n }\n\n return this.config;\n }\n\n has(key: string): boolean {\n return this.select(false)?.has(key) ?? false;\n }\n keys(): string[] {\n return this.select(false)?.keys() ?? [];\n }\n get<T = JsonValue>(key?: string): T {\n return this.select(true).get(key);\n }\n getOptional<T = JsonValue>(key?: string): T | undefined {\n return this.select(false)?.getOptional(key);\n }\n getConfig(key: string): Config {\n return new ObservableConfigProxy(this, key);\n }\n getOptionalConfig(key: string): Config | undefined {\n if (this.select(false)?.has(key)) {\n return new ObservableConfigProxy(this, key);\n }\n return undefined;\n }\n getConfigArray(key: string): Config[] {\n return this.select(true).getConfigArray(key);\n }\n getOptionalConfigArray(key: string): Config[] | undefined {\n return this.select(false)?.getOptionalConfigArray(key);\n }\n getNumber(key: string): number {\n return this.select(true).getNumber(key);\n }\n getOptionalNumber(key: string): number | undefined {\n return this.select(false)?.getOptionalNumber(key);\n }\n getBoolean(key: string): boolean {\n return this.select(true).getBoolean(key);\n }\n getOptionalBoolean(key: string): boolean | undefined {\n return this.select(false)?.getOptionalBoolean(key);\n }\n getString(key: string): string {\n return this.select(true).getString(key);\n }\n getOptionalString(key: string): string | undefined {\n return this.select(false)?.getOptionalString(key);\n }\n getStringArray(key: string): string[] {\n return this.select(true).getStringArray(key);\n }\n getOptionalStringArray(key: string): string[] | undefined {\n return this.select(false)?.getOptionalStringArray(key);\n }\n}\n"],"names":["ConfigReader","isEqual"],"mappings":"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"}
@@ -3,6 +3,8 @@
3
3
  var types = require('@backstage/types');
4
4
 
5
5
  class StaticObservableConfigSource {
6
+ data;
7
+ context;
6
8
  constructor(data, context) {
7
9
  this.data = data;
8
10
  this.context = context;
@@ -48,10 +50,6 @@ function isAsyncIterable(value) {
48
50
  return Symbol.asyncIterator in value;
49
51
  }
50
52
  class StaticConfigSource {
51
- constructor(promise, context) {
52
- this.promise = promise;
53
- this.context = context;
54
- }
55
53
  /**
56
54
  * Creates a new {@link StaticConfigSource}.
57
55
  *
@@ -82,6 +80,12 @@ class StaticConfigSource {
82
80
  }
83
81
  return new StaticConfigSource(data, context);
84
82
  }
83
+ promise;
84
+ context;
85
+ constructor(promise, context) {
86
+ this.promise = promise;
87
+ this.context = context;
88
+ }
85
89
  async *readConfigData() {
86
90
  yield { configs: [{ data: await this.promise, context: this.context }] };
87
91
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"StaticConfigSource.cjs.js","sources":["../../src/sources/StaticConfigSource.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { JsonObject, Observable, createDeferred } from '@backstage/types';\nimport {\n AsyncConfigSourceGenerator,\n ConfigSource,\n ReadConfigDataOptions,\n} from './types';\n\n/**\n * Options for {@link StaticConfigSource.create}.\n *\n * @public\n */\nexport interface StaticConfigSourceOptions {\n data:\n | JsonObject\n | Observable<JsonObject>\n | PromiseLike<JsonObject>\n | AsyncIterable<JsonObject>;\n context?: string;\n}\n\n/** @internal */\nclass StaticObservableConfigSource implements ConfigSource {\n constructor(\n private readonly data: Observable<JsonObject>,\n private readonly context: string,\n ) {}\n\n async *readConfigData(\n options?: ReadConfigDataOptions | undefined,\n ): AsyncConfigSourceGenerator {\n const queue = new Array<JsonObject>();\n let deferred = createDeferred();\n\n const sub = this.data.subscribe({\n next(value) {\n queue.push(value);\n deferred.resolve();\n deferred = createDeferred();\n },\n complete() {\n deferred.resolve();\n },\n });\n\n const signal = options?.signal;\n if (signal) {\n const onAbort = () => {\n sub.unsubscribe();\n queue.length = 0;\n deferred.resolve();\n signal.removeEventListener('abort', onAbort);\n };\n\n signal.addEventListener('abort', onAbort);\n }\n\n for (;;) {\n await deferred;\n if (queue.length === 0) {\n return;\n }\n while (queue.length > 0) {\n yield { configs: [{ data: queue.shift()!, context: this.context }] };\n }\n }\n }\n}\n\nfunction isObservable<T>(value: {}): value is Observable<T> {\n return 'subscribe' in value && typeof (value as any).subscribe === 'function';\n}\n\nfunction isAsyncIterable<T>(value: {}): value is AsyncIterable<T> {\n return Symbol.asyncIterator in value;\n}\n\n/**\n * A configuration source that reads from a static object, promise, iterable, or observable.\n *\n * @public\n */\nexport class StaticConfigSource implements ConfigSource {\n /**\n * Creates a new {@link StaticConfigSource}.\n *\n * @param options - Options for the config source\n * @returns A new static config source\n */\n static create(options: StaticConfigSourceOptions): ConfigSource {\n const { data, context = 'static-config' } = options;\n if (!data) {\n return {\n async *readConfigData(): AsyncConfigSourceGenerator {\n yield { configs: [] };\n return;\n },\n };\n }\n\n if (isObservable<JsonObject>(data)) {\n return new StaticObservableConfigSource(data, context);\n }\n\n if (isAsyncIterable(data)) {\n return {\n async *readConfigData(): AsyncConfigSourceGenerator {\n for await (const value of data) {\n yield { configs: [{ data: value, context }] };\n }\n },\n };\n }\n\n return new StaticConfigSource(data, context);\n }\n\n private constructor(\n private readonly promise: JsonObject | PromiseLike<JsonObject>,\n private readonly context: string,\n ) {}\n\n async *readConfigData(): AsyncConfigSourceGenerator {\n yield { configs: [{ data: await this.promise, context: this.context }] };\n return;\n }\n\n toString() {\n return `StaticConfigSource{}`;\n }\n}\n"],"names":["createDeferred"],"mappings":"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"}
1
+ {"version":3,"file":"StaticConfigSource.cjs.js","sources":["../../src/sources/StaticConfigSource.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { JsonObject, Observable, createDeferred } from '@backstage/types';\nimport {\n AsyncConfigSourceGenerator,\n ConfigSource,\n ReadConfigDataOptions,\n} from './types';\n\n/**\n * Options for {@link StaticConfigSource.create}.\n *\n * @public\n */\nexport interface StaticConfigSourceOptions {\n data:\n | JsonObject\n | Observable<JsonObject>\n | PromiseLike<JsonObject>\n | AsyncIterable<JsonObject>;\n context?: string;\n}\n\n/** @internal */\nclass StaticObservableConfigSource implements ConfigSource {\n private readonly data: Observable<JsonObject>;\n private readonly context: string;\n\n constructor(data: Observable<JsonObject>, context: string) {\n this.data = data;\n this.context = context;\n }\n\n async *readConfigData(\n options?: ReadConfigDataOptions | undefined,\n ): AsyncConfigSourceGenerator {\n const queue = new Array<JsonObject>();\n let deferred = createDeferred();\n\n const sub = this.data.subscribe({\n next(value) {\n queue.push(value);\n deferred.resolve();\n deferred = createDeferred();\n },\n complete() {\n deferred.resolve();\n },\n });\n\n const signal = options?.signal;\n if (signal) {\n const onAbort = () => {\n sub.unsubscribe();\n queue.length = 0;\n deferred.resolve();\n signal.removeEventListener('abort', onAbort);\n };\n\n signal.addEventListener('abort', onAbort);\n }\n\n for (;;) {\n await deferred;\n if (queue.length === 0) {\n return;\n }\n while (queue.length > 0) {\n yield { configs: [{ data: queue.shift()!, context: this.context }] };\n }\n }\n }\n}\n\nfunction isObservable<T>(value: {}): value is Observable<T> {\n return 'subscribe' in value && typeof (value as any).subscribe === 'function';\n}\n\nfunction isAsyncIterable<T>(value: {}): value is AsyncIterable<T> {\n return Symbol.asyncIterator in value;\n}\n\n/**\n * A configuration source that reads from a static object, promise, iterable, or observable.\n *\n * @public\n */\nexport class StaticConfigSource implements ConfigSource {\n /**\n * Creates a new {@link StaticConfigSource}.\n *\n * @param options - Options for the config source\n * @returns A new static config source\n */\n static create(options: StaticConfigSourceOptions): ConfigSource {\n const { data, context = 'static-config' } = options;\n if (!data) {\n return {\n async *readConfigData(): AsyncConfigSourceGenerator {\n yield { configs: [] };\n return;\n },\n };\n }\n\n if (isObservable<JsonObject>(data)) {\n return new StaticObservableConfigSource(data, context);\n }\n\n if (isAsyncIterable(data)) {\n return {\n async *readConfigData(): AsyncConfigSourceGenerator {\n for await (const value of data) {\n yield { configs: [{ data: value, context }] };\n }\n },\n };\n }\n\n return new StaticConfigSource(data, context);\n }\n\n private readonly promise: JsonObject | PromiseLike<JsonObject>;\n private readonly context: string;\n\n private constructor(\n promise: JsonObject | PromiseLike<JsonObject>,\n context: string,\n ) {\n this.promise = promise;\n this.context = context;\n }\n\n async *readConfigData(): AsyncConfigSourceGenerator {\n yield { configs: [{ data: await this.promise, context: this.context }] };\n return;\n }\n\n toString() {\n return `StaticConfigSource{}`;\n }\n}\n"],"names":["createDeferred"],"mappings":";;;;AAsCA,MAAM,4BAAA,CAAqD;AAAA,EACxC,IAAA;AAAA,EACA,OAAA;AAAA,EAEjB,WAAA,CAAY,MAA8B,OAAA,EAAiB;AACzD,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AACZ,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AAAA,EAEA,OAAO,eACL,OAAA,EAC4B;AAC5B,IAAA,MAAM,KAAA,GAAQ,IAAI,KAAA,EAAkB;AACpC,IAAA,IAAI,WAAWA,oBAAA,EAAe;AAE9B,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,IAAA,CAAK,SAAA,CAAU;AAAA,MAC9B,KAAK,KAAA,EAAO;AACV,QAAA,KAAA,CAAM,KAAK,KAAK,CAAA;AAChB,QAAA,QAAA,CAAS,OAAA,EAAQ;AACjB,QAAA,QAAA,GAAWA,oBAAA,EAAe;AAAA,MAC5B,CAAA;AAAA,MACA,QAAA,GAAW;AACT,QAAA,QAAA,CAAS,OAAA,EAAQ;AAAA,MACnB;AAAA,KACD,CAAA;AAED,IAAA,MAAM,SAAS,OAAA,EAAS,MAAA;AACxB,IAAA,IAAI,MAAA,EAAQ;AACV,MAAA,MAAM,UAAU,MAAM;AACpB,QAAA,GAAA,CAAI,WAAA,EAAY;AAChB,QAAA,KAAA,CAAM,MAAA,GAAS,CAAA;AACf,QAAA,QAAA,CAAS,OAAA,EAAQ;AACjB,QAAA,MAAA,CAAO,mBAAA,CAAoB,SAAS,OAAO,CAAA;AAAA,MAC7C,CAAA;AAEA,MAAA,MAAA,CAAO,gBAAA,CAAiB,SAAS,OAAO,CAAA;AAAA,IAC1C;AAEA,IAAA,WAAS;AACP,MAAA,MAAM,QAAA;AACN,MAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,QAAA;AAAA,MACF;AACA,MAAA,OAAO,KAAA,CAAM,SAAS,CAAA,EAAG;AACvB,QAAA,MAAM,EAAE,OAAA,EAAS,CAAC,EAAE,IAAA,EAAM,KAAA,CAAM,KAAA,EAAM,EAAI,OAAA,EAAS,IAAA,CAAK,OAAA,EAAS,CAAA,EAAE;AAAA,MACrE;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,aAAgB,KAAA,EAAmC;AAC1D,EAAA,OAAO,WAAA,IAAe,KAAA,IAAS,OAAQ,KAAA,CAAc,SAAA,KAAc,UAAA;AACrE;AAEA,SAAS,gBAAmB,KAAA,EAAsC;AAChE,EAAA,OAAO,OAAO,aAAA,IAAiB,KAAA;AACjC;AAOO,MAAM,kBAAA,CAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOtD,OAAO,OAAO,OAAA,EAAkD;AAC9D,IAAA,MAAM,EAAE,IAAA,EAAM,OAAA,GAAU,eAAA,EAAgB,GAAI,OAAA;AAC5C,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,OAAO;AAAA,QACL,OAAO,cAAA,GAA6C;AAClD,UAAA,MAAM,EAAE,OAAA,EAAS,EAAC,EAAE;AACpB,UAAA;AAAA,QACF;AAAA,OACF;AAAA,IACF;AAEA,IAAA,IAAI,YAAA,CAAyB,IAAI,CAAA,EAAG;AAClC,MAAA,OAAO,IAAI,4BAAA,CAA6B,IAAA,EAAM,OAAO,CAAA;AAAA,IACvD;AAEA,IAAA,IAAI,eAAA,CAAgB,IAAI,CAAA,EAAG;AACzB,MAAA,OAAO;AAAA,QACL,OAAO,cAAA,GAA6C;AAClD,UAAA,WAAA,MAAiB,SAAS,IAAA,EAAM;AAC9B,YAAA,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAA,EAAO,OAAA,EAAS,CAAA,EAAE;AAAA,UAC9C;AAAA,QACF;AAAA,OACF;AAAA,IACF;AAEA,IAAA,OAAO,IAAI,kBAAA,CAAmB,IAAA,EAAM,OAAO,CAAA;AAAA,EAC7C;AAAA,EAEiB,OAAA;AAAA,EACA,OAAA;AAAA,EAET,WAAA,CACN,SACA,OAAA,EACA;AACA,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AACf,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AAAA,EAEA,OAAO,cAAA,GAA6C;AAClD,IAAA,MAAM,EAAE,OAAA,EAAS,CAAC,EAAE,IAAA,EAAM,MAAM,IAAA,CAAK,OAAA,EAAS,OAAA,EAAS,IAAA,CAAK,OAAA,EAAS,CAAA,EAAE;AACvE,IAAA;AAAA,EACF;AAAA,EAEA,QAAA,GAAW;AACT,IAAA,OAAO,CAAA,oBAAA,CAAA;AAAA,EACT;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/config-loader",
3
- "version": "1.10.5",
3
+ "version": "1.10.6",
4
4
  "description": "Config loading functionality used by Backstage backend, and CLI",
5
5
  "backstage": {
6
6
  "role": "node-library"
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@backstage/cli-common": "^0.1.15",
40
- "@backstage/config": "^1.3.5",
40
+ "@backstage/config": "^1.3.6",
41
41
  "@backstage/errors": "^1.2.7",
42
42
  "@backstage/types": "^1.2.2",
43
43
  "@types/json-schema": "^7.0.6",
@@ -53,8 +53,8 @@
53
53
  "yaml": "^2.0.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@backstage/backend-test-utils": "^1.9.1",
57
- "@backstage/cli": "^0.34.4",
56
+ "@backstage/backend-test-utils": "^1.10.0",
57
+ "@backstage/cli": "^0.34.5",
58
58
  "@types/json-schema-merge-allof": "^0.6.0",
59
59
  "@types/minimist": "^1.2.5",
60
60
  "msw": "^1.0.0",