VIP-00 --- General VIP Guidelines
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in RFC 2119 (opens in a new tab).
draft
optional
1. Motivation
The purpose of this VIP is to establish the general guidelines for VIP submissions.
2. Short Description
This VIP will set the groundwork for transparent VIP submission and review processes.
Defining clear guidelines has the inherent benefit of channeling community input in a healthy and ordered manner.
3. Overview
This document is organized as follows: first, we define the concept of VIP Types, and then we set out to define the guidelines for submitting Language and Capability VIPs, finally, we close with a list of current VIPs, and their defined languages and capabilities.
4. VIP Types
This document recognizes two types of VIPs:
- Language VIPs: these VIPs define languages validators may use in a
"validator-language"
tag. - Capability VIPs: these VIPs define capabilities validators may declare in
"validator-language"
tags and use within themselves.
4.1 Language VIPs
Language VIPs MUST define:
- The
{LANGUAGE}
placeholder value to use in a"v-language"
tag. - The expected semantics of the
.content
field of a"v"
-tagged event. - The manner in which the
event
andindex
arguments should be passed to the validator code. - The manner in which the validator's return value should be interpreted (including any exceptional conditions that may arise).
- The functional specification of the validator's execution environment.
- Any additional environmental considerations that should be observed (eg. global locale settings, seeds, etc.).
- Any pre-defined facilities a validator may use.
4.2 Capability VIPs
Capability VIPs MUST define:
- The capability identification string to use.
- The list of facilities enabled by utilizing the capability in question.
- Any dependencies incurred.
5. VIP List
Index of all defined VIPs:
- VIP-01: JavaScript
"v-language"
Tag - VIP-02: JavaScript
Async
Capability - VIP-03: JavaScript
Date
Capability - VIP-04: JavaScript
Streams
Capability - VIP-05: JavaScript
Encoding
Capability - VIP-06: JavaScript
URL
Capability - VIP-07: JavaScript
Crypto
Capability - VIP-08: JavaScript
XMLHttpRequest
Capability - VIP-09: JavaScript
Fetch
Capability
List of defined "v-language"
tags:
Language | VIP |
---|---|
javascript | 01 |
javascript-unsafe-web-worker | 01 |
List of defined capabilities and their associated language:
Capability | Language | VIP |
---|---|---|
Async | javascript | 02 |
Date | javascript | 03 |
Streams | javascript | 04 |
Encoding | javascript | 05 |
URL | javascript | 06 |
Crypto | javascript | 07 |
XMLHttpRequest | javascript | 08 |
Fetch | javascript | 09 |