11 KiB
@backstage/config-loader
0.9.3
Patch Changes
-
f685e1398f: Loading of app configurations now reference the@deprecatedconstruct from JSDoc to determine if a property in-use has been deprecated. Users are notified of deprecated keys in the format:The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.When the
withDeprecatedKeysoption is set totruein theprocessmethod ofloadConfigSchema, the user will be notified that deprecated keys have been identified in their app configuration.The
backend-commonandplugin-app-backendpackages have been updated to setwithDeprecatedKeysto true so that users are notified of deprecated settings by default. -
Updated dependencies
- @backstage/config@0.1.13
0.9.3-next.0
Patch Changes
-
f685e1398f: Loading of app configurations now reference the@deprecatedconstruct from JSDoc to determine if a property in-use has been deprecated. Users are notified of deprecated keys in the format:The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.When the
withDeprecatedKeysoption is set totruein theprocessmethod ofloadConfigSchema, the user will be notified that deprecated keys have been identified in their app configuration.The
backend-commonandplugin-app-backendpackages have been updated to setwithDeprecatedKeysto true so that users are notified of deprecated settings by default. -
Updated dependencies
- @backstage/config@0.1.13-next.0
0.9.2
Patch Changes
- Updated dependencies
- @backstage/config@0.1.12
- @backstage/errors@0.2.0
0.9.1
Patch Changes
84663d59a3: Bumptypescript-json-schemafrom^0.51.0to^0.52.0.
0.9.0
Minor Changes
f6722d2458: Removed deprecated optionenvfromLoadConfigOptionsand associated tests67d6cb3c7e: Removed deprecated optionconfigPathsas it has been superseded byconfigTargets
Patch Changes
1e7070443d: In case remote.reloadIntervalSeconds is passed, it must be a valid positive value
0.8.1
Patch Changes
b055a6addc: Align on usage ofcross-fetchvsnode-fetchin frontend vs backend packages, and remove some unnecessary imports of either one of them4bea7b81d3: Uses key visibility as fallback in non-object arrays
0.8.0
Minor Changes
-
1e99c73c75: UpdateloadConfigto returnLoadConfigResultinstead of an array ofAppConfig.This function is primarily used internally by other config loaders like
loadBackendConfigwhich means no changes are required for most users.If you use
loadConfigdirectly you will need to update your usage from:- const appConfigs = await loadConfig(options) + const { appConfigs } = await loadConfig(options)
Patch Changes
8809b6c0dd: Update the json-schema dependency version.- Updated dependencies
- @backstage/cli-common@0.1.6
0.7.2
Patch Changes
0611f3b3e2: Reading app config from a remote server26c5659c97: Bump msw to the same version as the rest
0.7.1
Patch Changes
10615525f3: Switch to use the json and observable types from@backstage/typesea21f7f567: bumptypescript-json-schemafrom 0.50.1 to 0.51.0- Updated dependencies
- @backstage/config@0.1.11
- @backstage/cli-common@0.1.5
- @backstage/errors@0.1.4
0.7.0
Minor Changes
7e97d0b8c1: Removed theEnvFuncpublic export. Its only usage was to be passed in toLoadConfigOptions.experimentalEnvFunc. If you were using this type, add a definition in your own project instead with the signature(name: string) => Promise<string | undefined>.
Patch Changes
223e8de6b4: Configuration schema errors are now filtered using the provided visibility option. This means that schema errors due to missing backend configuration will no longer break frontend builds.7e97d0b8c1: Add public tags and documentation36e67d2f24: Internal updates to apply more strict checks to throw errors.- Updated dependencies
- @backstage/errors@0.1.3
0.6.10
Patch Changes
957e4b3351: Updated dependencies- Updated dependencies
- @backstage/cli-common@0.1.4
0.6.9
Patch Changes
ee7a1a4b64: Add option to collect configuration schemas from explicit package paths in addition to by package name.e68bd978e2: Allow collection of configuration schemas from multiple versions of the same package.
0.6.8
Patch Changes
d1da88a19: Properly export all used types.- Updated dependencies
- @backstage/cli-common@0.1.3
- @backstage/config@0.1.9
0.6.7
Patch Changes
0ade9d02b: IncludedevDependenciesandoptionalDependenciesin the detection of Backstage packages when collecting configuration schema.9b8cec063: Add support for config file watching through a new group ofwatchoptions toloadConfig.- Updated dependencies
- @backstage/config@0.1.7
0.6.6
Patch Changes
e9d3983ee: Add option to populate thefilteredKeysproperty when processing configuration with a schema.- Updated dependencies
- @backstage/config@0.1.6
0.6.5
Patch Changes
ae84b20cf: Revert the upgrade tofs-extra@10.0.0as that seemed to have broken all installs inexplicably.
0.6.4
Patch Changes
f00493739: Removed workaround for breaking change in typescript 4.3 and bumptypescript-json-schemainstead. This should again allow the usage of@items.visibility <value>to set the visibility of array items.
0.6.3
Patch Changes
2cf98d279: Resolve the path to app-config.yaml from the current working directory. This will allow use ofyarn linkor running the CLI in other directories and improve the experience for local backstage development.438a512eb: Fixed configuration schema parsing when using TypeScript4.3.
0.6.2
Patch Changes
290405276: Updated dependencies
0.6.1
Patch Changes
d8b81fd28: Bumpjson-schemadependency from0.2.5to0.3.0.- Updated dependencies [
d8b81fd28]- @backstage/config@0.1.5
0.6.0
Minor Changes
-
82c66b8cd: Fix bug where${...}was not being escaped to${...}Add support for environment variable substitution in
$include,$fileand$envtransform values.- This change allows for including dynamic paths, such as environment specific
secrets by using the same environment variable substitution (
${..}) already supported outside of the various include transforms. - If you are currently using the syntax
${...}in your include transform values, you will need to escape the substitution by using${...}instead to maintain the same behavior.
- This change allows for including dynamic paths, such as environment specific
secrets by using the same environment variable substitution (
0.5.1
Patch Changes
062df71db: Bumpconfig-loadertoajv7, to enable v7 feature use elsewheree9aab60c7: Each piece of the configuration schema is now validated upfront, in order to produce more informative errors.
0.5.0
Minor Changes
ef7957be4: Removed support for the deprecated$dataplaceholder.ef7957be4: Enable further processing of configuration files included using the$includeplaceholder. Meaning that for example for example$envincludes will be processed as usual in included files.
Patch Changes
-
ef7957be4: Added support for environment variable substitutions in string configuration values using a${VAR}placeholder. All environment variables must be available, or the entire expression will be evaluated toundefined. To escape a substitution, use${...}, which will end up as${...}.For example:
app: baseUrl: https://${BASE_HOST}
0.4.1
Patch Changes
-
ad5c56fd9: Deprecate$dataand replace it with$includewhich allows for any type of json value to be read from external files. In addition,$includecan be used without a path, which causes the value at the root of the file to be loaded.Most usages of
$datacan be directly replaced with$include, except if the referenced value is not a string, in which case the value needs to be changed. For example:# app-config.yaml foo: $data: foo.yaml#myValue # replacing with $include will turn the value into a number $data: bar.yaml#myValue # replacing with $include is safe # foo.yaml myValue: 0xf00 # bar.yaml myValue: bar
0.4.0
Minor Changes
-
4e7091759: Fix typo of "visibility" in config schema referenceIf you have defined a config element named
visiblity, you will need to fix the spelling tovisibility. For more info, see https://backstage.io/docs/conf/defining#visibility.
Patch Changes
b4488ddb0: Added a type alias for PositionError = GeolocationPositionError
0.3.0
Minor Changes
-
1722cb53c: Added support for loading and validating configuration schemas, as well as declaring config visibility through schemas.The new
loadConfigSchemafunction exported by@backstage/config-loaderallows for the collection and merging of configuration schemas from all nearby dependencies of the project.A configuration schema is declared using the
https://backstage.io/schema/config-v1JSON Schema meta schema, which is based on draft07. The only difference to the draft07 schema is the customvisibilitykeyword, which is used to indicate whether the given config value should be visible in the frontend or not. The possible values arefrontend,backend, andsecret, wherebackendis the default. A visibility ofsecrethas the same scope at runtime, but it will be treated with more care in certain contexts, and defining bothfrontendandsecretfor the same value in two different schemas will result in an error during schema merging.Packages that wish to contribute configuration schema should declare it in a root
"configSchema"field inpackage.json. The field can either contain an inlined JSON schema, or a relative path to a schema file. Schema files can be in either.jsonor.d.tsformat.TypeScript configuration schema files should export a single
Configtype, for example:export interface Config { app: { /** * Frontend root URL * @visibility frontend */ baseUrl: string; }; }
0.2.0
Minor Changes
-
8c2b76e45: BREAKING CHANGEThe existing loading of additional config files like
app-config.development.yamlusing APP_ENV or NODE_ENV has been removed. Instead, the CLI and backend process now accept one or more--configflags to load config files.Without passing any flags,
app-config.yamland, if it exists,app-config.local.yamlwill be loaded. If passing any--config <path>flags, only those files will be loaded, NOT the defaultapp-config.yamlone.The old behaviour of for example
APP_ENV=developmentcan be replicated using the following flags:--config ../../app-config.yaml --config ../../app-config.development.yaml -
ce5512bc0: Added support for new shorthand when defining secrets, where$env: ENVcan be used instead of$secret: { env: ENV }etc.