Skip to content

Commit

Permalink
deploy: 5bfeb1e
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Sep 20, 2024
0 parents commit 6239d0a
Show file tree
Hide file tree
Showing 7 changed files with 5,217 additions and 0 deletions.
Empty file added .gitkeep
Empty file.
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.min.json
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# tc39 dataset

## WARNING

The current data structure is unstable.

## File definition

- Structured [tc39/proposals](https://github.com/tc39/proposals)
<br><https://tc39.es/dataset/proposals.json>
<br><https://tc39.es/dataset/proposals.min.json> (Production)

- JSON Schema
<br><https://tc39.es/dataset/schema/bundle.json>
<br><https://tc39.es/dataset/schema/individual.json>
4,853 changes: 4,853 additions & 0 deletions proposals.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions proposals.min.json

Large diffs are not rendered by default.

185 changes: 185 additions & 0 deletions schema/bundle.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://tc39.es/dataset/schema/bundle.json",
"title": "Bundle Proposals",
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"pushed_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://tc39.es/dataset/schema/individual.json",
"title": "Individual Proposal",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"const": "https://tc39.es/dataset/schema/individual.json"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"enum": ["ECMA-262", "ECMA-402", "inactive", "withdrawn", "archived"]
},
"minItems": 1,
"uniqueItems": true,
"description": "The tags of proposal"
},
"stage": {
"type": "number",
"minimum": 0,
"maximum": 4,
"description": "The stage number of proposal"
},
"id": {
"type": "string",
"description": "The codename of proposal",
"pattern": "^proposal-"
},
"name": {
"type": "string",
"description": "The display name of proposal"
},
"description": {
"type": "string",
"description": "The description of proposal"
},
"authors": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "List of Authour"
},
"champions": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "List of Champion"
},
"notes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"url": {
"type": "string",
"format": "uri",
"pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/notes"
}
},
"additionalProperties": false,
"required": ["date", "url"]
},
"minItems": 1,
"description": "List of tc39 notes"
},
"tests": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/test262\\/(pull|issues)\\/\\d+$"
},
"minItems": 1,
"description": "List of tc39 tests"
},
"has-specification": {
"type": "boolean",
"description": "Has specification (spec.emu available)"
},
"snippets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"file-path": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["name", "file-path"]
},
"minItems": 1,
"description": "Provide example code of tc39.es show code"
},
"polyfills": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"minItems": 1,
"description": "List of polyfill urls"
},
"implementations": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Babel",
"ChakraCore",
"Chrome",
"Edge",
"Engine262",
"Firefox",
"GraalJS",
"Hermes",
"JavaScriptCore",
"Nashorn",
"Node",
"QuickJS",
"Safari",
"SpiderMonkey",
"TypeScript",
"v8"
]
},
"minItems": 1,
"uniqueItems": true,
"additionalItems": false,
"description": "List of implementations"
},
"rationale": {
"type": "string",
"description": "inactive proposal rationale (inactive only)"
},
"edition": {
"type": "number",
"minimum": 2015,
"maximum": 2999,
"description": "available edition of ECMAScript (stage 4 only)"
}
},
"additionalProperties": false,
"required": ["tags", "name", "stage", "authors", "champions"]
}
]
}
}
162 changes: 162 additions & 0 deletions schema/individual.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://tc39.es/dataset/schema/individual.json",
"title": "Individual Proposal",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"const": "https://tc39.es/dataset/schema/individual.json"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"enum": ["ECMA-262", "ECMA-402", "inactive", "withdrawn", "archived"]
},
"minItems": 1,
"uniqueItems": true,
"description": "The tags of proposal"
},
"stage": {
"type": "number",
"minimum": 0,
"maximum": 4,
"description": "The stage number of proposal"
},
"id": {
"type": "string",
"description": "The codename of proposal",
"pattern": "^proposal-"
},
"name": {
"type": "string",
"description": "The display name of proposal"
},
"description": {
"type": "string",
"description": "The description of proposal"
},
"authors": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "List of Authour"
},
"champions": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "List of Champion"
},
"notes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"url": {
"type": "string",
"format": "uri",
"pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/notes"
}
},
"additionalProperties": false,
"required": ["date", "url"]
},
"minItems": 1,
"description": "List of tc39 notes"
},
"tests": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/test262\\/(pull|issues)\\/\\d+$"
},
"minItems": 1,
"description": "List of tc39 tests"
},
"has-specification": {
"type": "boolean",
"description": "Has specification (spec.emu available)"
},
"snippets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"file-path": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["name", "file-path"]
},
"minItems": 1,
"description": "Provide example code of tc39.es show code"
},
"polyfills": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"minItems": 1,
"description": "List of polyfill urls"
},
"implementations": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Babel",
"ChakraCore",
"Chrome",
"Edge",
"Engine262",
"Firefox",
"GraalJS",
"Hermes",
"JavaScriptCore",
"Nashorn",
"Node",
"QuickJS",
"Safari",
"SpiderMonkey",
"TypeScript",
"v8"
]
},
"minItems": 1,
"uniqueItems": true,
"additionalItems": false,
"description": "List of implementations"
},
"rationale": {
"type": "string",
"description": "inactive proposal rationale (inactive only)"
},
"edition": {
"type": "number",
"minimum": 2015,
"maximum": 2999,
"description": "available edition of ECMAScript (stage 4 only)"
}
},
"additionalProperties": false,
"required": ["tags", "name", "stage", "authors", "champions"]
}

0 comments on commit 6239d0a

Please sign in to comment.