UNPKG

2.57 kBJavaScriptView Raw
1/**
2 * @fileoverview Globals for ecmaVersion/sourceType
3 * @author Nicholas C. Zakas
4 */
5
6"use strict";
7
8//-----------------------------------------------------------------------------
9// Globals
10//-----------------------------------------------------------------------------
11
12const commonjs = {
13 exports: true,
14 global: false,
15 module: false,
16 require: false
17};
18
19const es3 = {
20 Array: false,
21 Boolean: false,
22 constructor: false,
23 Date: false,
24 decodeURI: false,
25 decodeURIComponent: false,
26 encodeURI: false,
27 encodeURIComponent: false,
28 Error: false,
29 escape: false,
30 eval: false,
31 EvalError: false,
32 Function: false,
33 hasOwnProperty: false,
34 Infinity: false,
35 isFinite: false,
36 isNaN: false,
37 isPrototypeOf: false,
38 Math: false,
39 NaN: false,
40 Number: false,
41 Object: false,
42 parseFloat: false,
43 parseInt: false,
44 propertyIsEnumerable: false,
45 RangeError: false,
46 ReferenceError: false,
47 RegExp: false,
48 String: false,
49 SyntaxError: false,
50 toLocaleString: false,
51 toString: false,
52 TypeError: false,
53 undefined: false,
54 unescape: false,
55 URIError: false,
56 valueOf: false
57};
58
59const es5 = {
60 ...es3,
61 JSON: false
62};
63
64const es2015 = {
65 ...es5,
66 ArrayBuffer: false,
67 DataView: false,
68 Float32Array: false,
69 Float64Array: false,
70 Int16Array: false,
71 Int32Array: false,
72 Int8Array: false,
73 Map: false,
74 Promise: false,
75 Proxy: false,
76 Reflect: false,
77 Set: false,
78 Symbol: false,
79 Uint16Array: false,
80 Uint32Array: false,
81 Uint8Array: false,
82 Uint8ClampedArray: false,
83 WeakMap: false,
84 WeakSet: false
85};
86
87// no new globals in ES2016
88const es2016 = {
89 ...es2015
90};
91
92const es2017 = {
93 ...es2016,
94 Atomics: false,
95 SharedArrayBuffer: false
96};
97
98// no new globals in ES2018
99const es2018 = {
100 ...es2017
101};
102
103// no new globals in ES2019
104const es2019 = {
105 ...es2018
106};
107
108const es2020 = {
109 ...es2019,
110 BigInt: false,
111 BigInt64Array: false,
112 BigUint64Array: false,
113 globalThis: false
114};
115
116const es2021 = {
117 ...es2020,
118 AggregateError: false,
119 FinalizationRegistry: false,
120 WeakRef: false
121};
122
123const es2022 = {
124 ...es2021
125};
126
127
128//-----------------------------------------------------------------------------
129// Exports
130//-----------------------------------------------------------------------------
131
132module.exports = {
133 commonjs,
134 es3,
135 es5,
136 es2015,
137 es2016,
138 es2017,
139 es2018,
140 es2019,
141 es2020,
142 es2021,
143 es2022
144};