From 3cdaca1d181c2f2668a7a9d9ff0d6b184cb8cb1b Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Wed, 19 Oct 2022 14:06:30 -0600 Subject: [PATCH 01/15] init commit From dec351c88380dfeeddee5ae59ee89820940fd0af Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Tue, 4 Oct 2022 16:39:30 +0100 Subject: [PATCH 02/15] init commit of draft --- .gitignore | 1 + index.bs | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 .gitignore create mode 100644 index.bs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..64233a9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +index.html \ No newline at end of file diff --git a/index.bs b/index.bs new file mode 100644 index 0000000..ef052f6 --- /dev/null +++ b/index.bs @@ -0,0 +1,106 @@ + + + +Introduction {#intro} +===================== + +This proposal defines a list of keys that represent various runtime environments. These keys can be used in a variety of ways, and should be considered a reliable representation of the given runtime. For example, they may be used in a project configuration file to indicate the given project supports the specified runtime. + +Keys {#keys} +============ + +## Node.js ## {#node} + +Node.js is an open-source, cross-platform JavaScript runtime environment. + +Key: `node` + +Website: [https://nodejs.org](https://nodejs.org) + +Repository: [https://github.com/nodejs/node](https://github.com/nodejs/node) + +## Deno ## {#deno} + +A modern runtime for JavaScript and TypeScript. + +Key: `deno` + +Website: [https://deno.com](https://deno.com) + +Repository: [https://github.com/denoland/deno](https://github.com/denoland/deno) + +## Vercel Edge Runtime ## {#edge} + +Developing, testing, and defining the runtime Web APIs for Edge infrastructure. + +Key: `edge` + +Website: [https://edge-runtime.vercel.app/](https://edge-runtime.vercel.app/) + +Repository: [https://github.com/vercel/edge-runtime](https://github.com/vercel/edge-runtime) + +## Cloudlfare Workerd ## {#workerd} + +The JavaScript / Wasm runtime that powers Cloudflare Workers + +Key: `workerd` + +Website: [https://workers.cloudflare.com/](https://workers.cloudflare.com/) + +Repository: [https://github.com/cloudflare/workerd](https://github.com/cloudflare/workerd) + +## Oven.sh Bun ## {#bun} + +Incredibly fast JavaScript runtime, bundler, transpiler and package manager - all in one. + +Key: `bun` + +Website: [https://bun.sh/](https://bun.sh/) + +Repository: [https://github.com/oven-sh/bun](https://github.com/oven-sh/bun) + + + +Key Management {#key-management} +================================ + +## Adding a key ## {#adding-a-key} + +The process for adding a key to this list is: + +1. + +## Modifying a key ## {#modifying-a-key} + +The process for modifying a key to this list is: + +1. + +## Remove a key ## {#remove-a-key} + +The process for removing a key to this list is: + +1. \ No newline at end of file From 853affbada0918348e027d6f0b45a3d8440a07f3 Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Wed, 19 Oct 2022 14:01:25 -0600 Subject: [PATCH 03/15] complete draft --- .gitignore | 3 +- index.bs | 94 +++++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 70 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index 64233a9..2901159 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -index.html \ No newline at end of file +index.html +.vercel diff --git a/index.bs b/index.bs index ef052f6..e62cdb6 100644 --- a/index.bs +++ b/index.bs @@ -18,22 +18,22 @@ spec:html; type:attribute; for:Window; text:self Introduction {#intro} ===================== -This proposal defines a list of keys that represent various runtime environments. These keys can be used in a variety of ways, and should be considered a reliable representation of the given runtime. For example, they may be used in a project configuration file to indicate the given project supports the specified runtime. +This proposal defines a list of keys that represent various runtime environments. These keys can be used in a variety of ways, and should be considered a reliable representation of the given runtime. For example, they may be used in a project configuration file to indicate the given project supports the specified runtime. This specification does not detail how the keys can be used; that is left up to community developed tools. The point of this proposal is too only define what the keys are in order to prevent conflicts and give users a reliable list of platforms they can build tooling around. Keys {#keys} ============ -## Node.js ## {#node} +## Cloudlfare - workerd ## {#workerd} -Node.js is an open-source, cross-platform JavaScript runtime environment. +The JavaScript / Wasm runtime that powers Cloudflare Workers. -Key: `node` +Key: `workerd` -Website: [https://nodejs.org](https://nodejs.org) +Website: [https://workers.cloudflare.com/](https://workers.cloudflare.com/) -Repository: [https://github.com/nodejs/node](https://github.com/nodejs/node) +Repository: [https://github.com/cloudflare/workerd](https://github.com/cloudflare/workerd) -## Deno ## {#deno} +## Deno Land - Deno ## {#deno} A modern runtime for JavaScript and TypeScript. @@ -43,27 +43,37 @@ Website: [https://deno.com](https://deno.com) Repository: [https://github.com/denoland/deno](https://github.com/denoland/deno) -## Vercel Edge Runtime ## {#edge} +## Meta - React Native ## {#react-native} -Developing, testing, and defining the runtime Web APIs for Edge infrastructure. +Create native apps for Android and iOS using React. -Key: `edge` +Key: `react-native` -Website: [https://edge-runtime.vercel.app/](https://edge-runtime.vercel.app/) +Website: [https://reactnative.dev/](https://reactnative.dev/) -Repository: [https://github.com/vercel/edge-runtime](https://github.com/vercel/edge-runtime) +Repository: [https://github.com/facebook/react-native](https://github.com/facebook/react-native) -## Cloudlfare Workerd ## {#workerd} +## OpenJS Foundation - Electron ## {#electron} -The JavaScript / Wasm runtime that powers Cloudflare Workers +Build cross-platform desktop apps with JavaScript, HTML, and CSS. -Key: `workerd` +Key: `electron` -Website: [https://workers.cloudflare.com/](https://workers.cloudflare.com/) +Website: [https://www.electronjs.org/](https://www.electronjs.org/) -Repository: [https://github.com/cloudflare/workerd](https://github.com/cloudflare/workerd) +Repository: [https://github.com/electron/electron](https://github.com/electron/electron) + +## OpenJS Foundation - Node.js ## {#node} + +Node.js is an open-source, cross-platform JavaScript runtime environment. + +Key: `node` + +Website: [https://nodejs.org](https://nodejs.org) + +Repository: [https://github.com/nodejs/node](https://github.com/nodejs/node) -## Oven.sh Bun ## {#bun} +## Oven - Bun ## {#bun} Incredibly fast JavaScript runtime, bundler, transpiler and package manager - all in one. @@ -73,15 +83,26 @@ Website: [https://bun.sh/](https://bun.sh/) Repository: [https://github.com/oven-sh/bun](https://github.com/oven-sh/bun) +## Vercel - Edge Runtime ## {#edge} + +Developing, testing, and defining the runtime Web APIs for Edge infrastructure. + +Key: `edge` + +Website: [https://edge-runtime.vercel.app/](https://edge-runtime.vercel.app/) + +Repository: [https://github.com/vercel/edge-runtime](https://github.com/vercel/edge-runtime) + Key Management {#key-management} @@ -89,18 +110,39 @@ Key Management {#key-management} ## Adding a key ## {#adding-a-key} -The process for adding a key to this list is: +All JavaScript runtimes are welcome to create a key and add it to this list. New keys must not conflict with another existing key. Runtime entries on this list are encouraged, but not required, to participate in the community group. + +To propose a new key, create a pull request in [proposal-runtime-keys](https://github.com/wintercg/proposal-runtime-keys) repository that adds the desired key to the `index.bs` file using the following format: + +```md +## - ## {#} + + + +Key: \`\` + +Website: []() + +Repository: []() +``` + +The key should be inserted in alphabetical order based on the first character of the Runtime Organization + +Keys should meaningfully represent the relative runtime and be a simple, string-like value so it can be used in common configuration formats such as JSON and YAML. -1. +Entry pull requests must be approved by at least two active members of the community group that are not directly affiliated with the proposed runtime. ## Modifying a key ## {#modifying-a-key} -The process for modifying a key to this list is: +Modifying an entry requires opening a pull request and recieving two approvals from active community group members not affiliated with the relative runtime project. -1. +Modifications can be made to aspects such as the Organization, Name, Description, Website, and Repository. Aside from extraordinary circumstances, to prevent breaking tools built around this list, Keys are not modifiable. Keys may be deprecated to indicate inactive runtime projects. -## Remove a key ## {#remove-a-key} +Deprecated Keys may be undeprecated and claimed by another runtime. -The process for removing a key to this list is: +To deprecate or undeprecate a key, open a pull request adding or removing `[Deprecated]` from the Name: -1. \ No newline at end of file +```diff ++ ## [Deprecated] - ## {#} +- ## - ## {#} +``` \ No newline at end of file From 62b8786c1d3a0a3ce79b8bf32461c853dfbb064f Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Wed, 19 Oct 2022 14:14:06 -0600 Subject: [PATCH 04/15] adjust repo name and link --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index e62cdb6..0674426 100644 --- a/index.bs +++ b/index.bs @@ -112,7 +112,7 @@ Key Management {#key-management} All JavaScript runtimes are welcome to create a key and add it to this list. New keys must not conflict with another existing key. Runtime entries on this list are encouraged, but not required, to participate in the community group. -To propose a new key, create a pull request in [proposal-runtime-keys](https://github.com/wintercg/proposal-runtime-keys) repository that adds the desired key to the `index.bs` file using the following format: +To propose a new key, create a pull request in [runtime-keys](https://github.com/wintercg/runtime-keys) repository that adds the desired key to the `index.bs` file using the following format: ```md ## - ## {#} From 797ad8db1fe809f2c8ccff43f22f08e2e782b934 Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Wed, 19 Oct 2022 16:29:42 -0600 Subject: [PATCH 05/15] stub out Netlify section --- index.bs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/index.bs b/index.bs index 0674426..5b15e20 100644 --- a/index.bs +++ b/index.bs @@ -53,6 +53,16 @@ Website: [https://reactnative.dev/](https://reactnative.dev/) Repository: [https://github.com/facebook/react-native](https://github.com/facebook/react-native) +## Netlify - Edge Functions ## {#} + +Edge Functions connect the Netlify platform and workflow with an open runtime standard at the network edge. + +Key: `TODO: ` + +Website: [https://docs.netlify.com/edge-functions/overview/](https://docs.netlify.com/edge-functions/overview/) + +Repository: [https://github.com/netlify/edge-functions](https://github.com/netlify/edge-functions) + ## OpenJS Foundation - Electron ## {#electron} Build cross-platform desktop apps with JavaScript, HTML, and CSS. From 748009b09305cd51089a7d49e7ef424782909642 Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Wed, 19 Oct 2022 16:34:06 -0600 Subject: [PATCH 06/15] Update index.bs Co-authored-by: Jordan Harband --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 5b15e20..3bc8285 100644 --- a/index.bs +++ b/index.bs @@ -23,7 +23,7 @@ This proposal defines a list of keys that represent various runtime environments Keys {#keys} ============ -## Cloudlfare - workerd ## {#workerd} +## Cloudflare - workerd ## {#workerd} The JavaScript / Wasm runtime that powers Cloudflare Workers. From 6b0dbd3a5fffbc1e0dbd488218cdbe7e76f93398 Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Thu, 20 Oct 2022 09:39:47 -0600 Subject: [PATCH 07/15] Update index.bs Co-authored-by: Jean Burellier --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 3bc8285..3b06162 100644 --- a/index.bs +++ b/index.bs @@ -25,7 +25,7 @@ Keys {#keys} ## Cloudflare - workerd ## {#workerd} -The JavaScript / Wasm runtime that powers Cloudflare Workers. +The JavaScript / WebAssembly runtime that powers Cloudflare Workers. Key: `workerd` From 807c45710fc0377fffcadddfeaa4b2393771c413 Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Thu, 20 Oct 2022 10:00:28 -0600 Subject: [PATCH 08/15] add browserlist line --- index.bs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/index.bs b/index.bs index 3b06162..ac4c13e 100644 --- a/index.bs +++ b/index.bs @@ -103,7 +103,7 @@ Website: [https://edge-runtime.vercel.app/](https://edge-runtime.vercel.app/) Repository: [https://github.com/vercel/edge-runtime](https://github.com/vercel/edge-runtime) -