Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new composition level: "fork" #528

Merged
merged 6 commits into from
Feb 28, 2022
Merged

Add new composition level: "fork" #528

merged 6 commits into from
Feb 28, 2022

Conversation

tidoust
Copy link
Member

@tidoust tidoust commented Feb 24, 2022

This new composition level is meant for specs that are created as temporary forks of base specifications. First (and only so far) spec in that category is the "WebAssembly JavaScript Interface: Exception Handling" specification, as described in #508.

This will require a major version bump as this changes the semantics of the seriesComposition property.

(I'll work on an update to Reffy to handle fork specs)

This new composition level is meant for specs that are created as temporary
forks of base specifications. First (and only so far) spec in that category is
the "WebAssembly JavaScript Interface: Exception Handling" specification, as
described in #508.

This will require a major version bump as this changes the semantics of the
`seriesComposition` property.
specs.json Outdated Show resolved Hide resolved
Take 2 on handling temporary forks of base specifications, as described in #508.
In the final list, forks will be identified both because they will have a
`seriesComposition` property set to `"fork"`, and because they will have a
`forkOf` property that contains the shortname of the spec that they are a fork
of.

The shortname of forks will always be something like
`[base shortname]-fork-[shortname]` (no longer such a short name, isn't it?)

Specifications that have forks will now also have a `forks` property that lists
the shortnames of the forks.

Forks no longer take part in `seriesPrevious`, `seriesNext` links.
@tidoust
Copy link
Member Author

tidoust commented Feb 25, 2022

I updated the pull request to link fork and base specs through forkOf and forks properties. CSS server is currently down so I couldn't test an entire rebuild of the index but what could possibly go wrong? 😼

Copy link
Member

@dontcallmedom dontcallmedom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a couple of minor suggestions, but otherwise looks great!

CONTRIBUTING.md Show resolved Hide resolved
src/compute-shortname.js Show resolved Hide resolved
Integrate feedback and make sure that:
1. linter actually rejects entries that have both a `forkOf` and a
`seriesComposition` property.
2. tests reject inputs with inconsistent `forkOf` and `seriesComposition`
properties.

Also fixes the `fork` reduction that is no longer valid (fork specs must specify
their base spec so cannot be specified with just a URL that ends with ` fork`).
A key constraint was missing from the filtering logic...
@dontcallmedom dontcallmedom merged commit f1f56df into main Feb 28, 2022
@dontcallmedom dontcallmedom deleted the composition-fork branch February 28, 2022 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants