Skip to content

Latest commit

 

History

History

process

Folders and files

README.md

@tc39/data-process Version Badge

github actions coverage License Downloads

npm badge

TC39 process data, public source of truth.

The package exports an array of the stages of the TC39 process, in ascending order. Each stage has its stage number (as a string, e.g. "2.7"), a status describing what it means for a proposal to be at that stage, its entranceCriteria, and its purpose. The latter two are plain text that may contain a newline-separated Markdown bullet list.

Example

import stages from '@tc39/data-process' with { type: 'json' };

stages.map((stage) => stage.stage); // ['0', '1', '2', '2.7', '3', '4']
const stages = require('@tc39/data-process');

The package is a JSON module, so ESM consumers must include the with { type: 'json' } import attribute. TypeScript does not report its absence, but node will throw at runtime without it.

Types

TypeScript declarations are included: the exported value is a Stages tuple with one Stage per stage of the process, in ascending order, so stages[3].stage is known to be "2.7".

import type { Stage, Stages } from '@tc39/data-process';

Schema

schema.json is a JSON Schema (draft 2020-12) describing index.json, and is importable as @tc39/data-process/schema.json. It is the source of truth for the shape of the data: the data is validated against it, and the type declarations are generated from it. It pins each stage to its position, so a missing, duplicated, extra, or out-of-order stage fails validation.