From d40eddac9d2515cf84e5eb03c3c08f114a1f8b45 Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Sun, 29 Nov 2020 00:22:10 -0500 Subject: [PATCH 1/3] Refactor visibility typo --- packages/cli/src/commands/config/print.ts | 12 ++++++------ packages/cli/src/lib/config.ts | 2 +- .../config-loader/src/lib/schema/compile.test.ts | 2 +- .../config-loader/src/lib/schema/filtering.test.ts | 4 ++-- packages/config-loader/src/lib/schema/load.test.ts | 6 +++--- packages/config-loader/src/lib/schema/load.ts | 6 +++--- packages/config-loader/src/lib/schema/types.ts | 2 +- plugins/app-backend/src/lib/config.ts | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/cli/src/commands/config/print.ts b/packages/cli/src/commands/config/print.ts index 8148bfc9f8..8be88adce7 100644 --- a/packages/cli/src/commands/config/print.ts +++ b/packages/cli/src/commands/config/print.ts @@ -25,7 +25,7 @@ export default async (cmd: Command) => { args: cmd.config, fromPackage: cmd.package, }); - const visibility = getVisiblityOption(cmd); + const visibility = getVisibilityOption(cmd); const data = serializeConfigData(appConfigs, schema, visibility); if (cmd.format === 'json') { @@ -35,7 +35,7 @@ export default async (cmd: Command) => { } }; -function getVisiblityOption(cmd: Command): ConfigVisibility { +function getVisibilityOption(cmd: Command): ConfigVisibility { if (cmd.frontend && cmd.withSecrets) { throw new Error('Not allowed to combine frontend and secret config'); } @@ -50,14 +50,14 @@ function getVisiblityOption(cmd: Command): ConfigVisibility { function serializeConfigData( appConfigs: AppConfig[], schema: ConfigSchema, - visiblity: ConfigVisibility, + visibility: ConfigVisibility, ) { - if (visiblity === 'frontend') { + if (visibility === 'frontend') { const frontendConfigs = schema.process(appConfigs, { - visiblity: ['frontend'], + visibility: ['frontend'], }); return ConfigReader.fromConfigs(frontendConfigs).get(); - } else if (visiblity === 'secret') { + } else if (visibility === 'secret') { return ConfigReader.fromConfigs(appConfigs).get(); } diff --git a/packages/cli/src/lib/config.ts b/packages/cli/src/lib/config.ts index f6cc9c4269..88aac1e33c 100644 --- a/packages/cli/src/lib/config.ts +++ b/packages/cli/src/lib/config.ts @@ -51,7 +51,7 @@ export async function loadCliConfig(options: Options) { try { const frontendAppConfigs = schema.process(appConfigs, { - visiblity: ['frontend'], + visibility: ['frontend'], }); const frontendConfig = ConfigReader.fromConfigs(frontendAppConfigs); diff --git a/packages/config-loader/src/lib/schema/compile.test.ts b/packages/config-loader/src/lib/schema/compile.test.ts index 91e7aa687e..f03d7e6d10 100644 --- a/packages/config-loader/src/lib/schema/compile.test.ts +++ b/packages/config-loader/src/lib/schema/compile.test.ts @@ -89,7 +89,7 @@ describe('compileConfigSchemas', () => { }); }); - it('should reject visiblity conflicts', () => { + it('should reject visibility conflicts', () => { expect(() => compileConfigSchemas([ { diff --git a/packages/config-loader/src/lib/schema/filtering.test.ts b/packages/config-loader/src/lib/schema/filtering.test.ts index bfad2ca95a..f6926e3560 100644 --- a/packages/config-loader/src/lib/schema/filtering.test.ts +++ b/packages/config-loader/src/lib/schema/filtering.test.ts @@ -38,7 +38,7 @@ const data = { objS: { never: 'here' }, }; -const visiblity = new Map( +const visibility = new Map( Object.entries({ '.arr.0': 'frontend', '.arr.1': 'backend', @@ -100,6 +100,6 @@ describe('filterByVisibility', () => { ], [['frontend', 'backend', 'secret'], data], ])('should filter correctly with %p', (filter, expected) => { - expect(filterByVisibility(data, filter, visiblity)).toEqual(expected); + expect(filterByVisibility(data, filter, visibility)).toEqual(expected); }); }); diff --git a/packages/config-loader/src/lib/schema/load.test.ts b/packages/config-loader/src/lib/schema/load.test.ts index a13f36be20..baf63525bb 100644 --- a/packages/config-loader/src/lib/schema/load.test.ts +++ b/packages/config-loader/src/lib/schema/load.test.ts @@ -61,12 +61,12 @@ describe('loadConfigSchema', () => { const configs = [{ data: { key1: 'a', key2: 2 }, context: 'test' }]; expect(schema.process(configs)).toEqual(configs); - expect(schema.process(configs, { visiblity: ['frontend'] })).toEqual([ + expect(schema.process(configs, { visibility: ['frontend'] })).toEqual([ { data: { key1: 'a' }, context: 'test' }, ]); expect( schema.process(configs, { - visiblity: ['frontend'], + visibility: ['frontend'], valueTransform: () => 'X', }), ).toEqual([{ data: { key1: 'X' }, context: 'test' }]); @@ -79,7 +79,7 @@ describe('loadConfigSchema', () => { const serialized = schema.serialize(); const schema2 = await loadConfigSchema({ serialized }); - expect(schema2.process(configs, { visiblity: ['frontend'] })).toEqual([ + expect(schema2.process(configs, { visibility: ['frontend'] })).toEqual([ { data: { key1: 'a' }, context: 'test' }, ]); expect(() => diff --git a/packages/config-loader/src/lib/schema/load.ts b/packages/config-loader/src/lib/schema/load.ts index 01a9499983..67b9762f51 100644 --- a/packages/config-loader/src/lib/schema/load.ts +++ b/packages/config-loader/src/lib/schema/load.ts @@ -57,7 +57,7 @@ export async function loadConfigSchema( return { process( configs: AppConfig[], - { visiblity, valueTransform } = {}, + { visibility, valueTransform } = {}, ): AppConfig[] { const result = validate(configs); if (result.errors) { @@ -70,12 +70,12 @@ export async function loadConfigSchema( let processedConfigs = configs; - if (visiblity) { + if (visibility) { processedConfigs = processedConfigs.map(({ data, context }) => ({ context, data: filterByVisibility( data, - visiblity, + visibility, result.visibilityByPath, valueTransform, ), diff --git a/packages/config-loader/src/lib/schema/types.ts b/packages/config-loader/src/lib/schema/types.ts index 7705242b31..db3d964aa0 100644 --- a/packages/config-loader/src/lib/schema/types.ts +++ b/packages/config-loader/src/lib/schema/types.ts @@ -87,7 +87,7 @@ type ConfigProcessingOptions = { * The visibilities that should be included in the output data. * If omitted, the data will not be filtered by visibility. */ - visiblity?: ConfigVisibility[]; + visibility?: ConfigVisibility[]; /** * A transform function that can be used to transform primitive configuration values diff --git a/plugins/app-backend/src/lib/config.ts b/plugins/app-backend/src/lib/config.ts index f076967280..99590c1e2d 100644 --- a/plugins/app-backend/src/lib/config.ts +++ b/plugins/app-backend/src/lib/config.ts @@ -88,7 +88,7 @@ export async function readConfigs(options: ReadOptions): Promise { const frontendConfigs = await schema.process( [{ data: config.get() as JsonObject, context: 'app' }], - { visiblity: ['frontend'] }, + { visibility: ['frontend'] }, ); appConfigs.push(...frontendConfigs); } From 4e70917597a65e86742b93372868f1f46f4d30b3 Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Sun, 29 Nov 2020 00:28:48 -0500 Subject: [PATCH 2/3] Reference changeset --- .changeset/grumpy-crews-build.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/grumpy-crews-build.md diff --git a/.changeset/grumpy-crews-build.md b/.changeset/grumpy-crews-build.md new file mode 100644 index 0000000000..2b7eece4e7 --- /dev/null +++ b/.changeset/grumpy-crews-build.md @@ -0,0 +1,7 @@ +--- +'example-app': patch +'@backstage/cli': patch +'@backstage/config-loader': patch +--- + +Fix typo of "visibility" in multiple references From 3233b9f99c29261b26bea0b074e593ef6f998554 Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Sun, 29 Nov 2020 15:37:23 -0500 Subject: [PATCH 3/3] Update changeset for minor bump --- .changeset/grumpy-crews-build.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.changeset/grumpy-crews-build.md b/.changeset/grumpy-crews-build.md index 2b7eece4e7..502210c257 100644 --- a/.changeset/grumpy-crews-build.md +++ b/.changeset/grumpy-crews-build.md @@ -1,7 +1,9 @@ --- -'example-app': patch -'@backstage/cli': patch -'@backstage/config-loader': patch +'@backstage/config-loader': minor --- -Fix typo of "visibility" in multiple references +Fix typo of "visibility" in config schema reference + +If you have defined a config element named `visiblity`, you +will need to fix the spelling to `visibility`. For more info, +see https://backstage.io/docs/conf/defining#visibility.