From 2f8ae6d9a42ea29dd8498f6585b11304cad41d44 Mon Sep 17 00:00:00 2001 From: "Daniel D. Beck" Date: Fri, 21 Feb 2025 14:44:14 +0100 Subject: [PATCH 1/2] Allow discouraged features to use `compute_from` This was a bug in a somewhat complex set of conditionals. This also removes the warnings about deprecated keys, since we allow them in certain settings. Helps along https://github.com/web-platform-dx/web-features/pull/2643 --- scripts/dist.ts | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/scripts/dist.ts b/scripts/dist.ts index 8e96da7c09f..f2ba310c942 100644 --- a/scripts/dist.ts +++ b/scripts/dist.ts @@ -233,17 +233,13 @@ function toDist(sourcePath: string): YAML.Document { checkAncestors: true, }); - if (computedStatus.discouraged && !source.discouraged) { - if (!source.draft_date) { - logger.error( - `${id}: contains at least one deprecated compat feature. This is forbidden for published features.`, - ); - exitStatus = 1; - } else { - logger.warn( - `${id}: draft contains at least one deprecated compat feature. Was this intentional?`, - ); - } + const deprecatedKeysAllowed = source.draft_date || source.discouraged; + + if (computedStatus.discouraged && !deprecatedKeysAllowed) { + logger.error( + `${id}: contains at least one deprecated compat feature. This is forbidden for non-discouraged published features.`, + ); + exitStatus = 1; } computedStatus = JSON.parse(computedStatus.toJSON()); @@ -283,17 +279,11 @@ function toDist(sourcePath: string): YAML.Document { for (const key of compatFeatures) { const f = feature(key); - if (f.deprecated) { - if (!source.draft_date) { - logger.error( - `${id}: contains contains deprecated compat feature ${f.id}. This is forbidden for published features.`, - ); - exitStatus = 1; - } else { - logger.warn( - `${id}: draft contains deprecated compat feature ${f.id}. Was this intentional?`, - ); - } + if (f.deprecated && !deprecatedKeysAllowed) { + logger.error( + `${id}: contains contains deprecated compat feature ${f.id}. This is forbidden for non-discouraged published features. [2]`, + ); + exitStatus = 1; } } } From d0b70095827b0e1223801d0fd66a25e901b95b80 Mon Sep 17 00:00:00 2001 From: "Daniel D. Beck" Date: Fri, 21 Feb 2025 18:47:23 +0100 Subject: [PATCH 2/2] Remove spurious debugging text --- scripts/dist.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/dist.ts b/scripts/dist.ts index f2ba310c942..1533ceeaa62 100644 --- a/scripts/dist.ts +++ b/scripts/dist.ts @@ -281,7 +281,7 @@ function toDist(sourcePath: string): YAML.Document { const f = feature(key); if (f.deprecated && !deprecatedKeysAllowed) { logger.error( - `${id}: contains contains deprecated compat feature ${f.id}. This is forbidden for non-discouraged published features. [2]`, + `${id}: contains contains deprecated compat feature ${f.id}. This is forbidden for non-discouraged published features.`, ); exitStatus = 1; }